次のコマンドを使用して、Ubuntu 14.04のデフォルトのシェルを変更しようとしました
user@MyUbuntu:~$ Sudo useradd -D -s /bin/tcsh
user@MyUbuntu:~$ Sudo useradd -D
GROUP=101
HOME=/home
INACTIVE=-1
EXPIRE=
Shell=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
デフォルトが更新されない理由。 PCを再起動しましたが、値がまだ更新されていません。どうして ?
pdate:新しいユーザーを追加したくないので、useraddコマンドを使用していくつかのデフォルトを更新したい
adduser
コマンドを使用します。 adduserコマンドは、useradd(Cバイナリ)のPerl実装です。
$ cat /usr/sbin/adduser | grep useradd
my $useradd = &which('useradd');
&systemcall($useradd, '--extrausers', '-d', $home_dir, '-g', $ingroup_name, '-s',
&systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
my $useradd = &which('useradd');
&systemcall($useradd, '--extrausers', '-d', $home_dir, '-g', $ingroup_name, '-s',
&systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
# useradd without -p has left the account disabled (password string is '!')
adduserはすべてを処理します。つまり、ユーザーが/etc/passwd
ファイルに追加されているかどうかです。
私にとっては変更が適用され、私はあなたと同じようにしたと思います。
gennu@gennu:~$ Sudo useradd -D -s /bin/tcsh
gennu@gennu:~$ useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
Shell=
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
gennu@gennu:~$ Sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
Shell=/bin/tcsh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
gennu@gennu:~$
しかし、/ etc/passwdファイルで変更が行われたことはわかりませんでした。
gennu@gennu:~$ cat /etc/passwd | grep 'root\|gennu'
root:x:0:0:root:/root:/bin/bash
gennu:x:1000:1000:gennu,,,:/home/gennu:/bin/bash