Linux权限
Linux权限基础
四种权限大类
基本权限
特殊权限
隐藏权限
file ACL权限
三种基本权限
r(read)
读是基本权限,没有读权限其他的一切操作都会被限制
读 4
w(write)
写 2
x(exceute)
执行 1
文件权限案例
dr-xr-xr-x. 5 root root 4096 9月 19 17:37 boot
数字表示权限-555
文件的权限一共有9个字符,3个为一对
第一对 r-x
文件所有者对此文件所拥有的权限
读 执行
第二对 r-x
文件所属组对此文件所拥有的权限
读 执行
第三对 r-x
其他用户对此文件拥有的权限
读 执行
基本权限命令
chmod 改变文件的访问权限
命令语法
chmod [options] mode file...
命令选项
-R 递归设置权限,针对目录有效
mode 谁给什么权限
u(所有者) g(所属组) o(其他人) a(所有人)
+ - =
chmod u=rwx a
chmode a+rw b
权限 r 读 w 写 x 执行
数字权限
r 读 4
w 写 2
x 执行 1
一般使用这个数字权限简单方便
chmod 760 abc
chown 修改文件或文件夹所有者和组
命令语法
chown [options] user [:group] file...
命令选项
-R 递归设置,针对文件夹
chown 新所有者 文件名
chown 新的所有者.新的所属组 文件名
-R 递归修改 文件夹里面也有文件
chown zx125 zx1.txt
chgrp 改变文件或文件夹的所属组
命令语法
chgrp [选项] 组文件...
命令选项
-R 递归设置权限,针对目录有效
chgrp 新所有组 文件名
chown .新的所属组 文件名
chgrp zx125 zx1.txt
权限对于文件的作用
r:可读
w:可写[可写不代表可以删除,删除一个文件的前提是对文件所在的目录有写的权限]
x:可执行
权限对于文件夹的作用
r:可读(可用ls查看目录内容)
w:可写[可在目录内创建+删除+重命名文件或目录]
x:可执行[可以进入目录]
特殊权限
其实在文件三大权限之前还隐藏了一个特殊权限
SUID(Set UID) 4
1.只对二进制程序有效
2.首先执行者对于程序要有X的权限,那么它就拥有文件所有者的权限
3.权限只在文件运行时有效,执行完毕就不再拥有所有者的权限
chmod 4777 ****
直接能获取文件所有者的权限
suid 4 当一个二进制文件拥有SUID权限后,当其他用户执行该二进制文件的时候,该二进制文件就会以他所有者的权限去执行
SGID 2
1.使用者对此目录要有xw权限,才可以修改此目录
2.使用者修改后,此目录下新建的子文件夹或者子文件继承父文件夹的属组
#原先目录权限
drwxrwxr-x. 2 zx125 zx125 6 9月 25 00:06 zx
chmod 2766 zx
#修改后
drwxrwSrw-. 2 zx125 zx125 6 9月 25 00:06 zx
以root账户在zx里面新建a b c三个文件,并查看权限
-rw-r--r--. 1 root zx125 0 9月 25 00:09 a
-rw-r--r--. 1 root zx125 0 9月 25 00:09 b
-rw-r--r--. 1 root zx125 0 9月 25 00:09 c
SBIT 1
1.如果对某个目录赋予粘连位,那么其他账号只能在在此文件下操作自己的文件,没有权限去动别人的文件
chmod 1777 zx_home
drwxrwxrwt. 4 root root 32 9月 25 00:25 zx_home
如果给文件夹 赋予粘连位 则该文件夹下的文件或文件夹只能由所有者及ROOT删除
ACL权限
文件权限的订制
setfacl
setfacl [选项] file...
命令选项
-m 修改acl
-x 删除acl
-b 删除所有acl
-k 删除默认的acl
-R 递归
setfacl -m user:zx125:rwx root
getfacl
getfacl 查看文件权限
命令语法
getfacl file...
getfacl root
# file: root
# owner: root
# group: root
user::rw-
user:zx125:rwx
group::---
mask::rwx
other::---
隐藏权限
chattr [+-=][ASacdistu] 文件或文件名
命令选项:
+ : 增加某个特殊参数,其他原本存在的参数不动。
- : 删除某个特殊参数,其他原本存在的参数不动。
= : 设置一定,且仅有后面接的参数
#针对频繁的读写操作
A : 当设置了A属性时,这个文件(或目录)的存取时间atime(access)将不可被修改,可避免例如手提电脑有磁盘I/O错误的情况发生。
#数据实时写入硬盘,不在内存逗留,防止数据断电消失
S : 这个功能有点类似sync。就是将数据同步写入磁盘中。可以有效地避免数据流失。
a : 设置a之后,这个文件将只能增加数据,而不能删除,只有root才能设置这个属性。
c : 这个属性设置之后,将会自动将此文件“压缩”,在读取的时候将会自动解压缩,但在存储的时候,将会先进行压缩后再存储(对于大文件有用)。
d : 当执行dump(备份)程序的时候,设置d属性将可使该文件(或目录)具有转储功效。
i : i的作用很大。它可以让一个文件“不能被删除、改名、设置连接,也无法写入或新增数据”。对于系统安全性有相当大的帮助。
j : 当使用ext3文件系统格式时,设置j属性将会使文件在写入时先记录在journal中。但是,当文件系统设置参数为data=journalled时,由于已经设置日志了,所以这个属性无效。
s : 当文件设置了s参数时,它将会从这个硬盘空间完全删除。
u : 与s相反,当使用u来设置文件时,则数据内容其实还存在磁盘中,可以用来还原删除.
注意:这个属性设置上,比较常见的是a与i的设置值,而且很多设置值必须要root才能设置。