首页 > 解决方案 > 创建对主目录只有读/写权限的 ubuntu 服务器用户

问题描述

我想在我的 ubuntu 服务器上创建一些用户。我只想让用户对其主目录具有读/写权限,而不能读取或写入任何其他用户的主目录。有没有人建议如何做到这一点?有没有办法创建一个具有这些权限的组,然后将所有用户添加到该组?还是我需要创建每个用户,并且只授予他们对其主目录的读/写权限?我是 ubuntu 服务器的新手,当我创建一个新用户时,它似乎拥有与我的帐户相同的所有权限。

标签: ubuntu-server

解决方案


首先,这个问题更适合Ask Ubuntu,这是专门针对 ubuntu 问题的堆栈交换站点。

要回答您的问题,我建议您阅读有关用户管理的 ubuntu 文章,您需要知道的一切都在那里。以下是相关部分:

要添加或删除个性化组,请分别使用以下语法:

sudo addgroup groupname
sudo delgroup groupname

要将用户添加到组,请使用以下语法:

sudo adduser username groupname

创建新用户时,adduser 实用程序会创建一个名为 /home/username 的全新主目录。默认配置文件是根据 /etc/skel 目录中的内容建模的,其中包括所有配置文件基础知识。

如果您的服务器将是多个用户的家,则应密切注意用户主目录的权限以确保机密性。默认情况下,Ubuntu 中的用户主目录是使用全局读取/执行权限创建的。这意味着所有用户都可以浏览和访问其他用户主目录的内容。这可能不适合您的环境。

要验证您当前的用户主目录权限,请使用以下语法:

ls -ld /home/username

以下输出显示目录 /home/username 具有世界可读权限:

drwxr-xr-x  2 username username    4096 2007-10-02 20:03 username

您可以使用以下语法删除世界可读权限:

sudo chmod 0750 /home/username

一个更有效的方法是在创建用户主文件夹时修改 adduser 全局默认权限。只需编辑文件 /etc/adduser.conf 并将 DIR_MODE 变量修改为适当的值,这样所有新的主目录都将获得正确的权限。

DIR_MODE=0750

使用前面提到的任何技术更正目录权限后,使用以下语法验证结果:

ls -ld /home/username

下面的结果表明,世界可读的权限已被删除:

drwxr-x---   2 username username    4096 2007-10-02 20:03 username

推荐阅读