現在使用しているスクリプトコードは次のとおりです。
getent group $MYGROUP
if [ $? -ne 0 ] ; then
sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"
このアプローチはopenSuseでうまく機能します。しかし、Ubuntuで作成されるユーザーアカウントにはいくつかの問題があるため、ここで助けを求めています。
- 端末プロンプトが設定されていません(
echo $PS1
何も返しません) - 端末で矢印キーとタブキーが正しく機能しない
- パスワードが機能しないようです(この問題が何であるかはまだ明確ではありませんが)
- この新しいユーザーに設定された/ etc / sudoers権利は尊重されません
代わりにadduser
(useraddではなく)を使用して手動でユーザーを作成した場合、Ubuntuではこれらの問題は発生しません。ただしadduser
、openSuse(afaik)では使用できません。したがって、Debian専用ではないスクリプト、またはUbuntuで動作する(そして他のディストリビューションで動作を停止しない)bashスクリプトを介してユーザーアカウントを追加する方法が必要です。
最後に、私は理解したいと思い違いの間adduser
とをuseradd
。たとえば、どのスケルトンディレクトリが使用されadduser
ているのかを知りたいのですが、それが理由useradd
で期待どおりに機能しない可能性があります(デフォルトを受け入れたためです)。
ありがとう
sudo su -c "cmd arg1 arg2"
と同等sudo cmd arg1 arg2
です。
sudo su -c "cmd arg1 arg2"
する必要があるすべての場所で機能するように使用し続けます。
adduser
は1000行を超えるperlスクリプトです。そのため、違いについてはスクリプトをご覧ください。
adduser
いますが、perlがわかりません。だから、それは私にとって良いアプローチではありません。
man useradd
)から:useraddはユーザーを追加するための低レベルのユーティリティです。Debianでは、管理者は通常、代わりにadduser(8)を使用する必要があります。