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

相关推荐
YOYO--小天16 分钟前
RK3588 ADB使用
linux·嵌入式硬件·adb
Strugglingler31 分钟前
Shell 脚本
linux·bash·shell
孞㐑¥1 小时前
Linux之基础IO
linux·开发语言·c++·经验分享·笔记
时光飞逝的日子1 小时前
linux下编写shell脚本一键编译源码
linux·shell·脚本·编译
时光飞逝的日子1 小时前
Ubuntu 18.04设置静态IP的方法(图形化操作)
linux·ubuntu·静态ip
带鱼吃猫2 小时前
Linux系统:ext2文件系统的核心概念和结构
linux·运维·服务器
qwer555882 小时前
linux-----------------库制作与原理(下)
linux·运维·服务器
m0_519523102 小时前
Linux——UDP/TCP协议理论
linux·tcp/ip·udp
xmweisi022 小时前
【Linux】ssh命令 – 安全的远程连接服务
linux·安全·ssh
Pacify_The_North2 小时前
【进程控制二】进程替换和bash解释器
linux·c语言·开发语言·算法·ubuntu·centos·bash