具有多个本地(ssh)用户的Linux服务器 – 权限build议

我有一个Debian服务器,有些人应该能够ssh[编辑] :含义使用该服务器上的软件。 执行安装在其上的任何以用户为目标的程序。 例如,每个x-forwarding运行elinks,mc,gcc或firefox。 重要我没有要求详细的权限,我列出的例子,我只是澄清我的意思是用户[/编辑]

无论我是否信任他人,我都希望服务器拥有干净而安全的权限。 (我有一种感觉,默认情况下,多用户安全性是单用户方便的,比如在/home上用无用的默认读取权限来certificate)。 特别是关于默认情况下具有rwxr-xr-x/etc rwxr-xr-x 任何人都可以阅读这个目录,而且我觉得这很麻烦,但是也许不知道,这是必要的。

可能有人,也许一些有胡子的旧的Unixpipe理员,告诉我如何在多用户服务器上设置权限? 尤其是给:

  • /var
  • /etc
  • /home
  • /opt

如果您不完全了解自己在做什么,请保持原样。

举个例子,每个人都需要在/etc读取很多东西。

  • 需要读取/etc/passwd以将数字用户ID映射到用户名
  • 默认configuration必须读取的shell,SSH和许多其他东西(例如/etc/bashrc/etc/profile/etc/ssh/ssh_config

你会发现那些关键的文件(比如/etc/shadow )只能被root用户读取。


无论如何,我相信你是错误的。 不要考虑用户需要查看的内容,而应该决定他们真正不应该看到的内容,并使这些文件无法访问。 这通常是一个令人惊讶的短名单,在大多数情况下,开发人员或软件包维护人员也已经完成。

这些是什么? 在大多数系统上:

  • shadowgshadow
  • SSH和SSL私钥
  • 包含密码的文件如果我无法避免这些。
  • 防火墙规则

其他的一切对于用户来说并不重要,因为我从来没有碰到/etc大部分文件,所以他们可以通过安装相同的操作系统和软件包到私有系统来查看这些文件。