Linux에서 사용자 홈 디렉터리 얻기
Linux용 C 프로그램을 개발할 때 사용자의 홈 디렉터리 경로에 액세스해야 하는 경우가 많습니다. 그러나 HOME 환경 변수에 의존하는 것은 권장되지 않습니다. getpwuid 및 getuid 함수를 사용하여 홈 디렉토리를 얻는 방법은 다음과 같습니다.
<code class="c++">#include <unistd.h> #include <sys/types.h> #include <pwd.h> struct passwd *pw = getpwuid(getuid()); const char *homedir = pw->pw_dir;</code>
getuid() 함수는 현재 사용자의 ID를 검색하고, getpwuid()는 이 ID를 사용하여 다음을 포함하는 해당 비밀번호 항목을 얻습니다. pw->pw_dir에 저장된 사용자의 홈 디렉토리 경로. 이 접근 방식은 Linux 및 Unix 시스템 모두에 적용됩니다.
루트 홈 디렉터리에 파일/폴더 생성
프로그램이 루트 사용자로 실행되는 경우 파일/폴더 생성을 피하세요. 루트 홈 디렉터리(/root)에 있습니다. 루트 홈 디렉토리를 수정하는 것은 시스템 안정성과 보안에 영향을 미칠 수 있으므로 일반적으로 권장되지 않습니다. 대신 /var/[프로그램 이름] 또는 /opt/[프로그램 이름]과 같이 프로그램 사용을 위해 특별히 생성된 전용 디렉토리를 사용하는 것이 좋습니다.
위 내용은 Linux용 C에서 사용자의 홈 디렉토리에 안정적으로 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!