パスワードなしでユーザーを作成する


66

私はこのようなパスワードなしでユーザーを作成しようとしています:

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos ‘User for managing of git version control’ \
   --group \
   --disabled-password \
   --home /home/git \
   git

うまく作成されました。しかし、gitユーザーでログインしようとすると、パスワードが入力されます:

su git
Password:...

空のままにすると、エラーが発生します。

su: Authentication failed

どうしましたか?


1
何も問題はありません。認証は期待どおりに失敗しました。「パスワードがありません。ログインできません」というエラーメッセージは表示されません。
-scai

しかし、gitユーザーの下に.sshフォルダーを作成する必要があります。どうすればよいですか?
エリック

1
これをrootとして作成して正しい許可を設定するか、su gitrootとして実行してパスワードを入力する必要はありません。
scai

4
とを使用chmodしてchown
scai

1
トピックから外れていますが、それは「ユーザー」ではなく「ユーザー」です。writersdigest.com/online-editor/...
デビッドBaucum

回答:


31

「無効化されたパスワード」を持つユーザーを作成しました。これは、これが使用されたときにログインできるパスワードがないことを意味します。これは、パスワードを指定せずに誰でもログインできるユーザーを作成することとは異なります。これは、空のパスワードを指定することで実現され、ほとんど役に立ちません。

通常ログインしない「システム」ユーザーとしてコマンドを実行するには、rootアカウントを介してホップする必要があります。

su -c 'su git -c "git init"'

または

sudo -u git git init

特定のユーザーがgitrootとしてコマンドを実行できるようにすることなく、ユーザーとしてコマンドを実行できるようにするには、sudoをセットアップします(visudorootとして実行し、次のような行を追加します%gitters ALL = (git) ALL)。


@JulienRicard Er、はい、そして?「パスワードのないユーザー」を理解する方法は複数ありますが、質問にあるユースケースに答えます。たとえば、ゲストユーザーの作成に関する質問は別の質問になります。
ジル「SO-悪であるのをやめる」

41

この--disabled-passwordオプションはパスワードを設定しません。つまり、パスワードは有効ではありませんが、ログインは可能です(たとえば、SSH RSAキーを使用)。

パスワードなしでユーザーを作成するには、ユーザーの作成passwd -d $username後にを使用してパスワードを空にします。すべてのシステムで、空のパスワードを持つユーザーがログインできるわけではありません。


3
これは、バージョン16のubuntu動作するようには思えない
ダニエル・テイト

@DanielTateは、unix.stackexchange.com / a / 472968/32558
Ciro Santilli新疆改造中心法轮功六四事件

9

gitユーザーでシステムにアクセスする場合は、sudoを使用する必要があります。

sudo -s -u git

または

sudo su - git

4

空のパスワードでユーザーを作成する

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

残念ながら、パスワードプロンプトは引き続き表示されます。

ただし、何も入力せずにEnterキーを押すと、ユーザーとしてログインしますtest-user-0

-eフラグが伝えchpasswdたパスワードが既に暗号化されていること、そしてU6aMy0wojraho空の文字列のハッシュです。

Ubuntu 18.04でテスト済み。

ターミナル自動ログイン getty -a

少なくとも端末では、パスワードを持たないユーザーを作成して、誰かが毎回パスワードを入力できないようにする必要はありません。

私は変更することで、BusyBoxの上、これを行うことができましたinittabBuildroot BusyBoxのinitをして、ルートユーザ名やパスワードを入力せずに自動的にログインする方法は?

だから、Ubuntu 18.04のsystemd initシステムスクリプトを修正getty -a <user>してその答えに記載されているように端末をセットアップすることで、この手法を適用することはそれほど難しくないと思いますが、私は自分でやろうとしませんでした。


2

私はこれがあなたが望むものだと思う:

adduser --disabled-password --shell /bin/bash --gecos "User" $username

できるようになります

su $username

/ bin / bashまたは指定した任意のシェルで、そのユーザーとしてコマンドを実行します。--gecos "User"はコメントフィールドに "User"を入力するだけなので、その情報の入力は求められません。好きなものをそのフィールドに入れることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.