web-dev-qa-db-ja.com

パスワードなしでユーザーを作成する最良の方法

パスワードなしでユーザーを作成する良い方法は何ですか?パスワードなしとは、アカウントを意味します。これは、su/Sudoコマンドを使用するrootアカウントでのみ使用可能です(ApacheまたはNginxで使用される「nobody」ユーザーなど)。

/ etc/shadowファイルのパスワードフィールドに*を入力すると機能することを読みましたが、useraddコマンドでそれを行う方法があるかどうか知りたいのですが。

私はそうすることを考えました:

useradd my_new_user -s /sbin/nologin -p '*'

しかし、useraddコマンドをこの方法で使用できるかどうかはわかりません。私はそれについての参照を見つけていません。

4

これは、あなたが説明した方法で機能します(もちろん、/bin/bashの代わりに任意のシェルを指定できます):

root# useradd temp_test1 -s /bin/bash -p '*'
root# su temp_test1
temp_test1#

上記のuseraddコマンドを実行した後、次のエントリが/etc/shadowファイルにあります。

temp_test1:*:15842:0:99999:7:::

John Smith Optionalの回答を使用する場合、以下が機能します。

root# useradd temp_test2 -s /sbin/nologin
root# su -s /bin/bash temp_test2
temp_test2#

編集:違いは、使用可能なシェルを指定しない限り、シェルが/sbin/nologinとして指定されているアカウントにsuできないことです。 suコマンドを発行する:

root# useradd temp_test3 -s /sbin/nologin
root# su temp_test3
This account is currently not available.
root#

(CentOS 6.4でテスト-さまざまなディストリビューションで動作するはずです)。

4
s.co.tt
useradd my_new_user -s /sbin/nologin

パスワードが指定されていない場合、パスワードは作成されず、アカウントは無効になります。

3
David Houde