添加用户的话,有两个命令:
adduser 、 useradd —— adduser会直接生成家目录,但是useradd则不会,useradd会有一堆选项让你选择。
删除用户的命令:
userdel
登录Ubuntu系统,查看所有用户,需要查看/etc/passwd文件
cat /etc/passwd
/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:用户主目录:命令解释程序
两种方式创建新用户:
1)useradd
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
说明
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
应用实例
本文基于Linux的Ubuntu系统新建一个普通用户,新建只能在控制台下登录的用户
- 切换为root用户为了获取创建用户的权限
~$ sudo su
- 添加一个新用户(如用户名newuser)
useradd newuser -m
useradd后是用户的名字
-m代表创建用户的同时创建该用户的home目录
查看/home目录已经有了新用户newuser的文件夹
查看/etc/passwd文件内容,也有了newuser用户
创建用户时候,会自动创建该用户所在组,默认组名和用户名一样。通过cat /etc/group 查看
为用户设置密码:
passwd newuser
再次进行切换,可以正常登录
su - newuser
‘-’的意义是切换过来直接到用户的主目录
可以使用pwd查看当前目录
默认新建的用户没有sudo权限,要赋给sudo权限要在有sudo权限的用户使用以下命令
sudo usermod -a -G adm newuser
sudo usermod -a -G sudo newuser
这两句是将newuser用户添加到adm组和sudo组
用户删除使用命令;
sudo userdel newuser
这样删除了用户,但是没有删除用户的home目录
sudo userdel -r newuser
这样删除了用户,同时删除用户的home目录
切换到用户newuser
su newuser
切换后如下:
可以看到登陆以后的用户当前所在目录仍为“/home/a”,即用户a(主用户)的主目录。
这种方式只能在控制台中互相切换用户,一旦重启系统,用该用户还是无法登陆(只能用原来的用户或root登陆)。
2 新建可登录图形用户界面的用户 adduser
- 切换为root用户为了获取创建用户的权限
~$ sudo su
2)添加一个新用户(如用户名为zzq)
adduser zzq
然后根据系统提示进行密码和注释性描述的配置,全程不用自己输入其他命令即可配置成功,用户主目录和命令解析程序都是系统自动指定。
3) 查看用户的属性
cat /etc/passwd
4) 退出当前用户,以用户zzq登陆系统
当我们在指令前加入“sudo”执行一些指令时,会出现错误
再次切换到root用户(不要用sudo su, 而用su root)
如果这里提示“su: Authentication failure”,是因为没有给root设置登录密码,解决方法:
1.先切换回用户sdas: su sdas
2.在给root设置登录密码:sudo passwd root
2)返回到初始用户下执行visudo命令
3)该命令实际上打开的是/etc/sudoers文件,修改该文件,在“root ALL=(ALL:ALL) ALL”这一行下面加入一行:
csdn ALL=(ALL:ALL) ALL
4)切换回zzq,在使用sudo命令就可以了。