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": 不允许的操作

相关推荐
摇滚侠15 分钟前
Linux 零基础教程 09、11、77
linux·运维·服务器
小樱花的樱花4 小时前
Linux 多线程编程:互斥锁(Mutex)详解
linux·c语言·开发语言
麦兜和小可的舅舅4 小时前
从原理到实战:Linux 系统性能诊断核心指标全解析及生产系统故障分析复盘
大数据·linux·运维
mounter6254 小时前
质检员与超能引擎的碰撞:KASAN 护航 eBPF JIT 的技术演进与安全抉择
linux·ebpf·linux kernel·kernel·kasan
风123456789~5 小时前
【Linux专栏】history常用命令
linux·运维·服务器
熬夜苦读学习5 小时前
基于websocket的多用户五子棋网页游戏
linux·服务器·网络·websocket·网络协议·游戏·五子棋
fpcc5 小时前
Linux 7.1介绍
linux·运维
三8446 小时前
磁盘管理/fdisk
linux·运维·服务器
库玛西6 小时前
深入剖析 Linux 线程机制与分页式存储管理
linux·服务器·c++·笔记
春卷同学6 小时前
HarmonyOS掌上记账APP开发实践第18篇:编译时优化与 ArkTS 语法限制 — 提升应用性能的编码规范
linux·运维·ubuntu