Solaris10 创建用户初始化家目录
Solaris10创建用户默认不会创建家目录。例如:
useradd user1
那么,user1的家目录是/home/user1,但未创建,默认shell是/sbin/sh
如果要强制创建家目录,并指定家目录和shell,可以使用如下命令:
useradd -d /export/home/user4 -s /bin/bash -m user4
注:
-d 指定家目录位置
-s 指定shell
-m 创建家目录
家目录中默认会初始化5个文件:
-rw------- 1 user4 other 16 Jul 11 14:58 .bash_history
-rw-r--r-- 1 user4 other 136 Jul 11 14:58 local.cshrc
-rw-r--r-- 1 user4 other 157 Jul 11 14:58 local.login
-rw-r--r-- 1 user4 other 174 Jul 11 14:58 local.profile
-rw-r--r-- 1 user4 other 144 Jul 11 14:58 .profile
但是,此时登录之后提示符仍然显示怪怪的:-bash-3.2$
需要手动创建一个.bashrc文件:
echo 'typeset +x PS1="\u@\h:\w\\$ "' > .bashrc
再次登录显示就顺眼多了:user4@target-solaris10-210:~$
我想说的是,如果创建用户时,就是使用了useradd user2创建,家目录缺失,没有使用bash,如何补救呢?
1、删除用户,重新创建
2、重新指定shell,创建home dir,拷贝环境变量文件。
#重新指定shell
usermod -s /bin/bash user1
#创建home_dir
Solaris不让在/home/下创建目录和文件:
~# mkdir /home/test
mkdir: Failed to make directory "/home/test"; Operation not applicable一般情况下,家目录使用/export/home/:
mkdir /export/home/user1
#设置home dir权限
chown user1:other /export/home/user1
chmod 700 /export/home/user1
#复制骨架文件(如果/etc/skel有内容)(使用user1用户):
cp -r /etc/skel/* /export/home/user1
#创建.bashrc文件
echo 'typeset +x PS1="\u@\h:\w\\$ "' > .bashrc