web-dev-qa-db-ja.com

非ログインユーザーを作成するにはどうすればいいですか?

RHEL 5システム上にSubversionという名前のユーザーとグループを作成します。私はuseraddのmanページを見ました、そして、私はコマンドがちょうどそうなるだろうと思います...

useradd Subversion

しかし、ホームディレクトリを作成しないようにする方法がわからない。また、システムにログインできるユーザーにはなりたくありません。

主な目的はSVNリポジトリの所有者を提供することです。

123
Ethan

ホームディレクトリが作成されないようにするために-Mスイッチを使用することができます(これが大文字であることを確認してください)。

useradd -M Subversion

ログインを防ぐためにアカウントをロックします。

usermod -L Subversion
72
John T

useradd -r Subversion

per man useradd

-r, --system create a system account

-rフラグはシステムユーザーを作成します - パスワード、ホームディレクトリを持たず、ログインできないユーザーです。

203
rynop

adduserを使用してシステムユーザーを作成するもう1つの解決策:

adduser --system --no-create-home --group yourusername

グループyourusernameが不要な場合は--groupを削除し、このユーザーの自宅が必要でない場合は--no-create-homeを削除できます。

Py4onがコメントで述べたように、システムによっては、このユーザのログインを無効にするために--disabled-loginオプションを使う必要があるかもしれません。しかし、これはDebianのデフォルトの動作のようです。

ユーザーの数値IDはシステムアカウントのものになることに注意してください。ただし、--uidオプションを使用してuidを修正できます。

最後に、いくつかのシステム(Fedoraなど)ではadduseruseraddへのシンボリックリンクであることに注意してください。その場合、この答えは有効ではありません。

元の質問に対する最も明確な答えは、次のコマンドを実行することです。

adduser Subversion --Shell=/bin/false

そして、ホームディレクトリが欲しくないなら:

adduser Subversion --Shell=/bin/false --no-create-home

あるいは、もっとロックされたシステムユーザーが欲しい場合(通常これはホームディレクトリを作成しません - それは以下のコメントのようにlinux mintにホームディレクトリを作成すると報告されています)

adduser Subversion --system --group

これらすべてのコマンドは、ユーザーと同じ名前のグループを作成します。

14
TimmyGee

これを行う最も安全な方法は、次のように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
$
10
slm

CentOS 7マシン上

  • ユーザーが存在しない場合
    useradd testuser --Shell=/sbin/nologin

  • 既存のユーザーを変更したい場合
    usermod testuser --Shell=/sbin/nologin

1
lauc.exon.nod

次のようにして、最大8文字の長さのユーザー用の暗号化パスワードを生成することから始めます。

openssl passwd -crypt new_password_less_than_eight_chars_long

それからあなたはします:

useradd -m -g groupname -G otherGroupsSeperatedByComma -p encryptedPassword username
0
user1047344