RHCSA系列:使用ACL(访问控制列表)和安装Samba / NFS共享 - 第7部分

在上一篇文章( RHCSA系列第6部分 ),我们开始讲解如何设置和使用 分开 ,SSM配置本地系统的存储。

RHCSA系列::配置ACL和安装NFS / Samba共享 - 第7部分

我们还讨论了如何在系统引导期间使用密码创建和加载加密卷。此外,我们警告您避免对已装载的文件系统执行关键存储管理操作。考虑到这一点,我们现在将回顾 红帽企业Linux 7最常用的文件系统格式,然后进行覆盖安装,使用和 卸载手动和自动的网络文件系统 (CIFSNFS)的话题,与实施沿的访问控制列表。
先决条件
在进一步讨论之前,请确保您有 Samba服务器和服务包括 NFS服务器(注意 ,NSF版本RHEL 7不再支持)。 本指南中,我们将使用一台机器 的IP 192.168.0.10,在其运行的服务器既服务和 RHEL 7盒与IP地址 192.168.0.18的客户端。在本文的后面,我们将告诉您需要在客户端上安装哪些软件包。

RHEL 7中的文件系统格式

RHEL 7开始 ,XFS已被引入作为所有架构的默认文件系统,由于其较高的性能和可扩展性。 目前,它支持 500 TB按照由Red Hat和其主流的硬件合作伙伴进行的最新的测试的最大文件系统大小。 另外 ,XFS允许 user_xattr(扩展的用户属性)和 ACL(POSIX访问控制列表)作为默认安装选项不同于ext3和ext4的(EXT2被认为是不赞成RHEL 7),这意味着你不需要指定这些选项明确在命令行或 / etc / fstab中安装一个XFS文件系统时,(如果要禁用在后一种情况下这样的选择,你必须明确地 no_acl使用和 no_user_xattr)。 请记住,扩展用户属性可以分配给文件和目录,用于存储任意附加信息,例如文件的MIME类型,字符集或编码,而用户属性的访问权限由常规文件权限位定义。

访问控制列表

由于每一个系统管理员,无论是初学者还是高手,都很好,为所有者,组,和“世界第一”的文件和目录的定期访问权限,它指明某些特权( 执行 )(所有其他)熟悉。 然而,随意指 了RHCSA系列的第3部分 ,如果你需要刷新你的记忆一点点。 然而,由于标准 乌戈/ RWX集不允许配置为不同的用户不同的权限, 访问控制列表被以定义文件和目录的比那些由常规的权限中指定的更详细的访问权限引入。 事实上 ,ACL-定义的权限是由文件权限位指定的权限的超集。让我们看看所有这些翻译是如何应用在现实世界中的。 1.有两种类型的 ACL: 访问ACL,因而可以适用于任一特定的文件或目录),并 默认ACL,它只能适用于一个目录。如果其中包含的文件没有设置ACL,则它们继承其父目录的默认ACL。 2.开始,ACL可以按用户进行配置,每个组,即每一个用户不能在所有组的文件。 3. ACL是使用 setfacl的 ,不管是用 -m-x选项分别设定(和删除)。 例如,让我们创建一个名为组 youcl并添加用户 JOHNDOEdavenull它:
# groupadd youcl
# useradd johndoe
# useradd davenull
# usermod -a -G youcl johndoe
# usermod -a -G youcl davenull
让我们验证这两个用户属于补充组 youcl:
# id johndoe
# id davenull

验证用户

现在,让我们创建一个名为 的/ mnt内操场目录中,一个名为 TESTFILE.TXT 里面的文件 我们将设置组的所有者youcl并更改其默认乌戈/ RWX权限770(读,写和执行授予所有者和文件的组所有者的权限都):
# mkdir /mnt/playground
# touch /mnt/playground/testfile.txt
# chmod 770 /mnt/playground/testfile.txt
然后切换用户 JOHNDOEdavenull,按照这个顺序,并写入文件:
echo "My name is John Doe" > /mnt/playground/testfile.txt
echo "My name is Dave Null" >> /mnt/playground/testfile.txt
到现在为止还挺好。现在,让我们的用户 gacanepa写入文件-和写操作将失败,这是可以预料的。 但是,如果我们确实需要用户 gacanepa(谁是不群 youcl的成员)会对 /mnt/playground/testfile.txt写权限 可能来到你首先想到的是添加该用户帐户组 youcl。 但是,这会给他写上的 所有文件的权限是位被设置为组写的,我们不希望出现这种情况。 我们只希望他能够写入 /mnt/playground/testfile.txt。
# touch /mnt/playground/testfile.txt
# chown :youcl /mnt/playground/testfile.txt
# chmod 777 /mnt/playground/testfile.txt
# su johndoe
$ echo "My name is John Doe" > /mnt/playground/testfile.txt
$ su davenull
$ echo "My name is Dave Null" >> /mnt/playground/testfile.txt
$ su gacanepa
$ echo "My name is Gabriel Canepa" >> /mnt/playground/testfile.txt

管理用户权限

让我们给用户 gacanepa读写访问 /mnt/playground/testfile.txt。 作为root运行,
# setfacl -R -m u:gacanepa:rwx /mnt/playground
你会已成功添加一个 ACL允许 gacanepa写入测试文件。 然后切换到用户 gacanepa并再次尝试写入文件:
$ echo "My name is Gabriel Canepa" >> /mnt/playground/testfile.txt
要查看特定文件或目录的 ACL,使用 getfacl的说明书
# getfacl /mnt/playground/testfile.txt

检查文件的ACL

要设置 默认的ACL到一个目录(其内容将继承除非另有覆盖),将 d:规则之前指定一个目录,而不是一个文件名:
# setfacl -m d:o:r /mnt/playground
上面的ACL将允许用户不是所有者组具有读取访问 到/ mnt /操场目录的未来内容。 注意 getfacl的说明书的/ mnt /操场输出的差异前,后的变化:

在Linux中设置默认ACL

第20章在官方RHEL 7储存管理指南提供了更多的ACL的例子,我强烈建议你看看它,有它方便作为参考。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏