web-dev-qa-db-ja.com

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

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

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

どうしましたか?

70
Erik

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

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

_su -c 'su git -c "git init"'
_

または

_Sudo -u git git init
_

特定のユーザーがrootとしてコマンドを実行せずにgitユーザーとしてコマンドを実行できるようにするには、Sudoをセットアップします(rootとしてvisudoを実行し、%gitters ALL = (git) ALL)。

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

パスワードなしでユーザーを作成するには、ユーザーの作成後にpasswd -d $usernameを使用してパスワードを空にします。すべてのシステムで、パスワードが空のユーザーがログインできるわけではないことに注意してください。

42
pallxk

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

Sudo -s -u git

または

Sudo su - git
9
Didi Kohen

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

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を使用した端末の自動ログイン

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

inittabを変更することでBusyBoxでこれを行うことができました: Buildroot BusyBox initにrootのユーザー名またはパスワードを入力せずに自動的にログインする方法

そのため、私は自分で試したわけではありませんが、Ubuntu 18.04のsystemd initシステムスクリプトを変更してgetty -a <user>端末をセットアップすることで、この手法を適応させることはそれほど難しくないと思います。

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

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

あなたができるようになります

su $username

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

3
Douglas Krugman