回答:
-M
スイッチを使用して(大文字であることを確認して)ホームディレクトリが作成されないようにすることができます。
useradd -M subversion
次に、アカウントをロックしてログインを防止します。
usermod -L subversion
usermod -s /bin/false subversion
かと、--shell /bin/false
へuseradd
su -s /bin/bash username
してバイパスできる場合、シェルの設定はあまり効果がありません。
useradd -r subversion
あたりman useradd
:
-r, --system create a system account
-rフラグは、システムユーザーを作成します。パスワード、ホームディレクトリがなく、ログインできません。
passwd subversion
。
を使用して、システムユーザーを作成する別のソリューションadduser
:
adduser --system --no-create-home --group yourusername
--group
グループyourusernameが必要ない場合、および--no-create-home
このユーザーのホームが必要な場合は削除できます。
py4onのコメントで述べたように、一部のシステムでは--disabled-login
、このユーザーのログインを無効にするためにオプションを使用する必要があります。ただし、Debianでのデフォルトの動作のようです。
ユーザーの数値IDはシステムアカウントのものであることに注意してください。--uid
ただし、オプションを使用してuidを修正できます。
最後に、一部のシステム(Fedoraなど)adduser
では、へのシンボリックリンクであることに注意してくださいuseradd
。この場合、この回答は無効です。
--disabled-login
も追加します(前yourusername
)
元の質問に対する最も明確な答えは、次のコマンドを実行することです。
adduser subversion --shell=/bin/false
また、ホームディレクトリも必要ない場合:
adduser subversion --shell=/bin/false --no-create-home
または、さらにロックされたシステムユーザーが必要な場合(通常、これはホームディレクトリを作成しません-以下のコメントに従って、Linuxミントにホームディレクトリを作成することが報告されています)
adduser subversion --system --group
これらのコマンドはすべて、ユーザーと同じ名前のグループを作成します
Creating home directory '/home/nodejs' ...
これを行う最も安全な形式は、次のように使用するadduser
ことです。
$ adduser -r -s /bin/nologin subversion
注:-s /sbin/nologin
アカウントでログインシェルを使用できないようにするには、必ず含めてください。
$ grep subversion /etc/passwd /etc/shadow
/etc/passwd:subversion:x:496:496::/home/subversion:/bin/nologin
/etc/shadow:subversion:!!:17232::::::
ただし、ディレクトリはありません。
$ ll /home | grep subversion
$
アカウントが他の方法で使用可能であることを確認します。
$ sudo -u subversion whoami
subversion
$ sudo -u subversion date
Tue Mar 7 08:58:57 EST 2017
このアカウントを削除する必要がある場合:
$ userdel subversion -r
userdel: subversion mail spool (/var/spool/mail/subversion) not found
userdel: subversion home directory (/home/subversion) not found
$
そして確認:
$ grep rtim-hc-user /etc/passwd /etc/shadow
$
CentOS 7マシン上
ユーザーが存在しない場合:
useradd testuser --shell=/sbin/nologin
既存のユーザーを変更する場合:
usermod testuser --shell=/sbin/nologin
以下を実行して、最大8文字のユーザーの暗号化されたパスワードを生成することから始めます。
openssl passwd -crypt new_password_less_than_eight_chars_long
それから:
useradd -m -g groupname -G otherGroupsSeperatedByComma -p encryptedPassword username