拒绝 SSH 用户访问其他用户文件夹的权限

拒绝 SSH 用户访问其他用户文件夹的权限

我目前在网络计算机上运行 Fedora,充当其他用户的主机,这些用户将通过 SSH 进入我的终端来完成他们的工作。

但我意识到他们也可以访问我的/home文件夹。我该如何设置权限以使他们无法访问它?

答案1

通过使其不被世界可读。默认情况下它看起来像这样:

igalic@tynix /home % ls -lh
total 28K
drwxr-xr-x. 62 igalic igalic 4.0K Jun 20 10:24 igalic/
drwx------.  2 root   root    16K Jun  1 15:54 lost+found/
igalic@tynix /home %

我可以通过以下方式拒绝除我自己(和 root)之外的任何人访问chmod o-rx

igalic@tynix /home % ls -lh
total 20K
drwxr-x---. 62 igalic igalic 4.0K Jun 20 10:28 igalic/
drwx------.  2 root   root    16K Jun  1 15:54 lost+found/
igalic@tynix /home %

这些是基本的 Unix 权限。您可以使用扩展的 POSIX ACL 进行更细粒度的访问权限:

igalic@tynix /home % getfacl igalic
# file: igalic
# owner: igalic
# group: igalic
user::rwx
group::r-x
other::---

或者 SELinux:

drwxr-x---. igalic igalic unconfined_u:object_r:user_home_dir_t:s0 igalic/
drwx------. root   root   system_u:object_r:lost_found_t:s0 lost+found/

答案2

这样的词权限或者使用权对于 Unix 系统来说太模糊了。为了解决您的问题,您需要了解如何管理权限,然后更准确地定义您的含义“无法访问它”

Unix 上的权限系统的简要概述

权限有3种:

  • r: 读
  • w: 写
  • x: 执行

请注意,该权限对于目录有特殊含义:

  • r:列出目录中的文件,例如ls.
  • w:向目录添加新元素。
  • x:访问目录中的文件。

您可以设置 3 个级别的权限:

  • 用户(文件/目录的所有者)
  • 团体
  • 全部

请注意,当您在系统上创建新用户时,系统会要求您为他们分配一个组。原因很简单,就是为了更好地管理权限。

如何知道文件的权限

有多种方法。我认为最直接的方法是使用ls -l.例子:

$ ls -l file
-rw-r-----   1 rahmu users   406 Jun 18 13:28 file

第一列表示权限。

-rw-r-----,第一位 ( -) 指示该文件是目录、链接还是常规文件。暂时忽略它。接下来的 3 位 ( rw-) 表示用户级别权限。这意味着用户rahmu有权访问readwrite文件。接下来的三位 ( r--) 是组级权限,这意味着该组中的所有用户users都具有read访问权限。所有其他用户将根本没有权限 ( --)。这意味着他们无法读取、写入或执行该文件。

如何修改权限。

它通常是通过chmod实用程序完成的。它支持多种语法,哪一种最好是有争议的,但经过上述解释后,以下内容将最有意义:

$ chmod [who]operator[permissions] file
  • whouser、ggroup 或others。 (还有all,用于一次修改所有三个级别)。
  • operator+-
  • permissionr,wx.

例子:

  • chmod u-w file:删除write用户的权限。
  • chmod a+x fileexecute为所有人添加权限。

如何预防使用权到你的/家?

正如我提到的,您需要定义您的意思使用权。如果您的意思是read访问,就像您不希望他们列出目录中的内容一样,那么最简单的方法就是从目录中获取适当的权限/home。 (假设他们正在与单独的用户连接)。

$ chmod o-rwx ~ 

答案3

每个文件(和目录)始终属于一个用户和一个组。为了管理访问控制,需要设置三组权限:一组用于文件所属的用户,一组用于文件所属的组,一组用于其他所有人(其他)。

检查我们的主目录的权限,ls -l /home.您的主目录很可能属于您的用户名,这意味着其他人是否可以访问它取决于组权限和其他权限。每个对您的主目录具有读取权限的人都可以检索其内容列表,每个具有可执行权限的人都可以访问该目录中的文件。

为了尽可能限制您的主目录权限,将您的主目录权限设置为 700,chmod 700 /path/to/your/home这将使除您之外的每个用户都无法访问您的主目录。

SSH 与此无关!

答案4

如果您愿意安装第 3 方应用程序,您应该查看有限 shell (lshell)。可以将其配置为限制用户对文件系统中的命令和/或路径的访问。

它还可以检测连接是否是远程完成的(通过 SSH、FTP 等)并相应地采取不同的操作。

我无法为您的用例提供准确的配置,但我建议您查看以下描述所有可用的选项,以及示例配置文件托管在该项目的网站上。

相关内容