目录
?root用户具有最大的系统操作权限,普通用户的权限有限。
普通用户的权限,一般在其HOME目录内是不受限的
一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
su 和 exit??
1.2.1 su?切换账户?
起源:Switch User
语法:su? [-] [用户名]
-? ????????????????选项,表示是否在切换用户后加载环境变量,建议带上
用户名????????参数,表示要切换的用户,用户名也可以省略,省略表示切换到root
【注意】
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
使用普通用户,切换到其他用户需要输入密码,如切换到root用户
使用root用户切换到其他用户,无需密码,可以直接切换
?语法:sudo 其他命令
在其他命令之前,加上sudo,即可以root权限运行该命令
但普通用户使用sudo之前,我们需要为普通用户配置sudo认证
?为普通用户配置sudo认证
1)切换到root用户? ? ? ? su - root
?????执行visudo命令(自动通过vi编辑器打开: /etc/sudoers? )
2)? 点击i,在文件的最后添加:
用户名? ?ALL=(ALL)? ? ? ? ? NOPASSWD:ALL
3)???点击Esc,输入:wq进行保存并退出。
测试:
在根目录下创建文件夹
su - 用户名? ? ? ? ????????切换到普通用户
sudo ls /? ? ? ? ? ? ? ? ? ? ?浏览根目录的文件? ? ? ? ? ? ? ?
sudo mkdir /test? ? ? ? ?在根目录下创建一个名为test的文件夹
Linux系统中可以:
1)配置多个用户
2)配置多个用户组
3)用户可以加入多个用户组中?
Linux中关于权限的管控级别有2个级别,分别是:
1)针对用户的权限控制
?2)针对用户组的权限组的权限控制
比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。
2.2.1 用户组管理
以下命令需要root用户执行?
创建用户组
groupadd 用户组名
删除用户组?
groupdel 用户组名
?示例
su - root? ? ? ? ? ? ? ?? ?切换到root用户
groupadd test? ? ? ? ?创建用户组test
groupdel test? ? ? ? ? 删除用户组test
用户管理
以下命令需root用户执行
创建用户
语法:useradd [-g -d]? 用户名
-g? ? ? ? 选项,指定用户的组,若已存在同名组,则需要加上-g;若不存在同名组,则无需-g,
? ? ? ? ? ? 会自动创建同名组并自动加入。
-d? ? ? ? 选项,指定用户HOME路径。若不指定则该用户的HOME目录默认在: /home/用户名
示例
创建用户sky并添加到test用户组中
groupadd test
useradd -g test sky
id sky? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看用户sky所属用户组
删除用户
语法: userdel? [-r]? 用户名
-r? ? ? ? ? 选项,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
查看用户所属组
语法:id? [用户名]
用户名? ? ? ? 参数,被查看的用户,如果不提供则查看自身
修改用户所属组
语法:usermod? -aG???用户组? 用户名
将指定的用户加入指定用户组
示例
将用户sky加入到用户组blue?
usermod? -aG blue sky
id? sky????????????????????????????????查看用户sky所属用户组
passwd 用户名
设置用户密码??
2.2.2 getent 查看当前系统中有哪些用户
语法:getent passwd
命令输出的内容,可分为7个信息:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
getent????????查看当前系统中有哪些用户组
语法二:getent group
包含3份信息
组名称:组认证(显示为x):组ID
?
序号1? ? ? ? 表示文件、文件夹的权限控制信息
序号2? ? ? ? 表示文件、文件夹所属用户
序号3? ? ? ? 表示文件、文件夹所属用户组?
?
其中rwx表示什么?
?r? ? ? ? read,表示读权限
w? ? ? ? wirte,表示写权限
x? ? ? ? ?execute,表示执行权限
但需要注意
针对文件、文件夹的不同,rwx的含义有细微差别
字符 | 针对文件 | 针对文件夹 |
r | 可以查看文件内容 | 可以查看文件夹内容,如ls命令 |
w | 可以修改此文件 | 可以在文件夹内:创建、删除、改名等操作 |
x | 可以将文件作为程序执行 | 可以更改工作目录到此文件夹,即cd进入 |
示例
首字母为d? ? ? ? ? ? ? ? ? ? ? ? ?表示这是一个文件夹
第2、3、4个字符rwx? ? ? ? 表示用户star对该文件夹具有的权限有r、w、x
第5、6、7个字符 r-x? ? ? ? ?表示用户组star对该文件夹具有的权限有r、-、x
第5、6、7个字符 r-x? ? ? ? ?表示其他用户对该文件夹具有的权限有r、-、x
?语法:chmod [-R] 权限 文件或文件夹
-R? ? ? ? 选项,对文件夹内的全部内容应用同样的操作
【注意】
?只有文件、文件夹的所属用户或root用户可以修改。
示例
将文件hello.txt权限修改为rwxr-x--x?
chmod u=rwx,g=rx,o=x
将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x?
?chmod -R u=rwx,g=rx,o=x test?
?【注意】 u表示user(所属用户权限),g表示group(用户组权限),o表示other(其他用户权限)
快捷写法
权限可以用3位数字来代表,第一位表示用户用户权限,第二位表示用户组权限,第三位表示其他用户权限。
数字的细节如下:r记为4,w记为2,x记为1,可以有?
10进制 | 2进制 | 权限 |
0 | 000 | --- |
1 | 001 | --x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r-- |
5 | 101 | r-x |
6 | 110 | rw- |
7 | 111 | rwx |
示例
将hello.txt的权限修改为:r-x--xr-x,数字序号为:
chmod 515 hello.txt
将hello.txt的权限修改为-wx-w-rw-,数字型号为:
chmod 326 hello.txt
序号123代表的权限是
--x-w--wx?
?chown? ? ? ? 即change owner
功能:修改文件、文件夹所属用户、用户组
限制:只可root执行
?语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
?-R? ? ? ? ? ? ? ?选项,同chmod,对文件夹全部内容同规则
用户? ? ? ? ? ? ?选项,修改所属用户
:? ? ? ? ? ? ? ? 选项,用于分隔用户和用户组
用户组? ? ? ? ?选项,修改所属用户组
示例?
将test.txt?所属用户修改为root
?chown root test.txt
将test.txt 所属用户组修改为root
?chown? : root? test.txt
将test.txt 所属用户修改为root,用户组修改为star
?chown root : star test.txt
将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
?chown -R root test