最直接有效的方式是收紧家目录的“其他人”权限为700,确保仅属主可读写执行;需用chmod 700 /home/用户名设置,并验证ls -ld输出为drwx------,再配合umask 0077及acl按需授权。

最直接有效的方式是收紧家目录的“其他人”权限,确保只有属主能进入和查看,这是防止用户间跨目录非法访问的第一道防线。
确认当前家目录权限是否宽松
执行 ls -ld /home/用户名 查看实际权限。典型输出如 drwxr-xr-x 表示其他用户(other)仍有读和执行权限——这意味着他们可以 cd 进入你的家目录 并 ls 列出文件名,已构成潜在风险。
注意:对目录而言,“执行(x)”权限决定能否进入,“读(r)”决定能否列出内容。只要两者都存在,他人就可窥探你的文件结构。
用 chmod 重设为严格模式
运行以下命令,将权限改为仅属主可读、写、执行:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- sudo chmod 700 /home/用户名(等价于 sudo chmod u=rwx,g=---,o=---)
- 若提示 username is not in the sudoers file,说明当前用户无 sudo 权限,需切换到 root 或由管理员执行
执行后再次 ls -ld 验证,应显示 drwx------。此时其他普通用户既无法 cd 进入,也无法 ls 查看,彻底阻断目录级越权访问。
补充加固:避免权限被新建文件继承影响
家目录本身权限设严后,还需防止子目录或文件因 umask 设置不当而意外开放:
- 检查当前 umask 值:umask;理想值应为 0077(即新建文件默认权限为 600,目录为 700)
- 若非此值,可在 ~/.bashrc 或 /etc/profile 中添加 umask 0077 并执行 source ~/.bashrc
- 已有宽松权限的子项可用 find /home/用户名 -type d -exec chmod 700 {} \; 和 find /home/用户名 -type f -exec chmod 600 {} \; 批量修正
进阶控制:按需启用 ACL 精确放行
当确实需要让某位同事临时访问你家目录下的某个子目录(如协作项目),又不想开放整个家目录时:
- 先确保文件系统挂载时启用了 acl(mount | grep " /home " | grep acl)
- 运行 setfacl -m u:collaborator:r-x /home/用户名/project_dir
- 这样 collaborator 可以进入并查看该目录,但对其它路径仍无任何权限
ACL 不改变原始权限位,也无需调整组关系,适合点对点授权场景。










