Linux的root用户
···Linux系统中,拥有最大权限的用户是root用户,即超级管理员
root用户拥有最大的系统操作权限,普通用户在自己的HOME目录内是不受限的,但一旦出了HOME目录,普通用户只能读不能写,而root用户在任何目录都有操作权限。
一、切换用户命令su和exit
su即Switch User,切换用户
语法:su [ - ] [用户名]
···符号 - 是可选的,表示是否在切换用户后加载环境变量
···用户名是可选的,不填则表示切换到root
···切换用户时,可以通过exit命令退回上一个用户
···普通用户切换其他用户需要输入密码,而root用户切换其他用户不需要密码
二、sudo命令和认证
sudo命令可以为普通的命令授权,临时以root身份执行,这样避免了长期使用root用户
语法:sudo 其他命令
···需要为普通用户配置sudo认证才有权力使用sudo命令
为普通用户配置sudo认证:
1.切换到root用户,执行visudo命令,会自动通过vi打开:/etc/sudoers
2.在文件的最后添加:user ALL=(ALL) NOPASSWD:ALL,然后通过wq保存
用户和用户组管理
Linux系统中可以配置多个用户和用户组
Linux中关于权限的管控级别有两个级别:
···针对用户的权限控制
···针对用户组的权限控制
以下命令需要root用户执行,
创建用户组:groupadd 用户组名
删除用户组:groupdel 用户组名
创建用户:useradd [-g -d] 用户名
··· -g表示指定用户的组,不指定的话会创建同名组并加入
··· -d表示指定用户的HOME路径,不指定则HOME目录默认在:/home/用户名
例: useradd group1 -g user1 -d HOME路径
删除用户:userdel [-r] 用户名
··· -r表示删除用户的HOME目录
查看用户所属组:id [用户名]
修改用户所属组:usermod -aG 用户组 用户名
查看系统中有哪些用户:gatent passwd
···查看后一组用户有七份信息,分别是:
用户名 : 密码(x) : 用户ID : 组ID : 描述信息 : HOME目录 : 执行终端(默认为bash)
查看系统中有哪些用户组:gatent group
···查看后包含3份信息:
组名称:组认证(x):组ID
查看权限控制
通过ls -l可以以列表的形式查看内容,显示权限细节
查看内容前三部分分别表示 文件的权限细节 所属用户 所属用户组
权限细节总共分为10个槽位:
第一个槽位:- 则表示文件 d表示文件夹 l表示软链接
第2~4个槽位代表所属用户权限,第5~7个槽位代表所属用户组权限,第8~10个槽位代表其他用户权限。它们的三个槽位分别是 :r或- w或- x或-。
···r即read,表示读权限;w即write,表示写权限;x表示执行权限,能将文件作为程序执行
修改权限控制命令chmod
chmod可以修改文件和文件夹的权限信息,只有文件的所属用户或者root用户可以修改权限
语法:chmod [-R] 权限 文件或文件夹
··· -R表示对文件夹内的全部内容应用同样的操作
例如:chmod u=rwx,g=rx,o=x hello.txt
其中u即user表示所属用户,g即group表示所属用户组,o即other代表其他用户
该命令表示将该文件权限修改为:rwxr-x--x
权限也可以用数字来代表:
···0:无任何权限,即 ---
···1:仅有x权限,即--x
···2:-w-
···3:-wx
···4:r--
···5:r-x
···6:rw-
···7:rwx
chown命令可以修改文件或文件夹的所属用户和用户组,此命令只适用于root用户执行
语法:chown [-R] [用户] [:] [用户组] 文件或文件夹