パスワードのないユーザーを作成するにはどうすればいいですか?

パスワードのないユーザーを作成するにはどうすればいいですか?

OS X では、パスワードのないユーザーを持つことが可能です。dsclパスワード付きでそれらを調べると、 として表示されます。これは、*などのデータベースのユーザーなどのシステム ユーザーに使用されます。これのよいところは、これらのユーザーはログイン画面に表示されず、 などなしではログインできないことです。mysqlpgsqlsudo

そのようなユーザーを削除した後、いくつか試してみて、再作成したいと思いましたが、できませんでした。空のパスワードを持つユーザーを取得し、パスワードを に設定することができました*。しかし、どれも上記と同じ効果はなく、ユーザーがログイン画面に表示されました。

そのようなユーザーをどのように作成しますか?

答え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 -

オプション-に渡される の値は、master.passwd のパスワード フィールドを に設定し、ログイン不要のアカウントを作成するように指示します。シェルの設定は厳密には必要ではありませんが、/etc/pw.conf からのシェル チェックを回避します。-hpw*

関連情報