《2022年2022年解读Linux文件权限的设置方法 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年解读Linux文件权限的设置方法 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、解读 Linux文件权限的设置方法原文作者:李汉强Windows 系统其实和 Linux 系统有相似的地方, Windows 系统文件、目录的属性有只读、隐藏,而Linux 也一样。Linux 中,每一个文件都具有特定的属性。主要包括文件类型和文件权限两个方面。可以分为 5 种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。 Linux 是一个多用户操作系统, 它允许多个用户同时登录和工作。 因此 Linux 将一个文件或目录与一个用户或组联系起来。访问控制列表 (ACL: Access Control Lis
2、t)为计算机提供更好的访问控制,它的作用是限制包括root 用户在内的所有用户对文件、资源或者套接字的访问。下面就来教大家简单的设置方法。步骤 1 检查系统核心首先检查你的 Linux 系统的核心是否有支持ACL的功能。因为 Linux 系统并不是每一个版本的核心都有支持ACL 的功能,而最简单的方法就是检查系统目前的核心能否支持:rootmail /# cat /boot/config-kernel-version | grep -i ext3 CONFIG_EXT3_FS=m CONFIG_EXT3_IDEX=y CONFIG_EXT3_FS_XATTR_SHARING=y CONFIG_
3、EXT3_FS_XATTR_USER=y CONFIG_EXT3_FS_XATTR_TRUSTED=y CONFIG_EXT3_FS_ACL=y 此时如果能看到上面的几项则表示已经编译到核心中,ext3 文件系统已支持ACL功能,这些功能在编译核心选项中都可以找到。如果编译时找不到,可以到ACL的官方网站来安装Kernel(http:/acl.bestbits.at/)。步骤 2 挂载分区你可以用下列的方式挂载分区并启用ACL:#mount -t ext3 -o acl /dev/sda1 /fs1 你也可以直接写在 /etc/fstab 文件中 ,这样就可以在开机后支持ACL功能:#vi /
4、etc/fstab 步骤 3 设置 ACL权限ACL常常针对个别用户来进行设置,下面是多个不同的例子:例如需要创建 test1、test2、test3 三个用户,可以先用 root 身份登录系统,然后执行以下命令分别创建三个用户名和密码:rootmail root#adduser test1 rootmail root#adduser test2 rootmail root#adduser test3 rootmail root#passwd test1 rootmail root#passwd test2 rootmail root#passwd test3 名师资料总结 - - -精品资料
5、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 然后 mount 一个 ext3 文件到目录 /fs1 :rootmail root#mount -t ext3 -o acl /dev/sda1 /fs1 再将 test1 建立的文件设置读写的权限给test2 :rootmail root#chmod -R 777 /fs1 让所有的用户都能增加文件到目录的权限:先用 test1 登录系统,执行命令:test1mail test1# cd /fs1 test1
6、mail fs1# echo Create by test1 test1.txt test1mail fs1# chmod go-r test1.txt test1mail fs1# ll test1.txt -rw- 1 test1 test1 17 Jul 14 22:11 test1.txt 而如下操作则可以让除了test1 有读写的权限外其他人没有读写test1.txt 的权限( root 除外),先用 test2 登录系统后执行以下命令:test2mail test2# cd /fs1 test2mail fs1# cat test1.txt cat : test1.txt Perm
7、ission denied 接着用 test1 登录系统,执行如下命令:test1mail fs1# setfacl -m u:test2:rw test1.txt 这样就修改权限允许test2 有这个文件的读写权限。 再看一下它的文件属性的变化:test1mail fs1# ll -rw-rw-r-+ 1 test1 test1 10 Feb 16 13:52 test1.txt 会看到后面多了一个 “+”,表示这个文件使用ACL 的属性设置,再用命令getfacl 来看 ACL 的文件属性设置:test1mail fs1# getfacl test1.txt # file: test1.t
8、xt # owner: test1 # group: test1 user:rw- user:test2:rw- group:rw- mask:rw- other:r- 可以看到test2 有权限读写这个文件。我们再用 test2 登录系统执行以下命令,看看发生了什么?test2mail test2# cd /fs1 test2mail fs1# cat test1.txt Create by test1 原来 test2 可以读取 test1.txt 文件了。test2mail fs1# echo Modify by test2 test1.txt test2mail fs1# cat te
9、st1.txt Create by test1 Modify by test2 现在 test2 也可以修改 test1.txt 文件了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 接着用 test3 登录系统:test3mail test3# cd /fs1 test3mail fs1# cat test1.txt cat : test1.txt Permission denied 嘿嘿,除了 test1 、test2 外没有其他用户有读写test1.txt 的权限( root 除外)。看着虽然有点晕, 其实命令就是这么一两条, 主要是把各种情况给大家讲清楚,这样,大家在使用Linux 中才会发现,比起脆弱的Windows 的权限防护,Linux 实在是做得相当不错!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -