OS Xでは、パスワードなしでユーザーを設定することができます。 dscl
で検査すると、パスワードは*
として表示されます。これは、mysql
、pgsql
などのデータベースのユーザーなどのシステムユーザーに使用されます。これの良い点は、これらのユーザーがログイン画面に表示されず、ログインできないことです。 Sudo
などなしで.
いくつかのことを試してそのようなユーザーを削除した後、私はそれを作り直したいと思いましたが、できませんでした。何とか空白のパスワードでユーザーを取得でき、パスワードを*
に設定できました。しかし、ユーザーがログイン画面に表示されたため、上記と同じ効果はありませんでした。
そのようなユーザーをどのように作成しますか?
passwd --delete <username>
adduser
でユーザーを作成した後。この後、パスワードを入力せずにログインできるようになります。
usermod
を使用できます。これにより、!
ではなく*
を使用してパスワードが無効になります。
usermod -L <username>
Usermodのmanページから:
-L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password.
/ dev/nullのホームディレクトリと/ sbin/nologinのシェルを持つ/ etc/passwdのユーザーは、Sudo ingコマンドに使用できますが、実際にはログインできません。
/ etc/passwdから
tcpdump:x:104:441:added by portage for tcpdump:/dev/null:/sbin/nologin
XDMのログイン画面からも消えてしまうことを覚えていますが、XDMはもう使用しないので、それは推測です:-)
dscl
を使用すると
dscl . -passwd /Users/myuser ""
passwd
ファイル内のユーザーのパスワードフィールドを空のままにしても機能します。
Ubuntuを使用している場合は、/ etc/shadowでUbuntuユーザーのパスワードをスワップインできます。次の記事を確認してください。
http://www.psychocats.net/ubuntucat/creating-a-passwordless-account-in-ubuntu/
OSXについては確信が持てませんが、FreeBSDでは次のように使用できます。
pw add user mymuser -g mygroup -s /nonexistent -h -
-
オプションに渡された-h
の値は、pw
にmaster.passwdのパスワードフィールドを*
に設定して、ログインなしのアカウントを作成するように指示します。シェルの設定は必須ではありませんが、/ etc/pw.confからのシェルチェックを回避します。