使用 SELinux 将目录限制为特定用户

使用 SELinux 将目录限制为特定用户

我有几个问题:(系统管理员任务)

这是我要求做的

创建用户 Tim 并将其添加到补充组 Webdev(如果该组不存在则创建该组),还将 Tim 的默认主目录设置为 /websites - 如果该目录不存在,则创建它。

所以这就是我所做的:

useradd -m -d /websites Tim 
groupadd Webdev
useradd -aG Webdev Tim

我认为我这样做是正确的。

现在对于第二个任务,我真的很困惑

将相同的 SELinux 上下文和权限应用于用户的 /home 目录中的 /websites,以便 Tim 并且只有 Tim 可以访问 /websites

我怎样才能做到这一点?我的意思是 Tim 的主目录应该是 /websites 吗?

答案1

第一个问题:是的。尽管您可以使用该选项在创建帐户时-G添加补充组: 。Webdev-G Webdev

SELinux 将用户的主目录标记为user_home_dir_t.因此,要设置 SELinux 上下文,您可以使用:

# chcon -t user_home_dir_t /websites

请注意,如果您有另一个用户的主目录作为参考,您也可以使用以下命令复制它# chcon --reference=<other home> /website

设置所有者(蒂姆):

# chown Tim: /website

:用户名后面的冒号 ( ) 指示chown将组所有权设置为相同。即,ls -ld /website将显示Tim Tim.

设置权限:

# chmod 755 /website

755是大多数(所有?)系统上主目录的默认值,并转换为rwxr-xr-x.

相关内容