> 백엔드 개발 > C++ > HOME 환경 변수를 사용하지 않고 Linux/Unix에서 사용자 홈 디렉터리를 검색하는 방법은 무엇입니까?

HOME 환경 변수를 사용하지 않고 Linux/Unix에서 사용자 홈 디렉터리를 검색하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-27 09:20:30
원래의
892명이 탐색했습니다.

How to Retrieve the User Home Directory in Linux/Unix without Using the HOME Environment Variable?

Linux/Unix에서 사용자 홈 디렉터리를 획득하는 방법

Linux 시스템에서 실행되는 C 응용 프로그램의 경우 사용자의 홈 디렉터리를 검색할 필요 없이 검색할 수 있습니다. HOME 환경 변수의 사용. 다음은 이 요구 사항에 맞는 솔루션입니다.

홈 디렉터리를 얻으려면 다음 단계를 따르세요.

  1. 사용자 ID 얻기: getuid 기능을 활용하여 검색합니다. 현재 프로그램을 실행 중인 사용자의 사용자 ID(UID).
  2. 비밀번호 항목 가져오기: getpwuid 함수를 사용하여 검색된 UID와 관련된 비밀번호 항목을 가져옵니다. 이 항목에는 홈 디렉터리 정보가 포함됩니다.

예제 코드:

<code class="cpp">#include <unistd.h> // for getuid
#include <sys/types.h> // for getpwuid
#include <pwd.h> // for getpwuid

struct passwd *pw = getpwuid(getuid());
const char *homedir = pw->pw_dir;</code>
로그인 후 복사

이제 homedir 변수는 사용자의 홈 디렉터리 경로를 저장합니다.

루트 사용자를 위한 참고 사항:

프로그램이 루트 사용자로 실행될 때 /root 디렉터리에 파일이나 폴더를 만드는 것은 일반적으로 안전하지 않은 것으로 간주됩니다. 대신 프로그램 관련 데이터나 로그를 저장하기 위해 /root 내에 특정 디렉터리를 생성하는 것이 좋습니다.

위 내용은 HOME 환경 변수를 사용하지 않고 Linux/Unix에서 사용자 홈 디렉터리를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿