useradd --prefix 옵션

useradd --prefix 옵션

내가 올바르게 기억한다면 --prefix의 옵션을 사용 useradd하면 내가 선택한 디렉토리에서 etc 파일을 변경할 수 있지만 이상하게도 /.

누가 물어보면 저는 Linux Mint 21.1 mate 64비트 버전을 사용하고 있습니다.

내가 실행한 전체 명령은 다음과 같습니다.

useradd -R /home/user/fakeroot -P  /home/user/Desktop newuser

이것이 내가 얻는 결과입니다

useradd: /home/user/Desktop//etc/passwd.37507: No such file or directory
useradd: cannot lock /home/user/Desktop//etc/passwd; try again later.

과잉 물건을 어떻게 제거할 수 있나요 /?

답변1

엑스트라는 /중요하지 않습니다. 연속된 항목은 /하나로 축소되며 오류 메시지도 없고 문제가 없습니다. 예를 들어:

$ pwd
/home/terdon
$ cd ///////////////etc
$ pwd
/etc
$ cd //////usr/////local//////bin
$ pwd
/usr/local/bin

이제 -P옵션은 adduser다음과 같습니다.

-P, --prefix PREFIX_DIR

PREFIX_DIR 디렉토리 아래의 루트 파일 시스템에 있는 구성 파일에 변경 사항을 적용합니다. 이 옵션은 루트를 변경하지 않으며 크로스 컴파일을 위해 대상을 준비하기 위한 것입니다. 일부 제한 사항: NIS 및 LDAP 사용자/그룹은 인증되지 않습니다. PAM 인증은 호스트 파일을 사용합니다. SELINUX를 지원하지 않습니다.

그러나 -R옵션은 다음과 같습니다.

-R, --root CHROOT_DIR

CHROOT_DIR 디렉터리에 변경 사항을 적용하고 CHROOT_DIR 디렉터리의 구성 파일을 사용합니다. 절대 경로만 지원됩니다.

나는 둘 다 사용하는 데 아무런 의미가 없다고 생각합니다. 기본적으로 서로 다른 방식으로 동일한 작업을 수행합니다. 여기의 세부 사항을 모르고 틀렸을 수도 있지만 출력에 따르면 -P-R옵션 모두 코드에서 동일한 변수를 설정하고 adduser있으며 마지막 옵션이 이전 옵션을 재정의하는 것 같습니다.

아마도 아래에 유효한 chroot 환경이 설정되어 있을 것입니다. /home/user/fakeroot하지만 -P /home/user/Desktop이를 사용하지 않기 때문에 대신 adduser찾고 있는 것입니다 ./home/user/Desktop/etc/home/user/fakeroot/etc

내 생각에는 이 두 가지 옵션 중 하나만 사용하고 둘 다 사용하지 않는 것이 좋습니다. 실제로 달성하려는 것이 무엇인지, 원하는 최종 결과가 무엇인지 설명해 주시면 더 많은 도움을 드릴 수 있습니다.

관련 정보