1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > linux允许佚名用户访问权限 Linux上的ACL权限文件访问

linux允许佚名用户访问权限 Linux上的ACL权限文件访问

时间:2020-09-29 17:13:29

相关推荐

linux允许佚名用户访问权限 Linux上的ACL权限文件访问

在 Unix/Linux 系统上沿用了多年的权限机制,由于欠缺灵活性,在现今的信息系统上显得落后和不敷应用。然而一个新的权限机制标准已经诞生出来,本

文将会为大家介绍这个新机制在 Linux 上的操作方式。

---------------------------------------------------------

典型的文件权限

典型的文件权限是这样的:

#>ls -l

-rwxrw-r-- 1 adam mis 272401 May 10 test.doc

表示文件属于用户adam,权限可读可写可运行;属于群组mis权限可读可写;其他人权限只读

传统的权限只能对所有者,群组,其他来设定3套权限

更复杂的权限则需要依赖ACL

这个 POSIX ACL 的功能在 Linux kernel 2.6 上被正式支持,之后又被 back-port到 2.4 kernel 上。大家常用的档案系统,如:ext3,xfs,jfs,和

ReiserFS,都能使用ACL。当然,大家须要在编译 kernel 时启动 ACL。

---------------------------------------------------------

启动 ACL

虽然在 kernel 中已加进了 POSIX ACL 的支持,但是并不会自动启用的。我们必须在挂上档案系统时指明要使用 ACL。例如:

mount -t ext3 -o acl /dev/sda1 /home

其中 “-o acl”参数表示在 /dev/sda1 上启用 ACL 的选项。我们亦可以在 /etc/fstab 中加入选项:

/dev/sda1 /home ext3 acl 1 2

---------------------------------------------------------

查看文件的ACL信息

#>getfacl test.doc

# file: test.doc

# owner: adam

# group: mis

user::rw-

group::rw-

other::r--

---------------------------------------------------------

访问型ACL设置

更改ACL

setfacl” 指令能更改一个档案或目录的 ACL。其用法如下:

setfacl option rules files

option:

-m 用来新增或修改 ACL 中的规则

-x 用来移除 ACL 中的规则

rules:

user:(uid/name):(perms) 指定某位使用者的权限

group:(gid/name):(perms) 指定某一群组的权限

other::(perms) 指定其它使用者的权限

mask::(perms) 设定有效的权限屏蔽

如果想让hr群组的使用者能读取 “test.doc”而其它的人不能读取的话。 我们可以用以下的指令达成:

setfacl -m group:hr:r,other::- test.doc

以 getfacl 检视新的 ACL:

[adam@www adam]$ getfacl test.doc

# file: test.doc

# owner: adam

# group: mis

user::rw-

group::rw-

group:hr:r--

mask::rw-

other::---

要让使用者 adam 和 eva 能 读取 和 写入, 群组mis 和 hr 只能读取, 其它人不能 读取 和 写入。 我们只须多加两个规则便能达成:

setfacl -m group::r,user:eva:rw report.doc

[adam@www adam]$ getfacl report.doc

# file: report.doc

# owner: adam

# group: mis

user::rw-

user:eva:rw-

group::r--

group:hr:r--

mask::rw-

other::---

---------------------------------------------------------

预设型ACL

预设型ACL 只可用于目录, 它决定了该目录下新建立的档案或目录的 ACL。要设定 预设型ACL, 同样使用 “setfacl”。 所不同的是, 在每个规则前加上“

default:”, 例如:

setfacl -m default:user::rw /home/adam

如果觉得指令太长的话我们可以使用简略字符:

长写 简写

user: u:

group: g:

other: o:

mask: m:

default: d:

setfacl -m d:u::rw,d:u:eva:rw,d:g::r,d:o::- /home/adam

[adam@www adam]$ getfacl /home/adam

getfacl: Removing leading '/' from absolute path names

# file: home/adam

# owner: adam

# group: adam

user::rwx

group::---

other::---

default:user::rw-

default:user:eva:rw-

default:group::r--

default:mask::rw-

default:other::---

建立新的档案并检视其 存取型ACL:

[adam@www adam]$ touch newfile

[adam@www adam]$ getfacl newfile

# file: newfile

# owner: adam

# group: mis

user::rw-

user:eva:rw-

group::r--

mask::rw-

other::---

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。