我需要阻止/限制标准用户访问 bin、boot、dev、etc、lib、media 等目录吗?
答案1
如果从终端CTRL++输入以下命令ALTT
ls -la /
你应该看到类似这样的内容
warren@min:~$ ls -la /
total 84
drwxr-xr-x 22 root root 4096 Jun 20 16:13 .
drwxr-xr-x 22 root root 4096 Jun 20 16:13 ..
drwxr-xr-x 2 root root 4096 Jun 20 15:58 bin
drwxr-xr-x 3 root root 4096 Jun 20 16:15 boot
drwxr-xr-x 15 root root 4080 Jul 4 09:12 dev
drwxr-xr-x 120 root root 4096 Jul 4 09:38 etc
drwxr-xr-x 3 root root 4096 Mar 20 14:50 home
lrwxrwxrwx 1 root root 37 Jun 20 16:13 initrd.img -> /boot/initrd.img-3.2.0-48-generic-pae
lrwxrwxrwx 1 root root 37 Jun 3 13:51 initrd.img.old -> /boot/initrd.img-3.2.0-45-generic-pae
名单缩短
这表明所有目录都已受到限制。让我们举个例子。
drwxr-xr-x 2 root root 4096 Jun 20 15:58 bin
第一位drwxr-xr-x
描述权限,然后是所有者,root
其次是组,root
然后是大小,然后是时间和日期,最后是名称。
权限drwxr-xr-x
可以进一步分为 4 个部分
在这种情况下,第一个字符d
表示这是一个目录,但您还将看到l
链接和-
普通文件。
在本例中,接下来的 3 个字符rwx
是所有者的权限。在本例中,所有者可以读取、写入和执行r
文件或目录。w
x
接下来的三个是针对组成员的,在这种情况下r-x
表示组中root
但不是用户的人员root
可以读取和执行,但不能写入。
最后三个字符适用于其他所有人,在这种情况下r-x
,每个人都具有读取和执行权限,但不能写入。
对于目录d
类型,执行权限意味着您可以进入该目录。对于普通文件-
类型或链接l
,这表示它可以作为程序运行。
对于您所询问的目录,普通用户已经被限制读取和执行。
如果你想更改这些权限,你可以使用chmod
如下命令这里或者以 root 身份运行 nautilus 以图形方式执行gksudo nautilus
但正如身体坐禅不建议用于系统目录和文件。
答案2
您实际上无法限制用户访问这些目录,因为他们需要访问库和二进制文件,例如 /bin/bash。
我认为有两种方法来限制用户访问。
第一种是使用标准权限。但一般来说,开始在系统文件上使用chown
和是一个非常糟糕的主意chmod
,因为您可能会破坏 Ubuntu 并需要重新安装。在我看来,chown 和 chmod 应该只用于主目录或共享目录中的文件,而不是系统目录 /bin 或 /lib
原因是所有用户都需要访问二进制文件和库,例如/bin/bash
如果您需要限制超出标准权限的使用,请使用 apparmor。
使用 apparmor 的一个简单方法是使用来宾帐户。如果您需要超出此范围的限制,则必须编写自己的配置文件作为模板,请使用此模板:
http://ubuntuforums.org/showpost.php?p=9799756&postcount=5
您需要对系统文件以及需要允许和限制的内容有深入的了解。
或者,您可以使用诸如 LXC 或 chroot jails 之类的工具,但在我看来,它们并不容易配置,需要更多的维护,并且安全性较低(很难逃脱 Apparmor,但更容易逃脱 jail)。