问题:使用 useradd 创建用户,发现 /home 目录下没有自动创建关于用户的目录。所以做了一番调查研究
useradd是一个linux命令,但是它提供了很多参数在用户使用的时候根据自己的需要进行设置;
adduser是一个perl 脚本,在使用的时候会出现类似人机交互的界面,提供选项让用户填写和选择,这个命令比起useradd来说比较简单,也比较傻瓜。
一. adduser的使用详解
在使用adduser命令的时候,系统会添加这个用户名,并且还会自动地创建与这个用户名名字一样的用户组作为这个用户的初始用户组。此外,还会自动地在/home目录下面创建一个与用户同名的目录,接着执行"cp /etc/skel /home/用户名"的操作,实现新增用户的主目录的初始化。
用adduser这个命令创建的账号是系统账号,可以用来登录到我们的ubuntu系统。
# adduser git Adding user `git' ... Adding new group `git' (1004) ... Adding new user `git' (1004) with group `git' ... Creating home directory `/home/git' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for git Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
# ls /home
git
# grep git /etc/passwd
git:x:1004:1004:,,,:/home/git:/bin/bash
二.useradd的使用详解
useradd有大量的参数供我们进行个性化设置。useradd的参数如下:
-c 备注 加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中
-d 用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权
-e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow
-f 缓冲天数。限定密码过期后多少天,将该用户帐号停用
-g 主要组。设置用户所属的主要组
-G 次要组。设置用户所属的次要组,可设置多组
-M 强制不创建用户主文件夹
-m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下
-p 密码。输入该帐号的密码
-s shell。用户登录所使用的shell
-u uid。指定帐号的标志符user id,简称uid
useradd这个命令创建的是普通账号,并不能用来登录系统。
# useradd git -g git -p 123 // (默认的组是root,可以指定组。密码需要指定参数-p,否则密码为空;)
// 当使用参数"-m"的时候,系统会自动地在/home目录下建立一个与新建用户同名的用户主文件夹;如果不使用"-m"的话,那么就默认是使用“-M”参数,不创建主文件夹 # passwd git Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully # ls /home //(home目录下不会自动创建git目录) #grep git /etc/passwd git:x:1004:1004::/home/git: