Useradd は、デフォルトのシェルを選択するために使用されません。

Useradd は、デフォルトのシェルを選択するために使用されません。

Ubuntu 16.04.1の新しいバージョンをインストールし、新しいユーザーアカウントを作成してみましたroot。私はSHELLその行を/etc/default/useradd次のように変更しました。

SHELL=/bin/bash

(以前にお読みください/bin/sh

実行すると、useradd -D次の出力が提供されます。

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

その後、次のユーザーを作成しようとします。

useradd -m -G sudo -c "David Buckley" david

しかし、デフォルトのシェルはまだです/bin/sh。具体的には、/etc/passwdファイルの内容は次のとおりです。

david:x:1000:1000:David Buckley:/home/david:

少し関連があるため、新規ユーザーはsudoアクセス権を取得できません。グループが提供され、david sudoファイル/etc/sudoersには次の行が含まれています(コメントアウトされていません)。

# Allow members of group sudo to execute any command
sudo    ALL=(ALL:ALL) ALL

私が何を間違えて、このようなことが起こりましたか?

ベストアンサー1

これは既知のエラーUbuntuでuseradd(Ubuntu固有のパッチで追加)、指定されたすべての/etc/default/useradd設定を無視します。

回避策は次のとおりです。モリン草の答えadduserシステムではなく、ユーザーをDebian派生製品に追加するための推奨ツールであることを使用します。

おすすめ記事