如何使新创建用户的主目录对其他用户不可见?需用usermod命令
如何让用户主目录对其他用户不可见
嘿,我来帮你搞定这个问题!要实现让其他用户无法访问某个用户的主目录,核心是把目录权限设置为仅所有者拥有读、写、执行权限(对应权限值700)。下面分两种场景给你讲清楚操作方法:
针对已存在的用户(usermod配合权限调整)
你提到的usermod主要用来修改用户的系统属性(比如主目录位置、登录Shell等),它本身不能直接修改目录权限,但可以先确认/调整用户的主目录,再搭配chmod完成权限设置:
- 先确认或修改用户的主目录(如果主目录位置没问题,这步可跳过):
# 查看用户当前主目录(以用户john为例) grep john /etc/passwd | cut -d: -f6 # 如果需要修改主目录位置并迁移原有文件 usermod -m -d /home/john_new john - 调整主目录权限为
700,彻底禁止其他用户访问:chmod 700 /home/john_new
针对新创建的用户(直接设置默认权限)
如果是要让新创建的用户主目录默认不可见,不用等创建后再修改,直接在创建时就搞定更高效:
- 单次创建用户时指定权限:
# 创建用户newuser,同时设置主目录权限为700 useradd -m newuser && chmod 700 /home/newuser - 永久修改系统默认规则:
修改系统骨架目录/etc/skel的权限为700,后续所有新创建的用户主目录都会自动继承这个权限:
之后再用chmod 700 /etc/skeluseradd -m newuser创建用户,主目录权限就会默认是700。
验证权限是否生效
用下面的命令检查主目录权限:
ls -ld /home/john_new
如果输出是drwx------ 2 john john 4096 Aug 10 12:34 /home/john_new,就说明设置成功了——只有所有者john能访问该目录,其他用户完全无法查看或进入。
内容的提问来源于stack exchange,提问作者GDB
相关产品推荐
相关产品推荐

