[root@xiaoagiao tmp]# ls -l
total 12
-rw-r--r--. 1 root root 886 Mar 1 00:20 ac
-rw-r--r--. 1 root root 0 Mar 7 04:47 file1
-rw-r--r--. 1 root root 0 Mar 7 04:47 file2
-rw-r--r--. 1 root root 886 Mar 1 00:20 fstab
drwx-w-r-x. 3 root root 4096 Mar 9 00:46 log
例如 :rw-r–r--r-- (一共九位)
每三位为一组:
1. 对于文件而言
2. 对于目录而言
3. rwx可用数字代表
判断用户身份。
对应权限,如果有则成功,无则失败。
三类用户 (字母u,g o a 代表)
u:属主
g:属组
o:其他人
a:所有
赋权表示法:rwx
u=
g=
o=
a=
chmod u=r-x file //文件file属主权限改为r-x
chmod g=--x file //文件file属组权限改为--x
chmod o=rwx file //文件file其他人权限改为rwx
chmod a=rwx file //文件file所有权限改为rwx
chmod u+r file //文件file属主权限有r权限
chmod g+w file //文件file属组权限有w权限
chmod o+x file //文件file其他人权限有x权限
chmod a+r file //文件file所有权限有r权限
chmod -R 777 file //file目录下所有文件的权限改为777。
chmod -R u=rwx file //file目录下所有文件属主权限改为rwx。
chown owner : group file
chown owner : group file //file文件的属主改为owner,属组改为group。
chown owner file
chown owner file//file文件的属主改为owner。
chown :group file
chown :group file //file文件的属组改为group。
chown -R owner : group file
chown -R owner : group file //file目录下所有文件的属主改为owner,属组改为group。
chgrp jerry file
chgrp jerry file //file文件的属组改为jerry。
只有管理员用户可以修改文件或目录的属组,属主和其他人。
定义: ACL(Access control list),即访问控制列表,它是一系列规则的集合,ACL通过这些规则对不同的报文分类,进而对不同的报文进行不同的处理。
要查看acl列表可以使用: getfacl filename
[root@xiaoagiao file3]# getfacl aa
#file: aa
#owner: root
#group: root
user::rw-
group::r--
other::r--
选项:
-m | 配置acl |
---|---|
-x | 删除指定的匹配规则 |
-b | 关闭在该文件上开启的acl列表,同时删除所有的acl参数 |
-R | 递归操作 |
[root@xiaoagiao file3]# getfacl aa
#file: aa
#owner: root
#group: root
user::rw-
group::r--
other::r--
[root@xiaoagiao file3]# ll -l aa
-rw-r--r--. 1 root root 0 Mar 12 05:00 aa
[root@xiaoagiao file3]# setfacl -m u:user1:rwx aa
[root@xiaoagiao file3]# ll -l aa
-rw-rwxr--+ 1 root root 0 Mar 12 05:00 aa
//权限最后出现了加号,代表开启了acl。
[root@xiaoagiao file3]# getfacl aa
#file: aa
#owner: root
#group: root
user::rw-
user:user1:rwx //针对user这个用户的权限是rwx,它就是我们通过setfacl 命令设置的 acl 规则
group::r--
mask::rwx //表示此文件的权限閥值,即 所设置的用户和组的权限必须在mask所定的权限最大值以内才会生效
other::r--
[root@xiaoagiao file3]# getfacl aa
#file: aa
#owner: root
#group: root
user::rw-
user:user1:rwx //删除指定的用户user1 的匹配规则
group::r--
group:jerry:rw-
mask::rwx
other::r--
[root@xiaoagiao file3]# setfacl -x u:user1 aa
[root@xiaoagiao file3]# getfacl aa
#file: aa
#owner: root
#group: root
user::rw-
group::r--
group:jerry:rw- //指定组的匹配规则并没有改变。
mask::rw-
other::r--
[root@xiaoagiao file3]# getfacl aa
#file: aa
#owner: root
group: root
user::rw-
user:user1:rwx
group::r--
group:jerry:rw-
mask::rwx
other::r--
[root@xiaoagiao file3]# setfacl -b aa
[root@xiaoagiao file3]# getfacl aa
#file: aa
#owner: root
#group: root
user::rw-
group::r--
other::r--
//关闭在该文件上开启的acl列表,同时删除所有的acl参数
[root@xiaoagiao file3]# setfacl -m d:u:user1:rwx dic
[root@xiaoagiao file3]# getfacl dic
#file: dic
#owner: root
#group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:user1:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@xiaoagiao file3]# cd dic
[root@xiaoagiao dic]# touch ad
[root@xiaoagiao dic]# getfacl ad
#file: ad
#owner: root
#group: root
user::rw-
user:user1:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
//新建的文件中自然会有目录的acl规则。
SUID:
表现 :属主权限的x变为s。
[root@xiaoagiao dic]# ls -l
total 4
-rw-r--r--. 1 root root 0 Mar 12 20:12 ad
[root@xiaoagiao dic]# chmod u+s ad //给ad文件的属主权限赋予s权限。
[root@xiaoagiao dic]# ll -l
total 4
-rwSr--r--. 1 root root 0 Mar 12 20:12 ad
//属主权限。X出变为s。
//当程序成为进程时,执行者拥有属主权限。
SGID
[root@xiaoagiao file3]# ll -l dic
total 4
-rw-r--r--. 1 root root 0 Mar 12 20:12 ad
[root@xiaoagiao file3]# chmod g+s dic
[root@xiaoagiao file3]# ll
total 4
drwxr-sr-x. 2 root root 4096 Mar 12 20:12 dic
//属组权限的执行权限变为s。
SBIT
[root@xiaoagiao file3]# chmod o+t dic
[root@xiaoagiao file3]# ll
total 4
drwxr--r-t. 2 root root 4096 Mar 12 20:49 dic
//其他人权限的执行权限变为t。
//该目录下创建的文件只有所属用户和root可删除。