비밀번호 없이 사용자를 생성하는 방법은 무엇입니까?

비밀번호 없이 사용자를 생성하는 방법은 무엇입니까?

OS X에서는 비밀번호가 없는 사용자가 있을 수 있습니다. 이를 확인하면 dscl해당 비밀번호가 로 표시됩니다 *. 이는 다른 데이터베이스의 사용자와 같은 시스템 사용자에게 사용됩니다 mysql. pgsql이것의 장점은 해당 사용자가 로그인 화면에 표시되지 않으며 기다리지 않고는 해당 사용자로 로그인할 수 없다는 것입니다 sudo.

해당 사용자를 삭제한 후 몇 가지를 시도했는데 다시 만들고 싶었지만 그럴 수 없었습니다. 빈 비밀번호를 가진 사용자를 확보하고 비밀번호를 *. 그러나 사용자가 내 로그인 화면에 표시된다는 점에서 위와 동일한 효과는 없습니다.

그러한 사용자를 만드는 방법은 무엇입니까?

답변1

passwd --delete <username>사용자를 생성한 후 이를 실행할 수 있습니다 adduser. 이후에는 비밀번호를 입력하지 않고도 로그인하실 수 있습니다.

답변2

대신 를 사용하여 비밀번호를 비활성화하는 데 사용할 수 있습니다 usermod.!*

usermod -L <username>

usermod의 매뉴얼 페이지에서:

-L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password.

답변3

예를 들어 홈 디렉토리가 /etc/passwd에서 /dev/null이고 쉘이 /sbin/nologin인 사용자는 sudo 명령과 함께 사용할 수 있지만 실제로 로그인할 수는 없습니다.

내 /etc/passwd에서

tcpdump:x:104:441:added by portage for tcpdump:/dev/null:/sbin/nologin

이렇게 하면 XDM 로그인 화면에서도 사라지게 된다는 것을 기억하지만 저는 더 이상 XDM을 사용하지 않으므로 추측입니다. :-)

답변4

OSX에 대해서는 잘 모르겠지만 FreeBSD에서는 다음을 사용할 수 있습니다.

pw add user mymuser -g mygroup -s /nonexistent -h -

--h옵션 에 전달된 값은 pwmaster.passwd의 비밀번호 필드를 로 설정하여 *로그인 없는 계정을 생성하도록 지시합니다. 쉘 설정은 꼭 필요한 것은 아니지만 /etc/pw.conf에서 쉘 검사를 방지합니다.

관련 정보