rwx-rwx-rwx
读(4)写(2)执行(1) 4+2+1=7 用户(owner)组(group) 其他(others)
chgrp组名 文件
-R 递归持续变更目录下所有 #改变文件所属群组
chown 用户 文件或目录
chown 用户:组 文件或目录
chmod -R 777
文件或目录 u=rwx,g=rwx,o=rwx
(±=) a=代表全部
r 对于文件可以读取内容 ,对于目录具有查看内容,但不能进入
w 对于文件来说可以读取修改保存文件内容(要有r权限),但不能删除文件(目录权限限制)。对于目录来说可以修改名字删除移动目录和文件
X 对于文件来说是否有执行权限。对于目录是否拥有进入该目录权限。
颜色 | 代表内容 | 举例 |
---|---|---|
蓝色 | 目录 | /etc |
黑色 | 文件 | /etc/passwd |
浅蓝色 | 链接 | /etc/grub2.cfg |
红色 | 红色 | boot.tar.gz |
绿色 | 可执行文件 | /etc/init.d/network |
黑底黄字 | 设备文件 | /dev/sda |
文件的特殊权限:suid sgid sticky和文件扩展权限ACL
1、SUID(set uid设置用户ID):限定:只能设置在二进制可执行程序上面。对目录设置无效,功能:程序运行时的权限从执行者变更成程序所有者的权限
2、SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会,继承上级目录的所属组
3、Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位
功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。
ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
#用户权限第三位有s代表设置了SUID
普通用户mk,没有对shadow文件写入的权限, 但是mk用户使用passwd修改自己密码时,可以修改shadow文件中的内容,这是什么原因?passwd设置了SUID
[root@xuegod63 ~]# ll /etc/shadow
----------. 1 root root 1179 9月 19 2017 /etc/shadow
chmod u+s
可执行程序 #添加SUID权限
chomod g+s
目录和程序 #添加GUID权限
chomod o+t 目录
#目录下创建的文件只有root、文件创建者、目录所有者才能删除 限定:只作用于目录
[root@localhost ~]# ll -d /tmp
drwxrwxrwt . 20 root root 4096 5月 31 17:31 /tmp/
ACL权限 # 文件所有者不是DK,拥有组也不包含DK,要设置DK有访问权限需要设置ACL
setfacl -m u:dk:rwx /123.txt
# u : 设置某个用户拥有的权限
getfacl /123.txt
#查看文件ACL属性
[root@localhost /]# getfacl 123.txt
user::rwx
user:dk:rwx
group::rwx
mask::rwx
other::r
[root@localhost /]# ll 123.txt
-rwxrwxr–+ 1 root root 0 5月 31 17:35 123.txt #文件属性是+号
2.[root@localhost test]# setfacl -m d:u:dk:rwx /tmp/test
#设置文件夹,-d 文件夹下的所有文件会继承acl权限
[root@localhost test]# getfacl /tmp/test/
getfacl: Removing leading ‘/’ from absolute path names
file: tmp/test/
owner: root
group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:dk:rwx
default:group::r-x
default?:rwx
default:other::r-x
设置文件夹下的所有文件
3. [root@xuegod63 ~]# setfacl -R -m u:lee:rw- testdirectory/
#-R一定要在-m前面,表示目录下所有文件
[root@localhost tmp]# mkdir -p ./test/123/456/789
[root@localhost tmp]# touch ./test/123/456/789/123.txt
[root@localhost tmp]# setfacl -R -m u:dk:rwx ./test
[root@localhost tmp]# tree ./test/
./test/
└── 123
└── 456
└── 789
└── 123.txt
3 directories, 1 file
[root@localhost tmp]# ll test/123/456/789/123.txt
-rw-rwxr–+ 1 root root 0 6月 4 09:48 test/123/456/789/123.txt
setfacl -x u:dk 文件名
#移除单个文件ACL权限
setfacl -b /tmp/test
#移除所有ACL权限
chattr +i
文件名 #不能删除修改文件,该命令只能root能执行
lsattr 文件名 #查看文件特殊权限
[root@localhost test]# chattr +i 123.txt
[root@localhost test]# lsattr 123.txt
----i----------- 123.txt
[root@localhost test]# chattr +a 123.txt
#添加a权限只能增加文件内容,不能减和删除
[root@localhost test]# lsattr 123.txt
----ia---------- 123.txt
chattr -i 123.txt
#减去权限
ll /etc/passwd
#查看文件修改的时间
-rw-r–r--. 1 root root 2262 5月 16 20:45 /etc/passwd
stat /etc/passwd
#查看文件的属性
文件:"/etc/passwd"
大小:2116 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:9401663 硬链接:1
权限:(0644/-rw-r–r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问(atime):2017-11-16 14:57:39.923177258 +0800
最近更改(mtime):2017-11-16 14:57:39.397177256 +0800
最近改动(ctime):2017-11-16 14:57:39.409177256 +0800
注:
访问时间:atime 查看内容 cat a.txt
修改时间:mtime 修改内容 vim a.txt
改变时间:ctime 文件属性,比如权限 change time。 chmod +x a.sh
[root@localhost srv]# date; ls -l /etc/man_db.conf ;ls -l --time=atime /etc/man_db.conf ;\ls -l --time=ctime /etc/man_db.conf
#\ 表示下一行接入这输入,运行多条命令用;号隔开
2019年 05月 20日 星期一 15:44:33 CST
-rw-r–r--. 1 root root 5171 10月 31 2018 /etc/man_db.conf
-rw-r–r--. 1 root root 5171 5月 20 09:20 /etc/man_db.conf
-rw-r–r--. 1 root root 5171 5月 16 20:08 /etc/man_db.conf
[root@xuegod63 opt]# touch -d "20181019 21:30" xuegod.txt
修改文件时间
复制文件atime,mtiem,不会改变,ctime会改变。
touch 一般用于修改文件访问时间(atime),mtiem(修改时间)和创建文件用