中国投资网 百科 解读Linux文件权限的设置方法

解读Linux文件权限的设置方法

其实Windows系统和Linux系统差不多。Windows系统文件和目录都是只读隐藏的,Linux也一样。在Linux中,每个文件都有特定的属性。包括两个方面:主要文件类型和文件权限。它可以分为五种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。

所谓文件权限,是指对文件的访问权限,包括对文件的读取、写入、删除和执行。Linux是一个多用户操作系统,它允许多个用户同时登录和工作。因此Linux将文件或目录与用户或组相关联。ACL:访问控制列表(ACL)为计算机提供了更好的访问控制,其作用是限制包括root在内的所有用户访问文件、资源或套接字。下面教大家一个简单的设置方法。

检查系统核心

首先,检查你的Linux系统的内核是否支持ACL。因为并不是Linux系统的每个内核都有支持ACL的功能,而最简单的方法就是检查系统的当前内核是否可以支持:

[root @ mail/]# cat/boot/config-kernel-version | grep-I ext3

CONFIG_EXT3_FS=m

配置_外部3_IDEX=y

CONFIG_EXT3_FS_XATTR_SHARING=y

CONFIG_EXT3_FS_XATTR_USER=y

CONFIG_EXT3_FS_XATTR_TRUSTED=y

CONFIG_EXT3_FS_ACL=y

这时候如果能看到以上几项,说明已经编到核心里了。ext3文件系统已经支持ACL函数,可以在编译核心的选项中找到。如果编译时找不到,可以去ACL官网安装内核(acl.bestbits.at/)。

第二步安装分区

您可以通过以下方式挂载分区和启用ACL:

#mount -t ext3 -o acl /dev/sda1 /fs1

也可以直接写在/etc/fstab文件中,这样开机后就可以支持ACL功能了:

#vi /etc/fstab

步骤3设置ACL权限

ACL通常是为个人用户设置的。以下是几个不同的例子:

例如,如果需要创建三个用户:test1、test2和test3,可以先以root身份登录系统,然后执行以下命令分别创建三个用户名和密码:

[root@mail root]#adduser test1

[root@mail root]#adduser test2

[root@mail root]#adduser test3

[root@mail root]#passwd test1

[root@mail root]#passwd test2

[root@mail root]#passwd test3

然后将一个ext3文件挂载到目录/fs1:

[root @ mail root]# mount-t ext3-o ACL/dev/sda 1/fs1

然后将test1创建的文件的读写权限设置为test2:

[root@mail root]#chmod -R 777 /fs1

让所有用户增加文件对目录的权限:

使用test1登录系统,并执行命令:

[test1@mail test1]# cd /fs1

[test1@mail fs1]# echo '由test1创建' test1.txt

[test1 @ mail fs1]# chmod go-r test1 . txt

[test1@mail fs1]# ll test1.txt

-rw-1 test1 test1 14年7月17日22:11 test1.txt

下面的操作可以让其他人没有权限读写test1 . txt(root除外)除了test1。使用test2登录到系统后,执行以下命令:

[test2@mail test2]# cd /fs1

[test2@mail fs1]# cat test1.txt

cat : test1.txt权限被拒绝

然后使用test1登录系统,并执行以下命令:

[test1 @ mail fs1]# setfacl-m u:test2:rw test1 . txt

通过这种方式,修改权限允许test2拥有对该文件的读写权限。再次查看其文件属性的变化:

[test1@mail fs1]# ll

-rw-rw-r-1 test1 test1 2016年2月10日13:52 test1.txt

你会在后面看到一个附加的“”,表示这个文件使用了acl的属性设置,然后使用命令getfacl查看ACL的文件属性设置:

[test1 @ mail fs1]# getfacl test1 . txt

# file: test1.txt

#所有者:测试1

#组:测试1

用户:rw-

用户:测试2:rw-

组:rw-

面具:rw-

其他:r -

您可以看到test2拥有读写该文件的权限。

让我们用test2登录系统,执行下面的命令,看看会发生什么。

[test2@mail test2]# cd /fs1

[test2@mail fs1]# cat test1.txt

由测试1创建

原来test2可以读取test1.txt文件。

[test2@mail fs1]# echo '由test2修改' test1.txt

[test2@mail fs1]# cat test1.txt

由测试1创建

由测试2修改

现在test2也可以修改test1.txt文件了。

然后用test3登录系统:

[test3@mail test3]# cd /fs1

[test3@mail fs1]# cat test1.txt

cat : test1.txt权限被拒绝

嘿嘿,除了测试1、测试2外没有其他用户有读写test1.txt的权限(根除外)。

本文来自网络,不代表本站立场,转载请注明出处:https:

解读Linux文件权限的设置方法

中国投资网后续将为您提供丰富、全面的关于解读Linux文件权限的设置方法内容,让您第一时间了解到关于解读Linux文件权限的设置方法的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。