Linux权限

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

超级用户:可以在linux系统下做任何事情,不受限制

普通用户:在linux行动受限制

超级用户的命令提示符是"#",普通用户的命令提示符是"$"

文件访问者的分类(角色)

拥有者:文件/文件目录的所有者

所属组:文件/文件目录拥有者所在的组的用户

other:其他用户

文件类型和访问权限(事物属性)

r:可读(对于文件,则可以读取文件内容,对于目录,则可以浏览此目录的文件列表)

w:可写(对于文件,则可以修改文件内容,对于目录,则可以创建/删除文件)

x:可执行(对于文件,具有执行文件的权限,对于目录,则可以进入目录)

"---"表示不具有该项权限

文件类型

d:文件夹

-:普通文件,如源代码,可执行程序等

l:软链接(类似Windows的快捷方式)

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

p:管道文件

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

s:套接口文件

文件权限值的表示方法

1 字符表示

2 八进制表示

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

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

格式1:用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

格式2 三位8进制数字

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

umask

功能:
查看或修改文件掩码
新建文件默认权限(起始权限)=0666
新建目录默认权限(起始权限)=0777

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

户默认为0002

但实际上新创建的文件和目录,看到的权限往往不是上面这个值,因为还要受到umask的影响

假设默认权限是mask,则实际创建的出来的文件权限是:mask & ~umask

即,最终权限=起始权限-权限掩码中出现的权限

权限掩码002--> 000 000 010

新建文件的起始权限是666--> 110 110 110

新建文件的最终权限: 110 110 100 即 664(rw- rw- r--)

粘滞位

一个文件一定属于一个目录,文件能否被新建和删除不由它本身决定,而与目录的权限有关

若是当张三和李四共处同一个目录下,由于当前目录的other有w权限,那么张三就可新建自己的文件,张三也可以删除自己建立的文件,但是李四也可以删除张三建立的文件,这就有点小bug了,那么粘滞位的出现,即可解决以上问题

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
超级管理员删除及目录的拥有者删除

root@localhost \~\]# chmod +t /home/ # 加上粘滞位 \[root@localhost \~\]# ls -ld /home/ drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/ \[root@localhost \~\]# su - litao \[litao@localhost \~\]$ rm /home/abc.c #litao不能删除别人的文件 rm:是否删除有写保护的普通空文件 "/home/abc.c"?y rm: 无法删除"/home/abc.c": 不允许的操作

相关推荐
Trouvaille ~3 分钟前
【Linux】线程同步与互斥(三):生产者消费者模型实战
linux·运维·c++·信号量·阻塞队列·生产者消费者模型·环形队列
遇见火星6 分钟前
Linux Screen 命令入门指南
linux·运维·服务器
Doro再努力42 分钟前
【Linux操作系统06】深入理解权限掩码与粘滞位
linux·运维·服务器
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][dma]stm32-dma
linux·笔记·学习
mzhan0171 小时前
[Linux] vdso 32bit vs 64bit
linux·运维·服务器
旖旎夜光1 小时前
Linux(13)(上)
linux·网络
忧郁的橙子.1 小时前
26期_01_Pyhton linux基本命令
linux·运维·服务器
郝学胜-神的一滴1 小时前
深入解析Linux网络编程之bind函数:从基础到实践的艺术
linux·服务器·网络·c++·websocket·程序人生
西京刀客1 小时前
macOS 打出来的 tar 包,Linux 常见告警(tar 包里带了 macOS 的扩展属性(xattr))
linux·运维·macos
mango_mangojuice1 小时前
Linux学习笔记(角色,权限管理)1.21
linux·笔记·学习