/etc/passwd
본질적으로 사람이 아닌 프로그램에서 사용하기 위한 다수의 "가상" 사용자가 표시됩니다.
그러한 사용자를 어떻게 설정합니까?
나에게 필요한 것은 다른 용도로 사용되지 않고 해당 슈퍼유저로 변경할 수 있는 사용자뿐입니다.
다른 것은 필요하지 않습니다(비밀번호, 홈 디렉터리 등).
답변1
그냥 전화해useradd
원하는 매개변수를 전달하세요. 시스템 사용자를 생성하려면 이 -r
옵션을 전달합니다. 홈 디렉토리가 필요하지 않은 경우 이와 같은 것을 선택 /none
하고 해당 -M
옵션을 전달하십시오. 해당 사용자로 명령을 실행할 수 있으려면 su
해당 사용자에게 유효한 쉘이 있어야 합니다.
useradd -r -d /none -M -U -s /bin/sh
이 파일을 수동으로 수정 하지 않는 것이 좋습니다 passwd
. 문법 오류가 발생하거나 실수로 중요한 내용을 삭제할 수 있습니다. 수정이 필요하시면 passwd
전화주세요vipw
, 동시 수정을 방지합니다.
답변2
평소대로 사용자를 생성하고 비밀번호를 제공하지 마십시오. rm -rf /home/thatuser 디렉토리를 입력한 다음 /etc/passwd를 편집하여 해당 사용자의 셸을 /bin/false로 설정합니다.
/etc/passwd 항목에서 볼 수 있는 다른 시스템 사용자를 모델로 삼을 수 있습니다. /etc/passwd 항목을 이해했는지 확인하고 필요한 경우 Google에 검색해 보세요.
물론, 새 시스템 사용자가 작업을 수행할 수 있는 파일과 폴더도 확인하세요.
답변3
항목을 추가하는 것만으로도 /etc/passwd
작업이 수행되는 것 같습니다.
useradd
사용자 디렉토리 설정과 같은 불필요한 작업을 수행하지 않고 몇 가지 추가 작업을 수행하기 때문에 더 강력하다고 생각합니다 .
(하지만 조금 이상한 점은 strace에서 알 수 있듯이 이렇게 작은 일에는 200밀리초가 걸리고 /etc/passwd를 약 900번 열고 닫는다는 것입니다.)