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