尽管 sudo 可以设置某个用户有特殊权限,确实会增大这个用户的权限。

为了限制这个特殊目录只有特定用户可以读,您可以对特殊用户设置目录访问控制列表 acl。

以 user 用户为例,这样设置之后可以实现只有 user 用户可以对这个目录有读权限,其他普通用户无权限

setfacl -m u:user:r– /目录名/文件名

如果想要一次设置可以添加 -R 参数 递归设置整个目录,以及整个目录下的所有文件

setfacl -R -m u:user:r– /目录名/

这样就可以保证某个特殊普通用户对这个目录有可读权限

如果这个目录需要 user 用户可以 cd 进入的话,设置时可以增加大写 X 参数,设置 acl 的时候,大写 X 表示遇到目录给执行权限,遇到文件对象不给执行权限

setfacl -m u:user:r-X /目录名/
setfacl -m u:user:r-X /目录名/文件名

这样设置,可以让 user 用户能 cd 进入特殊目录