本文共 4783 字,大约阅读时间需要 15 分钟。
文件基本权限
对于文件:r读 w写 x执行
对于目录:r读(看到目录里面有什么) ls
w建文件、删除、移动 touch mkdir rm mv cp x进入 cd 第一个表示文件的类型,如d目录,-(f)普通文件,L链接,b块设备,c字符设备,p管道文件,s套接字文件 修改权限的相关命令: chmod chmod [ugoa][+-=][rwx] 文件或目录使用数字表示权限
r=4,w=2,x=1,用户权限=4+2+1=rwx[root@localhost ~]# chmod 622 a.txt
[root@localhost ~]# ll a.txt -rw--w--w- 1 root root 0 Feb 15 07:52 a.txt [root@localhost ~]#chown
作用:修改文件拥有者和所属组 语法:chown USER:GROUP 对象 chown USER 对象 chown :GROUP 对象 [root@localhost ~]# chown rm:bin a.txt [root@localhost ~]# ll a.txt -rw--w--w- 1 rm bin 0 Feb 15 07:52 a.txt [root@localhost ~]# chown daemon a.txt [root@localhost ~]# ll a.txt -rw--w--w- 1 daemon bin 0 Feb 15 07:52 a.txt [root@localhost ~]# chown :sys a.txt [root@localhost ~]# ll a.txt -rw--w--w- 1 daemon sys 0 Feb 15 07:52 a.txt-R递归(目录下的所有内容全部更改,否则只修改目录)
[root@localhost ~]# chown rm test/ -R [root@localhost ~]# ll -d test/ dr-xr-xr-x 2 rm root 30 Feb 15 08:21 test/ [root@localhost ~]# ll test/ total 0 -rw-r--r-- 1 rm root 0 Feb 15 08:21 a.txt -rw-r--r-- 1 rm root 0 Feb 15 08:21 b.txt一个文件只有读的权限,拥有者是否可以写这个文件? 文件所有者一定可以写文件
[root@localhost ~]# ll /home/rm/rm.txt -r--r--r-- 1 rm rm 30 Feb 15 08:01 /home/rm/rm.txt [root@localhost ~]# su - rm [rm@localhost ~]$ vim rm.txt 结果:可以正常写入,注意:保存时用wq!特殊权限:
SUID SGID Stickybit s对应的数值为:u 4,g 2,o 1 SUID: 限定:只能设置在二进制可执行程序上面。对目录文本设置无效。 功能:程序运行时的权限从执行者变更成程序所有者。 [root@localhost ~]# which passwd /usr/bin/passwd [root@localhost ~]# ll /usr/bin/passwd -rwsr-xr-x. 1 root root 27832 Jan 29 2014 /usr/bin/passwd[root@localhost ~]# which less
/usr/bin/less [root@localhost ~]# less /etc/shadow ##root用户可以通过less访问passwd文件 [root@localhost ~]# [root@localhost ~]# su - u01 上一次登录:五 12月 8 03:03:06 CST 2017pts/1 上 [u01@localhost ~]$ less /etc/shadow /etc/shadow: 权限不够 [root@localhost ~]# chmod u+s /usr/bin/less 等同于 [root@localhost ~]# chmod 4755 /usr/bin/less [u01@localhost ~]$ less /etc/shadow ##可以通过less访问shadow和passwd文件 [u01@localhost ~]$ less /etc/passwdSGID
限定:既可以给二进制可执行程序设置,也可以给目录设置。 功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组 [root@localhost ~]# mkdir 123 [root@localhost ~]# id u01 uid=2022(u01) gid=2022(u01) 组=2022(u01) [root@localhost ~]# chown :u01 123/ [root@localhost ~]# ll -d 123 drwxr-xr-x. 2 root u01 6 12月 8 04:38 123 [root@localhost ~]# touch 123/123.txt [root@localhost ~]# ll 123 总用量 0 -rw-r--r--. 1 root root 0 12月 8 04:39 123.txt加上SGID
[root@localhost ~]# chmod g+s 123 [root@localhost ~]# touch 123/456.txt [root@localhost ~]# ll 123 总用量 0 -rw-r--r--. 1 root root 0 12月 8 04:39 123.txt -rw-r--r--. 1 root u01 0 12月 8 04:41 456.txtStickybit
限定:只作用于目录 功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除 [root@localhost ~]# ll -d /tmp/ drwxrwxrwt. 14 root root 4096 Feb 15 09:08 /tmp/[root@localhost ~]# chmod 1777 /share/
[root@localhost ~]# ll -d /share/ drwxrwxrwt 2 root root 6 Feb 15 09:10 /share/[u01@localhost ~]$ cd /share/
[u01@localhost share]$ ls [u01@localhost share]$ touch 123.txt[root@localhost ~]# useradd u02
[root@localhost ~]# su - u02 [u02@localhost ~]$ cd /share/ [u02@localhost share]$ rm -rf 123.txt rm: cannot remove ‘123.txt’: Operation not permitted扩展ACL
[root@localhost ~]# ll 123.txt
-rw-r--r--. 1 root root 64 12月 8 01:16 123.txt[root@localhost ~]# getfacl 123.txt ##查看acl权限
user::rw-
group::r-- other::r--[root@localhost ~]# setfacl -m u:u01:rw 123.txt ##设置acl给u01用户读写的权限
[root@localhost ~]# getfacl 123.txtuser::rw-
user:u01:rw- group::r-- mask::rw- other::r--对目录进行设置
[root@localhost ~]# setfacl -R -m u:u02:rw 123 (-R一定要在-m前面,表示目录下所有文件)[root@localhost ~]# getfacl !$
getfacl 123user::rwx
user:u02:rw- group::r-x mask::rwx other::r-x删除acl
[root@localhost ~]# setfacl -x u:u01 123.txt #删除单个用户的acl权限 [root@localhost ~]# setfacl -b 123.txt #删除所有用户的acl权限实战-创建一个让root都无法删除的黑客文件
Linux文件系统扩展属性:chattr(添加权限) lsattr(取消权限) +a 只能追加内容 +i 不能被修改[root@localhost ~]# echo "123456" >123.txt
[root@localhost ~]# cat 123.txt 123456 [root@localhost ~]# chattr +a 123.txt [root@localhost ~]# echo "789" >123.txt -bash: 123.txt: 不允许的操作 [root@localhost ~]# echo "789" >>123.txt [root@localhost ~]# cat 123.txt 123456 789 [root@localhost ~]# rm -rf 123.txt rm: 无法删除"123.txt": 不允许的操作 [root@localhost ~]# chattr +i 123.txt [root@localhost ~]# echo "123456" >>123.txt -bash: 123.txt: 权限不够[root@localhost ~]# lsattr 123.txt ##查看
----ia---------- 123.txt [root@localhost ~]# chattr -i 123.txt ##取消i权限 [root@localhost ~]# chattr -a 123.txt ##取消a权限 [root@localhost ~]# lsattr 123.txt ---------------- 123.txt实际应用:
[root@localhost ~]# chattr +a /etc/passwd [root@localhost ~]# chattr +a /etc/shadow##还能针对日志文件进行设置
本文转自信自己belive51CTO博客,原文链接: http://blog.51cto.com/11638205/2048699,如需转载请自行联系原作者