如何防止其他用户访问我的主目录?

KVK*_*KVK 9 permissions

我试图限制对我的主目录的访问,以防止另一个用户访问它,甚至另一个用户也有sudo权限。

我已经尝试了以下命令来实现这一目标

sudo chmod 0750 /home/user    
sudo chmod 0755 /home/user
Run Code Online (Sandbox Code Playgroud)

但是如果其他用户有sudo权限,他们可以使用

sudo chmod 0755 /home/user
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以解决这个问题?

jij*_*inp 13

你不能那样做。如果您为用户授予 sudo 权限,则他可以执行任何命令或访问该系统上的任何文件。如果您不信任您的用户,请通过编辑 /etc/sudoers 文件授予他限制性的 sudo 访问权限以仅执行少数命令。创建一个新组admins

将行添加到 /etc/sudoers

%admins ALL =  <Full path to command 1>, <Full path to command 2>
Run Code Online (Sandbox Code Playgroud)


kyo*_*ake 5

如何加密您的 /home 文件夹:

在做任何这些之前,你应该确保你有你的主目录和重要文件的备份。

安装加密实用程序:

打开终端,

Ctrl+ Alt+T

运行:

sudo apt-get update
sudo apt-get install ecryptfs-utils cryptsetup
Run Code Online (Sandbox Code Playgroud)

您必须在未登录时加密您的主目录。您将需要另一个具有管理员权限的用户帐户

您从 Ubuntu 的User Accounts窗口创建一个:

your name面板上的 并选择User Accounts

创建一个新的user account并使其成为administrator.

password按设置 a password box

创建用户帐户后,log out您的桌面。

new user account在登录屏幕上选择您并log in使用它。

打开终端,

Ctrl+ Alt+T

运行它,替换user为您的名称user account

sudo ecryptfs-migrate-home -u user
Run Code Online (Sandbox Code Playgroud)

您必须提供用户帐户的密码。完成后,您的主目录将被加密。

注销并以您的original user account.

在重新登录之前不要重新启动系统!

登录后,按Run this action now按钮以创建恢复密码。

将此密码保存在安全的地方 - 如果您将来必须手动恢复文件,您将需要它。

您可以随时运行该ecryptfs-unwrap-passphrase命令来查看此密码。

重新启动系统一两次并验证一切正常后,您可以删除用户帐户并删除备份主文件夹。


Rid*_*his 4

您可以轻松更改主目录的权限以保护您的私人文件。要检查主目录的权限,请按Ctrl+ Alt+T打开终端窗口。在提示符下键入以下行并按 Enter。替换<username> (aka lori)为您自己的用户名。

\n\n
ls \xe2\x80\x93ld /home/lori\n
Run Code Online (Sandbox Code Playgroud)\n\n

在该行的开头,列出了该文件的权限。

\n\n
\xe2\x80\x9cThe r stands for \xe2\x80\x9cread,\xe2\x80\x9d the w stands for \xe2\x80\x9cwrite,\xe2\x80\x9d and the x stands   for \xe2\x80\x9cexecute.\xe2\x80\x9d Directories will start with a \xe2\x80\x9cd\xe2\x80\x9d instead of a \xe2\x80\x9c-\xe2\x80\x9c. You\xe2\x80\x99ll also notice that there are 10 spaces which hold value. You can ignore the first, and then there are 3 sets of 3. The first set is for the owner, the second set is for the group, and the last set is for the world.\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,下面列出的主目录具有所有者的读、写和执行权限以及组和世界的读和执行权限。

\n\n

在此输入图像描述

\n\n

要更改这些权限,请在提示符下键入以下行并按 Enter。

\n\n
sudo chmod 0750 /home/lori\n
Run Code Online (Sandbox Code Playgroud)\n\n

出现提示时输入密码并按 Enter。

\n\n

在此输入图像描述

\n\n

按两次向上箭头ls \xe2\x80\x93ld /home/<username>再次使用该命令检查权限。请注意,world 的权限都是破折号 (-)。这意味着世界无法读取、写入或执行您的主目录中的任何内容。

\n\n

但是,与您位于同一组中的用户可以读取和执行您的主目录中的文件和文件夹。如果您不希望除您自己之外的其他人访问您的主目录,请0700在 chmod 命令中输入数字。

\n\n

要关闭终端窗口,请exit在提示符处键入并按Enter

\n\n

在此输入图像描述

\n\n

现在,当系统上的其他用户尝试访问您的主目录时,将显示以下对话框。

\n\n

在此输入图像描述

\n\n

您还可以将 Ubuntu 设置为在为要创建的新用户设置主目录时使用特定权限。为此,您需要编辑 adduser 配置文件。为此,请在提示符下键入以下命令并按 Enter 键。

\n\n
gksudo gedit /etc/adduser.conf\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n\n

在显示的对话框的密码编辑框中输入密码,然后按 Enter 或单击确定。

\n\n

在此输入图像描述

\n\n

向下滚动到文件DIR_MODE中的命令adduser.conf。设置的号码是0755默认的。更改它以反映您想要授予不同类型的用户(所有者、组、世界)的不同类型的权限(r、w、x),例如0750前面0700所讨论的。单击“保存”。

\n\n

在此输入图像描述

\n\n

通过从“文件”菜单中选择“退出”来关闭 gedit。您还可以单击窗口左上角的 X 按钮来关闭 gedit。

\n\n

在此输入图像描述

\n\n

单击窗口左上角的 X 关闭终端窗口。

\n\n

在此输入图像描述

\n\n

现在,您的主目录中的文件将保持私有。请记住,如果有其他用户与您位于同一组中,您可能需要取消主目录的组和世界权限。

\n\n
\n\n

摘自(也引用了其他文章):http://www.howtogeek.com/190084/how-to-prevent-other-users-from-accessing-your-home-directory-in-ubuntu-14.04/

\n