是否可以创建只能使用一个目录的用户?

是否可以创建只能使用一个目录的用户?

现在买了个Ubuntu云服务器,今天早上安装了Webmin,现在有个问题。

是否可以创建只能使用一个目录、SVN、FTP、PHP、Python、MySQL 或 Apache 的用户?例如,用户 Kevin 只能使用 /var/www/kevin/?他可以查看 /var/www/ 中的所有内容,但不能执行/写入,并且禁止查看/执行/写入所有其他内容。

答案1

在您的情况中,您有文件夹及其目录的所有者,例如apacheKevin是允许读取内容但不能写入或执行内容的用户。所有其他用户均被拒绝读取、写入和执行权限。

这非常适合Linux文件系统权限系统。

permission  bits
  Read       4
  Write      2
 eXecute     1

可以根据所有者、组或其他所有人授予每个文件或目录的权限。

  • 所有者(apache)可以执行任何操作,因此我们授予其读写权限(4 + 2 = 6
  • 为了将来做好准备,万一您需要授予其他 Kevin 对该文件的读取权限,请创建一个新组,例如apache-users。然后,将 Kevin 添加到此组并将组权限位设置为4(R(读)
  • 接下来,拒绝不拥有该文件或不是该apache-users组成员的任何人的所有权限0

要添加群组apache-users并将 Kevin 添加为成员,请转到系统->用户和组. 打开标签本地团体并按创建新组. 输入群组名称 ( apache-users)团队名字. 选择 Kevin成员并按->. 按确认这些更改创造

对于文件,您可以运行以下命令来更改所有者、组和权限:

sudo chown apache filename
sudo chgrp apache-users filename
sudo chmod 640 filename

目录

目录的权限几乎相同,除了执行位 ( 1)。执行位配置用户是否被允许进入目录,即访问目录内的其他文件和目录。读取位控制您是否可以列出目录的内容 ( ls)。

因此,如果某个文件夹/dir的所有者为 root:root(组 root),并且的权限/dir/file设置为 777,则/dir/file如果的权限/dir设置为 666 或 770(请注意缺少的 eXecute 权限),则您无法访问(读取、写入或执行)。

文件夹的权限将变为 750:7所有者 ( ) 具有读取、写入和执行 ( ) 权限,组 ( ) 具有apache读取和执行 ( ) 权限,其他任何人都无权限 ( )。5apache-users0

对于您的设置,权限变为(*= 取决于):

location             owner     group        permissions
/                    root      root         755
/var/                root      root         755
/var/www/            root      root         755
/var/www/kevin/      kevin     *            700 or 750
/var/www/apache/     apache    apache-users 750
/var/www/other/      *         *            700 or 750
/var/www/anyoneread/ *         *            755

/var/www/other/是其他用户的目录,不允许您(kevin)进入该目录。

相关内容