私はこの質問を AskUbunt にクロス投稿しました。私の問題はDebian/Ubuntuで最も深刻に思われるためですが、ここで質問することが提案されました。この問題を解決するために提案されている方法は、ほとんどのディストリビューション(openSuseやUbuntuなど)で機能します。これが私が現在使用しているスクリプトコードです。
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"
Ubuntuで作成するユーザーアカウントにはいくつかの問題があります。
echo $PS1
は何も返しません)代わりに(useraddではなく)adduser
を使用して手動でユーザーを作成した場合、これらの問題は発生しません。しかし、私はbashスクリプトを介してユーザーアカウントを追加する非Debian専用のスクリプトまたは方法が必要です。
私はこのトピックについて 前の質問 も持っていましたが、この問題に関係がないほど十分に異なっていました。
問題は、Debianの新しいユーザーのデフォルトのシェルが/bin/sh
であるため、bash
で使用していたほとんどの機能がそこにないことです。 useradd
コマンドに-s /bin/bash
を追加してみてください。
/etc/default/useradd
を編集して、デフォルトのシェルを永続的に変更することもできます。
編集:
(MountainXによって検出された)パスワードを自動的に変更するソリューションは here です。
カーソルキーとプロンプトの問題は、スケルトンファイルが正しくコピーされていないように聞こえます。新しいユーザーのホームディレクトリには.bashrc
がありますか?
パスワードについては、Slackのman useradd
が教えてくれます
-p、--password PASSWORD crypt(3)によって返される暗号化されたパスワード。デフォルトでは、パスワードは無効になっています。
したがって、プレーンテキストのパスワードをそこに置くことはおそらくないでしょう。現在、cryptを手動で呼び出す便利な方法が見つからないため、Sudo passwd $mynewuser
への追加の呼び出しが必要になる場合があります。