应用场景
弹性文件服务支持大规模共享访问,通过将文件系统在弹性云主机上挂载后可划分多个子目录并分配给不同用户,设置子目录读写权限,可实现多用户之间的访问权限隔离。客户可根据业务需求对子目录或者子目录下的文件进行权限访问控制,适用于安全级别较高的应用场景。
前提条件
操作步骤
步骤一:使用root帐号登录弹性云主机并添加两个普通用户帐号
-
以root帐号登录弹性云主机,如何登录请参考登录Linux弹性云主机。
-
添加一个普通用户帐号,如账号sfsuser1。执行以下命令:
useradd sfsuser1
passwd sfsuser1
根据回显提示修改普通用户sfsuser1的密码,创建成功后会自动创建账号sfsuser1的主目录“/home/sfsuser1”。
-
重复第2步继续添加账号sfsuser2。
步骤二:挂载文件系统至弹性云主机
将文件系统挂载到弹性云主机上的一个本地路径上,具体操作请参考使用弹性云主机挂载文件系统,如已经挂载可忽略此步骤。
步骤三:在本地路径创建2个子目录并更改目录的属组
-
执行
cd /mnt/test
切换到本地挂载路径,“/mnt/test”为本文步骤二中挂载时创建的本地挂载路径,请根据实际情况替换。 -
创建两个子目录。
mkdir subdir1 mkdir subdir2
-
更改属组。
chown sfsuser1:sfsuser1 subdir1 chown sfsuser2:sfsuser2 subdir2
步骤四:将2个子目录分别挂载至新的本地挂载路径
- 新建2个新的本地挂载路径。
mkdir /mnt/sfsuser1_test mkdir /mnt/sfsuser2_test
- 将步骤三中2个子目录分别挂载至新的本地挂载路径,挂载地址可在文件系统详情页获取,参考查看文件系统。
mount -t nfs -o vers=3,nolock,noatime 挂载地址/subdir1 /mnt/sfsuser1_test mount -t nfs -o vers=3,nolock,noatime 挂载地址/subdir2 /mnt/sfsuser2_test
步骤五:分别登录两个账号,验证读写权限
- 执行
su sfsuser1
命令使用用户1(sfsuser1)登录,验证读写操作。
- 执行
su sfsuser2
切换到sfsuser2,验证访问用户sfsuser1子目录的读写权限。验证可发现,sfsuser2只可读取用户sfsuser1的文件,但不具备写和删除权限。
步骤六:拒绝其它用户读取权限
如果想进一步缩小权限,拒绝其他用户读权限,可进行以下配置。以修改sfsuser1对其它用户的读权限为例:
-
root用户登录弹性云主机,修改sfsuser1子目录的权限为700。chmod命令用来变更文件或目录的权限。
chmod 700 /mnt/test/subdir1
-
验证sfsuser2访问sfsuser1目录的读写权限,sfsuser2无法再次访问sfsuser1的子目录。
经过以上的实践配置,基本实现在客户端配置多用户访问弹性文件子目录的权限的隔离,您可根据业务需求对子目录或者子目录下的文件进行权限访问控制。
下表为目录或文件权限说明:
常用权限分类 | 描述 |
---|---|
444 r--r--r-- | 所属用户只读权限、同组用户只读权限、其他用户只读权限。 |
600 rw------- | 所属用户读写权限、同组用户无权限、其他用户无权限。 |
644 rw-r--r-- | 所属用户读写权限、同组只读权限、其他用户只读权限。 |
666 rw-rw-rw- | 所属用户读写权限、同组用户读写权限、其他用户读写权限。 |
700 rwx------ | 所属用户读写和执行权限、同组用户无权限、其他用户无权限。 |
744 rwxr--r-- | 所属用户读写和执行权限、同组用户只读权限、其他用户只读权限。 |
755 rwxr-xr-x | 所属用户读写和执行权限、同组用户读和执行权限、其他用户只执行权限。 |
777 rwxrwxrwx | 所属用户、同组用户、其他用户都具备读写执行权限。 |