
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 アクセス権がありません。 groups が付与され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
...
回避策は、maulinglawns の回答adduser
代わりに、Debian 派生製品で非システム ユーザーを追加するための推奨ツールである を使用することをお勧めします。
答え2
奇妙なことに、昨日、Ubuntu 16.04 LTS を実行しているサーバーで私にも同じことが起こりました。
具体的な答えはないがなぜこのようなことが起こることがありますが、私の場合は簡単な解決策が役立ちました。
を使用せずuseradd
、adduser
代わりに を使用してください。
説明
adduser
addgroup
および のコマンドライン オプションと設定情報に従って、システムにユーザーとグループを追加します/etc/adduser.conf
。これらは、、および プログラムなどの低レベル ツールの使いやすいフロントエンドであり、 デフォルトuseradd
で Debian ポリシーに準拠した UID と GID 値を選択し、スケルトン設定でホーム ディレクトリを作成し、カスタム スクリプトを実行し、その他の機能を備えています。groupadd
usermod
についてはsudo
、新しいグループ設定を有効にするには、そのユーザーをログアウトしてから再度ログインする必要があります。
こちらは良いリンクオンuseradd
vs adduser
。