现有设置已将登录信息连接到创建新用户的活动目录。
我的任务是限制新用户访问应用程序。
我想隔离他们以使用我需要他们使用的预定义应用程序(例如:firefox、chrome、其他应用程序)。
是否有任何我可以管理的应用程序或任何其他方法可以实现这一点。
任何帮助将非常感激。
我目前使用的是 Ubuntu 18,但我不限于只使用 ubuntu 版本或其他 Linux 版本。如果该解决方案适用于 centos,我准备迁移。
这是新项目,所以我不担心破坏设置或其他东西。
答案1
您可以使用selinux
/ apparmor
profiles 限制某些群体仅能访问他们需要的应用程序。
这样做的好处是,用户将被限制仅有的你允许什么。
这些的创建可能特别复杂,因此取决于如何紧紧你需要把事情锁定,你可能不需要走这么远。
例如https://serverfault.com/a/993498/2101这可能是一个很好的第一步,但一定要并行实现其他方法(例如,安装,/home
以便noexec
用户不能在那里运行自己的应用程序)以增强安全性。
答案2
在 Linux 系统上,您可以控制直接打开 GUI 应用程序的二进制文件的权限。假设我想限制用户访问 Ubuntu 上的 Firefox...如果我输入以下命令:
$ whereis firefox
firefox: /usr/bin/firefox /usr/lib/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz
它的二进制文件位于/usr/bin/firefox
,我们可以使用以下命令查看其权限ls - lh
:
$ ls -lh /usr/bin/firefox
lrwxrwxrwx 1 root root 25 out 31 05:44 /usr/bin/firefox -> ../lib/firefox/firefox.sh
这里我们看到它的权限是rwxrwxrwx
。这意味着rwx
对于用户来说根,rwx
对于该组根以及rwx
其他用户。Asr
代表读权限,w
代表写权限,x
代表执行权限。
在这个例子中,你应该创建一个特定的组来管理它并赋予其二进制文件的执行和写入权限。你可以按如下方式进行操作:
sudo addgroup newgroup
sudo addgroup myusernamea newgroup
sudo addgroup myusernameb newgroup
sudo addgroup myusernamec newgroup
sudo chmod 750 /usr/bin/firefox
sudo chown root:newgroup /usr/bin/firefox
基本上,我创建了一个名为的新组newgroup
,将我想要的用户添加到该组,取出“其他用户”权限,chmod 750
最后使该组可以访问我的 Firefox 文件newgroup
。
答案3
使用 SSSD 并以 AD 作为其身份提供者,您可以将 Active Directory 用户组和用户用作 Linux 组和用户。请参阅这里 (Ubuntu)和这里 (RHEL)
完成此操作后,您可以将对特定可执行文件的访问限制到某个系统组,如这个答案。只需确保旧用户位于 AD 组中,并且新用户不会自动添加到其中。