第十七章:第10节Linux用户管理——创建账号、删除账号、修改账号

更新于:2018-12-03 15:00:12

1)创建账号 user add


有了root权限后,我们可以随意创建用户了。

adduser


创建一个新用户:nanshen


1.png


adduser nanshen

正在添加用户"nanshen"…
正在添加新组"nanshen" (1000)…
正在添加新用户"nanshen" (1000) 到组"nanshen"…
创建主目录"/home/nanshen"…
正在从"/etc/skel"复制文件…

输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
两次密码输入成功,出现的信息如下
passwd: password updated successfully
Changing the user information for nanshen

输入新信息或直接按回车
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Full Name []:等信息一路回车
这个信息是否正确? [Y/n] y
到此,用户添加成功。

1.png


创建用户的命令,除了adduser,还有一个

useradd

1.png


用useradd命令不像adduser步骤那么多,一个命令搞定,我们看下passwd文件、shadow文件里的phpnanshen账户信息:


1.png

1.png

phpnanshen账户缺少指定的shell、缺少密码,所以这样创建的账户是不能登录的。


1.png


并且用户主目录也没生成。


使用useradd命令创建账户,需要多加一些参数:


  • -c comment 指定一段注释性描述。

  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

  • -g 用户组 指定用户所属的用户组。

  • -G 用户组,用户组 指定用户所属的附加组。

  • -s Shell文件 指定用户的登录Shell。

  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。


使用userdel phpnanshen先把phpnanshen账户删掉

userdel phpnanshen
useradd -s /bin/bash -g nanshen -d /home/phpnanshen -m phpnanshen


1.png

1.png

1.png

1.png


总结:


useradd和adduser。虽然作用一样,但用法却不尽相同:


1. 使用useradd时,如果不添加任何参数选项,创建出来的用户将是默认“三无”用户。一无Home Directory,二无密码,三无系统SHELL。


2. adduser这个命令实际是一个perl脚本,是useradd等类似底层命令的更友好的前端,创建用户的过程中,它会用交互性的方式提示你输入各种信息,根据这些信息帮你创建新用户。


总结上来讲,在Ubuntu中,adduser更适合初级使用者,因为不用去记那些繁琐的参数选项,只要跟着系统的提示一步一步进行下去就行,缺点就是整个创建过程比较复杂而漫长;而useradd比较适合有些高阶经验的使用者,往往一行命令加参数就能解决很多问题,所以创建起来十分方便。


2)删除账号 user delete


如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

删除一个已有的用户账号使用userdel命令,其格式如下:

userdel 选项 用户名


常用的选项是 -r,它的作用是把用户的主目录一起删除。

1.png

此命令删除账户phpnanshen在系统文件(主要是/etc/passwd,/etc/shadow,/etc/group

等)中的记录,同时删除用户的主目录。


由于phpnanshen用户组中还有其他用户,所以删除不成功。


deluser

deluser也可以删除用户

1.png


3)修改账号 user modify

假如我们直接

useradd phpnanshen

没有指定其他参数,那这个用户是不是就不能修改有关属性了吗?


当然不是,使用usermod命令,可更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

其格式如下:

usermod 选项 用户名

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项大部分一样,可以为用户指定新的资源值。

另外,有些系统可以使用选项:-l 新用户名

这个选项指定一个新的账号,即将原来的用户名改为新的用户名。


1.png


特别说明:usermod的-m参数与useradd的-m参数意思不一样。


usermod -m 是移动家目录的内容到新位置

1.png


useradd -m 是创建用户家目录

1.png