linux基础命令之文件权限的管理及ACL的扩展
2017-02-20 22:34
591 查看
Linux文件权限的管理
文件:
查看文件权限 #ll 文件名
显示:- rwx r-x r-x root root filename
从左往右依次表示(以空格作为分隔):
1. 类型,-表示文件,d表示目录
2. 拥有者权限 eg:root
3. 所属组权限 eg:root
4. 其他人权限 eg:普通用户
5. 拥有者
6. 属组
7. 文件名
其中r表示read,可读,可以查看,不能更改删除;w表示write,可写,可插入修改,x表示可执行,一般指的是脚本文件
目录
r表示可读,即可以看到目录里的内容 #ls
w表示可写,建文件,删除,移动等操作 #touch mkdir rm mv cp等
x表示可进入
用数字表示权限的表示方法
二进制
0. 代表无权限
1. x可执行 1 001 --x
2. w可写 2 010 -w-
3. wx可执行可写 3 011 -wx
4. r可读 4 100 r--
5. r+x可读可执行 5 101 r-x
6. r+w可读可写 6 110 rw-
7. rwx可读可写可执行 7 111 rwx
eg:#chmod 622文件名
修改文件权限的相关命令
#chmod 【参数】
-a 表示所有者的权限
-u 表示拥有组的权限user
-g 表示组的权限group
-o 表示其他人other
可以使用运算符来设置权限-+=
Eg:
#chmod u-wa.txt
#chmod
g+x a.txt
#chmod
o=r a.txt
#chmod
a+x a.txt
查看目录权限#ll –d目录
一次性修改多个权限 eg:#chmod u=rwx
修改文件的所属主组
语法 #chown user:group 文件名
Eg:
1.同时修改属主和属组 #chown a:b c.txt
2,修改属主 #chown daemon c.txt
3.修改属组 #chown :bin c.txt
-R表示递归,即目录下所有的内容全部更改,否则只修改目录
Eg:#chmod
u-w cpu/ -R
一个文件只有读的权限,拥有者是可以写这个文件的,可以正常写入,但是保存时用:wq!
在linux系统创建之初,为了安全起见,任何用户所创建文件的都没有可执行的权限x,文件的权限为777-111=666,然而实际的权限为644,这是因为有权限补码的存在
设置文件默认权限的补码umask,umask,拿走的意思,就好比文件的权限是666,umask=022,剩下的就是文件的权限644了
权限是0000,0的位置代表
第一个0 代表文件的特殊权限
第二个0 代表文件所有者
第三个0 代表所有组
第四个0 代表
其他人
查看当前umask #umask
一般默认,文件的权限是644,目录的权限是755
如何去计算文件的权限:文件默认的权限是权限 与 umask的取反做“与”运算
查看文件的路径 #which 文件名
特殊权限
SUID (用户)——限定:智能设置在二进制可执行程序上面,对目录文本设置无效
——功能:程序运行时的权限从执行者变更成程序的拥有者
转换身份eg:把普通用户转换成root身份
#chmodas /bin/less
SGID (组)——限定:既可以给二进制可执行程序设置,也可以给目录设置
——功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组
Eg:#chmod g+s目录/
Stickbit 粘滞位
——限定:只作用于目录
——功能:目录下创建的文件只有root,文件创建者,目录所有者才能删除,保证文件只有本人才能删除
Eg:#chmod 1777目录/
ACL的使用
ACL,Access
Control List,ACL可以针对单个用户,单个文件或目录来进行rwx的权限设定,特别适用于需要特殊权限的使用情况
查看是否支持ACL #dumpe2fs /dev/sda1 |
grep acl
如果不支持,则挂载acl #mount
–o remount,acl /dev/sda1
文件:
查看文件属性 #getfacl 文件名
设置acl #setfacl -m u:用户:rw 文件名
目录:
设置acl,其中-R一定要在-m之前,表示目录下所有的文件
#setfacl -R
–m u:用户:rw 目录
删除ACL
#setfacl -x u:用户 文件名 删除某用户
删除所有用户的acl权限 #setfacl -b 文件名
创建一个root都无法删除的文件
Linux文件系统扩展属性:chattr lsattr
选项说明:+a 只能追加内容
+i 不能被修改
Eg:#chattr +a 文件名
#chattr +i
文件名
文件:
查看文件权限 #ll 文件名
显示:- rwx r-x r-x root root filename
从左往右依次表示(以空格作为分隔):
1. 类型,-表示文件,d表示目录
2. 拥有者权限 eg:root
3. 所属组权限 eg:root
4. 其他人权限 eg:普通用户
5. 拥有者
6. 属组
7. 文件名
其中r表示read,可读,可以查看,不能更改删除;w表示write,可写,可插入修改,x表示可执行,一般指的是脚本文件
目录
r表示可读,即可以看到目录里的内容 #ls
w表示可写,建文件,删除,移动等操作 #touch mkdir rm mv cp等
x表示可进入
用数字表示权限的表示方法
二进制
0. 代表无权限
1. x可执行 1 001 --x
2. w可写 2 010 -w-
3. wx可执行可写 3 011 -wx
4. r可读 4 100 r--
5. r+x可读可执行 5 101 r-x
6. r+w可读可写 6 110 rw-
7. rwx可读可写可执行 7 111 rwx
eg:#chmod 622文件名
修改文件权限的相关命令
#chmod 【参数】
-a 表示所有者的权限
-u 表示拥有组的权限user
-g 表示组的权限group
-o 表示其他人other
可以使用运算符来设置权限-+=
Eg:
#chmod u-wa.txt
#chmod
g+x a.txt
#chmod
o=r a.txt
#chmod
a+x a.txt
查看目录权限#ll –d目录
一次性修改多个权限 eg:#chmod u=rwx
修改文件的所属主组
语法 #chown user:group 文件名
Eg:
1.同时修改属主和属组 #chown a:b c.txt
2,修改属主 #chown daemon c.txt
3.修改属组 #chown :bin c.txt
-R表示递归,即目录下所有的内容全部更改,否则只修改目录
Eg:#chmod
u-w cpu/ -R
一个文件只有读的权限,拥有者是可以写这个文件的,可以正常写入,但是保存时用:wq!
在linux系统创建之初,为了安全起见,任何用户所创建文件的都没有可执行的权限x,文件的权限为777-111=666,然而实际的权限为644,这是因为有权限补码的存在
设置文件默认权限的补码umask,umask,拿走的意思,就好比文件的权限是666,umask=022,剩下的就是文件的权限644了
权限是0000,0的位置代表
第一个0 代表文件的特殊权限
第二个0 代表文件所有者
第三个0 代表所有组
第四个0 代表
其他人
查看当前umask #umask
一般默认,文件的权限是644,目录的权限是755
如何去计算文件的权限:文件默认的权限是权限 与 umask的取反做“与”运算
查看文件的路径 #which 文件名
特殊权限
SUID (用户)——限定:智能设置在二进制可执行程序上面,对目录文本设置无效
——功能:程序运行时的权限从执行者变更成程序的拥有者
转换身份eg:把普通用户转换成root身份
#chmodas /bin/less
SGID (组)——限定:既可以给二进制可执行程序设置,也可以给目录设置
——功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组
Eg:#chmod g+s目录/
Stickbit 粘滞位
——限定:只作用于目录
——功能:目录下创建的文件只有root,文件创建者,目录所有者才能删除,保证文件只有本人才能删除
Eg:#chmod 1777目录/
ACL的使用
ACL,Access
Control List,ACL可以针对单个用户,单个文件或目录来进行rwx的权限设定,特别适用于需要特殊权限的使用情况
查看是否支持ACL #dumpe2fs /dev/sda1 |
grep acl
如果不支持,则挂载acl #mount
–o remount,acl /dev/sda1
文件:
查看文件属性 #getfacl 文件名
设置acl #setfacl -m u:用户:rw 文件名
目录:
设置acl,其中-R一定要在-m之前,表示目录下所有的文件
#setfacl -R
–m u:用户:rw 目录
删除ACL
#setfacl -x u:用户 文件名 删除某用户
删除所有用户的acl权限 #setfacl -b 文件名
创建一个root都无法删除的文件
Linux文件系统扩展属性:chattr lsattr
选项说明:+a 只能追加内容
+i 不能被修改
Eg:#chattr +a 文件名
#chattr +i
文件名
相关文章推荐
- Linux 基础入门(二、ls命令与文件的权限管理)
- Linux acl命令,实现文件权限管理
- Linux 基础命令(四)—— 文件的权限和访问控制列表(ACL)
- Linux 基础命令(四)—— 文件的权限和访问控制列表(ACL)
- Linux基础文件管理命令之rm,mv,cp,touch
- Linux基础 标准教程(2)—文件和目录管理命令 ls
- linux文件管理类命令,类型,用户的权限管理及bash shell的特性:命令别名,文件名通配
- Linux基础之权限管理ACL
- 学习Linux 《鸟哥的Linux私房菜 基础学习篇(第三版)》--第14章 Linux账号管理和ACL权限设定1。 笔记
- linux基础,文件、目录管理,权限、chown、umask
- Linux基础命令之文件管理
- Linux基础管理——文件权限管理(访问控制)
- linux基础命令(二)用户管理和权限管理
- Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)
- Linux 文件及目录权限基础命令操作
- Linux学习日记--基础命令(5)--用户和组概念与管理--文件权限
- Linux文件权限管理命令备忘录
- Linux命令——文件权限管理
- Linux命令工具基础02 文件及目录管理
- Linux学习命令汇总三——Linux用户组管理,文件权限管理,文本处理工具grep及egrep