次のようにパスワードなしでユーザーを作成しようとしています:
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
どうしましたか?
「無効なパスワード」でユーザーを作成しました。これは、これが使用されたときにログインできるパスワードがないことを意味します。これは、パスワードを入力しなくても誰でもログインできるユーザーを作成することとは異なります。これは、空のパスワードを指定することによって実現され、ほとんど役に立ちません。
通常はログインしない「システム」ユーザーとしてコマンドを実行するには、ルートアカウント経由でホップする必要があります。
_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
を使用してパスワードを空にします。すべてのシステムで、パスワードが空のユーザーがログインできるわけではないことに注意してください。
Gitユーザーの下でシステムにアクセスする場合は、Sudoを使用する必要があります。
Sudo -s -u git
または
Sudo su - git
空のパスワードでユーザーを作成します
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"
をコメントフィールドに入力すると、その情報の入力を求められません。あなたはそのフィールドに好きなものを入れることができます。