Linux基础之
用户的权限
1.基本权限UGO
1.互联网各种app特权,在管理员面前真实的样子
由超管决定某个计算机用户,是否能访问某个文件(文件包含:图片文件,视频文件,普通文件)
2.设置权限的两个基本元素
·权限对象
·权限类型
3.权限的三类对象
·属主:u
·属组:g
·其他人:o
·特殊对象:所有人:a(u+g+o)
4.权限的三种类型
·读:r=4
·写:w=2
· 执行:x=1
5.设置权限
更改权限
1)使用符号
例子
chmod u+r 1.txt //chmod授权命令 u+r对象加减权限 1.txt文件或目录
chmod -R u+r 目录 //该目录下所有文件权限进行更改,如果不加-R,则只更改该目录权限
//1.给file授予属主读的权限
chmod u=r file
//给file授予属组读写执行的权限
chmod g=rwx file
//给file授予,其他用户没有读写和执行的权限
chmod o=--- file
--------------------------------------------------------------------------------------
ls -l file1和ll file1功能(相同)
ls -l -d 文件夹路径 //显示文件夹权限
echo 语句 //输出语句,按enter键以后会在屏幕上显示该语句(了解)
2)使用数字(看例子即可)
//用户,组,其他都能进行读写执行权限
chmod 777 file.txt
//用户读写执行,组读写,其他无
chmod 760 file.txt
3)更改属主,属组
语法:chowm 用户名.组名 文件
chown user01.hr /tmp/file1.txt //属主改为user01,属组改为hr
chown user01 /tmp/file1.txt //属主改为user01,属组不改
chown .hr /tmp/file1.txt //属主不改,属组改为hr
2.基本权限ACL
概念:ACL:access(访问) control(控制)list(列表),是UGO的补充,或者说是UGO的加强版。
1.设置
语法:setfacl -设置 对象:对象名:权限 文件对象
//获取文件权限
getfacl 文件路径
//设置属主为alice用户权限为读写(需要先创建该用户)
setfacl -m u:alice:rw /home/text.txt
2.删除
语法:setfacl -x 对象:对象名 文件对象
setfacl -x u:alicl /home/test.txt
语法:setfacl -b 文件对象
//删除所有acl权限
setfacl -b /home/test.txt
3.修改文件的权限
//给user01赋予写的权限
setfacl -m u:user01:r /tmp/filr01.txt
//删除用户user01的权限
setfacl -x u:user01 /tmp/file01.txt
3.特殊权限(了解)
问题:如果一个文件很重要,万一被超管删除了怎么办?
答:靠特殊的i权限
SUID权限特殊位
suid是针对文件所设置的一个特别的权限
功能:使调用文件的用户临时具备属主的能力
位置:如下图所示第二个r前一个位置,被称为属主的执行位
授权语句
chmod u+s /usr/bin/cat
文件属性chattr
用途:常用来锁某个文件,拒绝修改
常用属性列表
属性 | 描述 |
---|---|
a(append) | 允许在文件中进行追加操作 |
A | 这个属性不允许更新文件的访问时间 |
c(compressed) | 启用这个属性时,文件在磁盘上会自动压缩 |
d(dump) | 不能使用dump命令备份文件 |
D | 设置了文件夹的D属性时,更改会在同步保存在磁盘上 |
e(extent for mat) | 它表明,该文件使用磁盘上的块的映射扩展 |
i(immutable) | 在文件上启动这个程序时,我们不能更改,重命名或者删除这个文件 |
j(journaling) | 设置了这个属性时,文件中的数据首先保存在日志中,然后再写入文件 |
S(synchronous) | 设置了这个属性时,变更或更改同步保存到磁盘上 |
//锁住file01.txt,使它不能被修改
chattr +i file01.txt
//若想修改,则应该使用以下语句
chattr -i file01.txt
进程掩码umask
新建文件,目录的默认权限会受到umask的影响,umask表示要减掉的权限
umask //只输入umask即可