Linux权限

目录

Linux权限的概念

Linux权限的管理

文件访问者的分类

文件类型和访问权限

基本权限

了解命令条

文件访问权限的相关设置方法

1.修改所属者的权限

2.修改文件的拥有者

3.修改文件或目录的所属组(Group)

4.权限掩码(umask)

目录的权限

Linux权限的概念

Linux下有两种用户:root(超级用户),普通用户。

超级用户:可以在linux下做任何事情,没有限制且只有一个超级用户。命令提示符是“#”。

普通用户:只能在linux下做有限的事情,可以有很多个普通用户。命令提示符是“$”。

用户账号之间的切换命令:su

root@ubuntu:/home/slm/113# su slmx//由root转换成slmx(普通用户)
slmx@ubuntu:/home/slm/113$ su root//由slmx转换成root

从普通用户转换成超级用户也可以直接用命令su,后面不用加root。但是普通用户不能切换普通用户。

当我们在普通用户但是不想切换回超级用户,但是想做的是普通用户不能做,只能超级用户做,这时候我们可以给普通用户提高权限。

命令:sudo

即就是用超级用户的权限来执行命令

//把log.txt文件复制到/home/d1路径下且新建test.txt文件中
[slm@localhost home]$ cp log.txt ../d1/test.txt
cp: 无法创建普通文件"../d1/test.txt": 权限不够
[slm@localhost home]$ sudo cp log.txt ../d1/test.txt
[slm@localhost home]$ cd ../d1
[slm@localhost d1]$ ll
总用量 8
drwxr-xr-x. 3 root root  16 5月  18 21:59 d2
-rw-r--r--. 1 root root 138 9月   9 14:22 log
-rw-r--r--. 1 root root  22 9月   9 14:29 test.txt

Linux权限的管理

文件访问者的分类

分为三类:

文件和文件目录的所有者:u——User

文件和文件目录的所有者所在的组的用户(简单来说就是User在谁的组里):g ——Group

其他用户:o——Others(外来者)

文件类型和访问权限

文件类型:

d: 文件夹

_:普通文件

I:软链接(就相当于桌面上的软件(文件)但是它又放在C盘或D盘)

b:块设备文件(例如硬盘,光驱等)

p:管道文件(进程间通信学习)

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

基本权限

读(r):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。

写(w):对文件来说,具有修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

执行(x):对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。

“-”:表示不具有该项权限。

了解命令条

当我们在目录中用ls -l命令的时候会发现:

总的来说:权限=角色(所属者)+文件的权限属性(r/w/x),如果是超级用户,它不受文件的权限约束,但如果是普通用户它会受到文件权限的约束。

文件访问权限的相关设置方法

1.修改所属者的权限

命令:chmod

有两种设置方法:

1.字符表示法

chmod命令权限值的格式:

⽤户表示符+/-=权限字符
◦ +:向权限范围增加权限代号所表示的权限
◦ -:向权限范围取消权限代号所表示的权限
◦ =:向权限范围赋予权限代号所表示的权限
◦ ⽤户符号:
◦ u:拥有者
◦ g:拥有者同组⽤
◦ o:其它⽤户
◦ a:所有⽤户

例如:chmod u+w /home/d1/log          //在user权限里加入w权限

同理chmod o-x /home/d1/log                  //log文件中others没有x权限

chmod a=x /home/d1/log                        //log文件中所有用户都有x权限

当然,我们也可以多人设置:chmod u+x,g+x,o+x /home/d1/log,用逗号隔开

2.    八进制数值表示方法

对于文件权限也是有规定的,第一个都是r然后是w再到x,所以八进制就可以清楚表示权限的设置。比如上面一刚开始log文件权限是-rw-r--r--,上面那个命令条那里的图片也提到权限是三个为一组,所以log文件权限也可以表示为110 100 100,对应八进制为644。

想实现和上面一样的权限,那么我么可以用 chmod 744  /home/d1/log

2.修改文件的拥有者

命令:chown

3.修改文件或目录的所属组(Group)

命令:chgrp

4.权限掩码(umask)

当我们新建文件的时候,我们会发现每个新建的文件的权限都会有一些地方缺省权限,这是因为什么呢?

小知识:

新建文件默认权限为0666(_rw_rw_rw_)

新建目录默认权限0777(drwxrwxrwx)

但是我们发现新建的文件或目录的权限并不是上面默认的那样。原因就是在创建文件或目录的时候还要受umask的影响。假设默认权限为mask,则实际创建出来的文件权限是:mask&~umask.

超级用户的默认掩码值为0022,普通用户默认为0002。

[slm@localhost d1]$ umask//普通用户
0002
[root@localhost d1]# umask//超级用户
0022

用umask也可以对权限掩码进行修改:

[root@localhost d1]#umask 755
[root@localhost d1]# umask
0755
[root@localhost d1]# umask 22
[root@localhost d1]# umask
0022

目录的权限

x权限:无法通过cd命令进入目录

w权限:无法在目录删除,新建文件

r权限:无法通过ls命令访问命令文件的内容

[root@localhost d1]# chmod 0777 /home/d1
[root@localhost d1]# ls /home/d1 -ld
drwxrwxrwx. 3 root root 16 9月   9 16:30 /home/d1
[root@localhost d1]# touch /home/d1/myfile.txt
[root@localhost d1]# ls -l /home/d1
总用量 0
drwxr-xr-x. 3 root root 16 3月  13 15:32 d2
-rw-r--r--. 1 root root  0 9月   9 16:32 myfile.txt
[root@localhost d1]# su - slm
上一次登录:二 9月  9 16:28:03 CST 2025pts/2 上
[slm@localhost ~]$ rm -f /home/d1/myfile.txt
[slm@localhost ~]$ ll /home/d1
总用量 0
drwxr-xr-x. 3 root root 16 3月  13 15:32 d2

这时我们发现了我们用超级用户写的文件,别人只有有w权限就可以删除超级用户的文件,所以linux引进了粘滞位

[slm@localhost ~]$ ll /home/d1
总用量 0
drwxr-xr-x. 3 root root 16 3月  13 15:32 d2
-rw-r--r--. 1 root root  0 9月   9 16:40 myfile.c
[slm@localhost ~]$ sudo chmod +t /home/d1
[slm@localhost ~]$ rm -f myfile.c
[slm@localhost ~]$ ll /home/d1
总用量 0
drwxr-xr-x. 3 root root 16 3月  13 15:32 d2
-rw-r--r--. 1 root root  0 9月   9 16:40 myfile.c

当⼀个⽬录被设置为"粘滞位"(⽤chmod +t),则该⽬录下的⽂件只能由
1. 超级管理员删除
2. 该⽬录的所有者删除
3. 该⽂件的所有者删除

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值