本章具体内容
-
用户管理
-
用户组管理
-
权限管理
普通用户和超级用户
-
普通用户:是在安装系统时创建的用户(st),也可以通过超级用户来创建用户。例如:Lucy
-
超级用户:也叫做超级管理员,用户名是root,Linux系统内置,第一次使用root用户时需要修改密码。
修改超级用户密码
语法:
sudo passwd
注意:在终端输入密码时,并不显示。
超级用户和普通用户的切换
-
普通用户切换到root用户:
sudo -i ---没有设置密码时,使用这个命令
su root ---设置密码后,使用这个密码登录
-
root用户切换到普通用户
su 用户名
whoami
作用:查看当前登录的用户
whoami
用户管理
指令
添加新用户
执行者:root
语法:
sudo useradd [选项] 用户名
注意:在普通用户下要加入sudo,在root用户下不需要
举例:
sudo useradd -d /home/lucy -m lucy
解释:创建了一个用户lucy,并在家目录下为其创建一个同名目录/home/lucy(同时会默认创建要给跟用户同名的
组:lucy)
以上指令做了三件事:
1. 在系统数据库创建了一个名为lucy的用户(用户)
2. 在/home目录下创建了一个名为lucy的目录(目录)
3. 在数据库针对用户lucy创建了一个同名的用户组lucy(用户组)
注意:如果在新建用户的时候没有指定用户组,就会创建一个与用户名同名的组,并让新用户 加入这个组。
举例:
sudo useradd -d /home/peter -mg lucy peter
解释:创建了一个用户peter,并在家目录下为其创建一个同名目录/home/peter,同时将peter用户添加到已经存在
的组lucy组
查看用户所属的组
执行者:root
语法:
sudo groups 用户名
举例:
sudo groups st
删除用户
执行者;root
语法:
sudo userdel [选项] 用户名
选项:
-
-f:强制删除,即使已经登录的用户
-
-r:删除用户的同时,删除与用户相关的文件
举例:
sudo userdel -rf peter
解释:删除用户peter,并在不提示任何信息的前提下递归删除peter对应的用户目录(/home/peter)
给用户添加口令(密码)
执行者:root
语法:
sudo passwd [选项] 用户名
选项:
-
-l:锁定口令,禁用账户
-
-u:解除口令
-
-d:使账号无口令
-
-e:强制用户下次登录时修改密码
注意;
-
root用户:给设置的初始密码(简单)
sudo passwd lucy
-
普通用户:修改自己的密码(专属复杂)
passwd
修改用户
执行者:root
语法:
sudo usermod [选项] 用户名
选项:
-
-c:备注,修改用户的备注文字
-
-g;用户组,修改用户所属的用户组
-
-G:附属组,修改用户所属的附属群组
-
-u: uid,修改用户的uid
举例:
sudo usermod -g root peter
解释:将peter用户所属的组改成root组
sudo usermod -g lucy -G root,st lucy
解释:将lucy用户所属的组改成lucy,并且设置附属组为root和st,多个附属组用逗号分隔
用户组管理
指令
添加用户组
执行者:root
语法:
sudo groupadd [选项] 组名
查看所有用户组
语法:
方法1:cat /etc/group
方法2:sudo cat /etc/gshadow
查看用户组中的用户
语法:
grep '组名' /etc/group
删除用户组
执行者;root
语法;
sudo groupdel [选项] 组名
举例:
sudo groupdel workgroup
修改用户组
执行者:root
语法:
sudo groupmod [选项] 新组名 旧组名
选项:
-
-g;GID,组编号
-
-o:和-g使用,允许用户组新的GID和系统已有的用户组相同
-
-n:将用户组的名字改为新名字
举例:
sudo groupmod -n YQ workgroup -- 将workgroup改名为YQ
sudo groupmod -n workgroup YQ -g 1002 -o -- 将YQ改名为workgroup,并且将GID改成跟系统已有组相同的GID
权限管理
说明:所谓的权限管理,就是说让某个用户拥有某个文件或者目录,让用户对文件是否拥有读写执行的权限。
指令
修改文件/目录的所有者或者组
执行者:root
语法:
sudo chown [选项] ... [所有者][[:组名]] 文件或者目录的路径
选项:
-
-c :显示更改部分的信息
-
-f :忽略错误信息
-
-R :处理指定目录及其子目录中的所有文件
-
-v :显示详细的处理信息
举例:
sudo chown lucy /home/work/demo01.c
解释:指定demo01.c文件的所有者为用户lucy(直接作用域单个用户)
sudo chown :lucy /home/work/demo02.c
解释:指定demo02.c文件的所有者为用户组lucy(直接作用域同一组下多个用户)
sudo chown -R mike:lucy /home/work/demo02
解释:指定demo02目录及其子目录所有文件的所有者为用户mike以及用户组lucy
修改文件或者目录的权限
执行者:root
语法:
sudo chmod [选项] 权限 文件或目录路径
选项:
-
-R:递归指定目录及其子目录中的所有文件
方式1:文字设定法:
语法:
sudo chmod [选项1] [选项2] 权限名 文件或目录路径
选项:
-
选项1:给谁添加权限
-
a: all 所有用户
-
u:user 当前用户
-
g: group当前用户组
-
o: other 其他用户或者用户组
-
-
选项2:如何操作权限
-
r:只读
-
w:写
-
x:执行
-
-:无权限
-
举例:
sudo chmod u=rwx,g=rx,o=- /home/work/demo01.c
解释:针对demo01.c,当前用户拥有读写执行权限,用户组拥有读和执行权限,其他用户或者组没有权限
方法2:数字设定法:
语法:
sudo shmod 权限数字 文件或目录的路径
权限数字:
-
r:4
-
w:2
-
x:1
-
-:0
解释:
权限数字表示:777,三个数字
-
第一个数字表示当前用户
-
第二个数字表示用户组
-
第三个数字表示其他用户或者用户组
每个数字都权限数字累加的和
举例:
sudo chmod 750 /home/work/demo01.c
解释:针对demo01.c,当前用户拥有读写执行权限,用户组拥有读和执行权限,其他用户或者组没有权限