剥夺用户的读/写/执行权限

剥夺用户的读/写/执行权限

所以我有一个用户能够进入/etc并读取httpd.conf.

我想拒绝该用户访问任何关键位置,例如/etc/var等等。

最好的方法是什么?我真的不想只为一个用户修改我的整个文件夹/文件权限。

答案1

您可以使用文件访问控制列表来删除特定用户的权限。该命令是 setfacl,它在文件上设置(创建)ACL。

用法示例:

root@host:/tmp# date > f1
root@host:/tmp# ls -l f1
-rw-r--r-- 1 root root           30 Mar 28 12:12 f1
root@host:/tmp# setfacl -m u:johan:0 f1
root@host:/tmp# ls -l f1
-rw-r--r--+ 1 root root          30 Mar 28 12:12 f1

请注意权限后面的 + 符号。它告诉您该文件设置了 ACL。 setfacl 命令选项 -m 告诉它创建/修改 ACL。参数“u:johan:0”导致用户“johan”的用户条目设置为“0”,这是权限模式“0 0 0”的缩写,相当于“--- --- -- -”用于传统的“rwx rwx rwx”权限集。

root@host:/tmp# getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
user:johan:---
group::r--
mask::r--
other::r--

root@host:/tmp# cat f1
Thu Mar 28 12:12:07 SAST 2013
root@host:/tmp# exit

退出后命令具有指定用户的权限,例如“johan”

johan@host:/tmp> cat f1
cat: f1: Permission denied

说了这么多要特别小心。不加区别地删除 /etc 的访问权限将导致各种故障,并且用户可能无法登录。许多系统功能会使用登录用户的权限读取 /etc 中的各种配置文件。然而,阻止用户访问特定的单个文件是完全可以接受的。

答案2

您可能想要设置一个chroot监狱看着监狱套件

监狱ch安格斯,如/,到新路径。


作为一个简单的例子作为开始。

首先,您很可能希望将 chroot 目录放在单独的分区上 - 这样用户就无法填充您的系统分区。

但为了简单起见:

  1. 制作 chroot 目录:

    # mkdir /usr/chroot_test
    # cd /usr/chroot_test
    
  2. 制作系统目录:

    # mkdir bin etc home lib var
    
  3. 添加一些基本工具:

这里可以用来ldd查找依赖关系。

# ldd /bin/bash
linux-gate.so.1 =>  (0xb774d000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0xb770a000)
libdl.so.2 => /lib/libdl.so.2 (0xb7705000)
libc.so.6 => /lib/libc.so.6 (0xb755a000)
/lib/ld-linux.so.2 (0xb774e000)

将它们复制到 chroot 的 lib:

# cp /lib/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux.so.2} lib/

现在输入chroot

# chroot /usr/chroot_test
bash-4.2# ls
bash: ls: command not found
bash-4.2# pwd
/
bash-4.2# exit
exit

好的。作品。添加更多工具:

# sed '/=>/!d;/=>\s*(/d;s/.*=>\s*\([^ ]*\) .*/\1/' < <(ldd /bin/{ls,cat,vi}) | sort -u)

... copy

ETC。

然后添加chroot登录(http://kegel.com/crosstool/current/doc/chroot-login-howto.html)。


但是,正如前面提到的,通过使用 jailkit 可以简化这一过程:http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html

答案3

您担心的文件是意思是可供公众访问。真正敏感的数据被锁定。是的,Unix(从设计和历史上来说)是一个相当开放的系统。

如果您非常担心该用户,请将她拒之门外。您不信任的用户在您的计算机上没有地位。

或者去问问你的偏执狂,也许事情已经失控了。

相关内容