如何防止其他用户访问文件夹?

rai*_*ver 14 permissions users

我想禁止其他用户读取我的主目录中的文件。我应该如何做到这一点?我应该使用加密吗?如果是这样,我该怎么做?

Sav*_*vic 13

  1. 如果您指的是 /home 中的文件,那么您是对的。默认文件夹权限为 755(其他人可读和可执行/可访问)。

    您可以通过编辑文件来更改所有新文件夹的默认权限/etc/adduser.conf- 查找行...:

    DIR_MODE=0755
    
    Run Code Online (Sandbox Code Playgroud)

    要阻止其他人,请将其更改为:

    DIR_MODE=0750
    
    Run Code Online (Sandbox Code Playgroud)

    要同时阻止同一组中的人(请参阅ls -l /home),请将其更改为:

    DIR_MODE=0700
    
    Run Code Online (Sandbox Code Playgroud)

    当您创建新用户时,更改将生效

  2. 您还可以更改默认的 umask 值 - 编辑文件/etc/login.defs

    普通用户使用的默认 umask 002。使用此掩码,默认目录权限为 775,默认文件权限为 664。

    root 用户的默认 umask 为 022,导致默认目录权限为 755,默认文件权限为 644。

    对于目录,基本权限是 (rwxrwxrwx) 0777,对于文件,它们是 0666 (rw-rw-rw)。

    简而言之,

    022 的 umask 只允许您写入数据,但任何人都可以读取数据。

    077 的 umask 适合完全私有的系统。如果 umask 设置为 077,则其他用户无法读取或写入您的数据。

    当您与同一组中的其他用户共享数据时,umask 为 002 是好的。您组的成员可以创建和修改数据文件;您组外的人可以读取数据文件,但不能修改它。将您的 umask 设置为 007 以完全排除不是组成员的用户。

    来源:http : //www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

  3. 您可以使用以下命令更改特定文件夹的默认文件/文件夹权限(即,当您创建新文件时):

    DIR_MODE=0755
    
    Run Code Online (Sandbox Code Playgroud)

    验证更改:

    DIR_MODE=0750
    
    Run Code Online (Sandbox Code Playgroud)

    来源:https : //unix.stackexchange.com/questions/1314/how-to-set-default-file-permissions-for-all-folders-files-in-a-directory

    https://www.linuxquestions.org/questions/linux-desktop-74/applying-default-permissions-for-newly-created-files-within-a-specific-folder-605129/

    为了澄清起见,/root 文件夹默认设置为不可读:

    $ ls -ld
    /root drwx------ 9 root root 4096 Jul 27 19:00 /root
    
    Run Code Online (Sandbox Code Playgroud)
  4. 您可以使用 chmod 和 chown 命令立即更改现有文件/文件夹的权限,如下所述:http : //www.cyberciti.biz/faq/how-to-use-chmod-and-chown-command/

    通过右键单击文件/文件夹 > 属性 > 权限可以实现相同的效果