背景是共用同一台 Linux 服务器,每个用户都有 sudo 权限,有些代码和文件不想让其他用户访问,有什么好办法?
1
lzhd24 2023-10-29 20:07:47 +08:00 via Android
创建单文件加密盘,挂载的时候需要密码,veracrypt linux
|
2
seers 2023-10-29 20:18:42 +08:00 via Android
attr 那边是不是可以控制
|
3
em70 2023-10-29 20:22:01 +08:00
自己买个服务器吧,又不贵
|
4
codehz 2023-10-29 20:23:07 +08:00
先看看为啥需要 root ,如果只是为了安装一些普通软件的话,建议使用容器方案
再不行还可以虚拟机,用 9pfs/virtiofs 做基础的文件共享 |
5
fuzzsh 2023-10-29 20:32:59 +08:00 via Android
uid 0 不能绝对限制 Selinux 可做到限制部分 某些仍可作为 uid 0 去 override
还不如疑人不用用人不疑 |
6
andrewjames 2023-10-29 20:39:18 +08:00 1
能被限制的 root 不是好 root
|
7
yuelang85 2023-10-29 21:02:06 +08:00
sudoer 应该可以控制。
|
8
Remember 2023-10-29 21:02:20 +08:00
我都 root 了,你还要限制我,那我不是白用 root 登录了?
|
9
yuelang85 2023-10-29 21:02:38 +08:00
sudoer 中配置用户组, 应该可以控制。
|
11
Rorysky 2023-10-29 22:50:59 +08:00 1
sudo 只能限制用户使用的命令工具组合,
你应该反思为什么要给所有人 root 权限? 在自己家目录不能干活么? |
12
sslyd 2023-10-30 06:57:11 +08:00
没人提容器吗??
|
13
lzy250 2023-10-30 09:45:00 +08:00 via iPhone 1
所有人都是 root 太危险了……
|
14
dif 2023-10-30 10:29:59 +08:00
这玩意还能共享?哪怕是同一个公司的我都不给用。吃过亏好吧。我所在部门的服务器交接给我的时候说是我们自己用,后来因业务下线,新业务没申请下来资源,于是就打算利旧。紧接着给运维发工单重装系统,在我美美睡了一夜准备第二天大干一场后,惊闻昨晚运维部和 DBA 一晚上没睡觉在恢复数据。原因是我那台服务器上部署了其他部门的一个生产数据库,运维直接抹盘重装系统了(我工单要求的)。
|
17
tomychen 2023-10-30 13:27:34 +08:00
严格意义上来讲,sudo != root ,是配置的问题
再者,这个问题不是应该换成,如何限制普通用户的访问控制?而是变成了限制 root 用户的访问控制? 假定你这个命题成立,那么,这个配置应该由谁来完成? |
18
zlowly 2023-10-30 16:29:24 +08:00
或者你可以考虑使用容器进行用户隔离
|
19
fuckfaker 2023-10-30 17:02:13 +08:00
selinux 可以实现,就是成本有点高,还有所有人都可以 sudo ,这也太危险了
|
20
mephisto 2023-10-30 18:23:23 +08:00
sudo 在多人用的服务器上面,肯定不能给全部命令权限(可配置限制)。你说的需求 selinux 可以实现。
|
21
wdxfj 2023-11-01 15:55:48 +08:00
用法就不对,都是 root 了,还限制啊?。。。
|
22
wdxfj 2023-11-01 15:57:04 +08:00
在 Linux 系统中,限制 root 用户访问某个目录可以通过权限和 ACL (访问控制列表)来实现。由于 root 用户拥有系统上的最高权限,所以要限制 root 用户对某个目录的访问需要采取一些额外的措施。以下是一些方法:
1. **使用权限控制**:您可以使用标准的文件和目录权限来限制对特定目录的访问。这将限制大多数用户,但不会限制 root 用户。例如,您可以使用`chmod`命令来更改目录的权限: ```bash chmod 700 /path/to/directory ``` 这将仅允许目录的所有者访问目录。 2. **使用 ACL (访问控制列表)**:ACL 允许您为特定用户或组分配额外的权限。您可以使用`setfacl`命令为目录设置 ACL ,以便控制 root 用户的访问: ```bash setfacl -m u:root:0 /path/to/directory ``` 这将禁止 root 用户访问该目录。 3. **加密目录**:您可以加密目录中的文件,以便即使 root 用户也无法访问文件内容,除非您解密它们。一个常见的工具是 eCryptfs ,可以用于加密目录。 4. **使用 SELinux 或 AppArmor**:如果您的系统使用 SELinux 或 AppArmor ,您可以配置策略以限制 root 用户对目录的访问。这需要熟悉这些安全模块的配置。 5. **使用虚拟机或容器**:将您的应用程序和文件置于独立的虚拟机或容器中,以限制 root 用户对主机文件系统的访问。 请注意,尽管可以采取这些措施来限制 root 用户的访问,但在系统上拥有 root 权限的用户通常可以绕过这些限制。因此,最终的安全性仍然依赖于系统管理员的诚信。确保您的系统管理员团队是可信的,并采取适当的安全措施,以限制对系统和数据的未经授权访问。 |
23
Xunit 2023-11-05 15:08:31 +08:00
acl 或者 selinux ,sudo 的用户得改,不然别人能关闭 selinux 和重设 acl ,防护都没有什么意义
|