权限与归属
基本权限:
- 基本权限的类别
访问方式(权限)
读取(r):允许查看内容-read
写入(w):允许修改内容-write
可执行(x):允许运行和切换-execute
权限适用对象(归属)
所有者(u):拥有此文件/目录的用户-user
所属组(g):拥有此文件/目录的组-group
其他人(o):除所有者、所属组以外的用户-other
查看权限
- 使用 ls -l 命令
ls -ld 文件或目录
[root@server1 home]# ls -ld /root
dr-xr-x---. 18 root root 4096 May 25 23:51 /root
共有10位,第1位是文件的类型,2-4是属主的权限,5-7是属组的权限,8-10是其他人的权限
-:普通文件
d:目录文件
b:字符设备文件
c:区块设备文件
l:链接文件
p:管道文件
s:与系统的数据结构有关的文件,套接字文件
设置基本权限
- 使用chmod命令
chmod [-R] 归属关系±=权限类别 文档
[root@server1 home]# mkdir -m u+rwx,go-rwx /dir1
[root@server1 home]# ls -ld /dir1
drwx------. 2 root root 6 May 26 00:36 /dir1
[root@server1 home]# chmod u-x,go+rx /dir1
[root@server1 home]# ls -ld /dir1/
drw-r-xr-x. 2 root root 6 May 26 00:36 /dir1/
[root@server1 home]# chmod 750 /dir1/
[root@server1 home]# ls -ld /dir1/
drwxr-x---. 2 root root 6 May 26 00:36 /dir1/
文档归属
- 使用chown命令
chown [-R] 属主 文档…
chown [-R] :数组 文档…
chown [-R] 属主:数组 文档…
[root@server1 home]# chown :g2 /dir1/
[root@server1 home]# ls -ld /dir1/
drwxr-x---. 2 root g2 6 May 26 00:36 /dir1/
[root@server1 home]# chown zhangsan:root /dir1/
[root@server1 home]# ls -ld /dir1/
drwxr-x---. 2 zhangsan root 6 May 26 00:36 /dir1/
附加权限
Set UID
- 附加在属主的x位上
属主的权限标识变成s
适合可执行的文件,可以让使用者拥有文件属主的身份和部分的权限
erver1 home]# ls -ld /usr/bin/passwd
-rwsr-xr-x. 1 root root 34512 Aug 13 2018 /usr/bin/passwd
Set GID
- 附加在属组的x位上
属组的权限标识会变为s
适用于目录,使目录下新增的文档自动设置成与父目录相同的属组
[root@server1 home]# ls -ld /run/log/journal/
drwxr-sr-x. 3 root systemd-journal 60 May 25 23:13 /run/log/journal/
[root@server1 home]# > /run/log/journal/a.log //建立测试文件
[root@server1 home]# ls -ld /run/log/journal/a.log
-rw-r--r--. 1 root systemd-journal 0 May 26 00:45 /run/log/journal/a.log
- 使用chmod命令
chmod g+s 文档
[root@server1 home]# chmod g+s /dir1/
[root@server1 home]# ls -ld /dir1/
drwxr-s---. 2 zhangsan root 6 May 26 00:36 /dir1/
Sticky Bit
- 附加在其他人的x位上
其他人的权限标识变成t
适合开放w权限的目录,可以防止用户滥用w写入权限(禁止操作别人的文档)
[root@server1 home]# ls -ld /tmp/ /var/tmp
drwxrwxrwt. 19 root root 4096 May 26 00:56 /tmp/
drwxrwxrwt. 10 root root 4096 May 25 23:17 /var/tmp
[root@server1 home]#
acl访问控制列表
- acl访问策略
能够对个别的用户、个别组设置独立的权限
大多数挂载的ext3、ext4、xfs文件系统默认已支持 - 使用getfacl、setfacl命令
getfacl 文档…
setfacl [-R] -m u:用户名:权限类别 文档
setfacl [-R] -m g:组名:权限类别 文档…
setfacl [-R] -b 文档…
[root@server1 home]# setfacl -m u:zhangsan:rwx /dir1/
[root@server1 home]# getfacl /dir1/
getfacl: Removing leading '/' from absolute path names
# file: dir1/
# owner: zhangsan
# group: root
# flags: -s-
user::rwx
user:zhangsan:rwx
group::r-x
mask::rwx
other::---
[root@server1 home]# setfacl -b /dir1/
[root@server1 home]# getfacl /dir1/
getfacl: Removing leading '/' from absolute path names
# file: dir1/
# owner: zhangsan
# group: root
# flags: -s-
user::rwx
group::r-x
other::---