Linux 访问文件 Permission denied 的原因

转自:http://blog.163.com/wang_ly2442/blog/static/94943407201361142651441/


目前有一个无登陆权限的用户:user1:x:2002:2002::/home/user1:/sbin/nologin

通过su user1 -s /bin/bash -c "cat /a/b/c/test"命令显示文件test内容,会出现下面的执行结果:cat: /a/b/c/test: Permission denied
依次检查每一级文件和目录结果如下:
ll /a/b/c:    -rw-r--r-- 1 user1 user1 42 Jul 10 19:30 test
ll /a/b: drwxr-xr-x 2 root root 4096 Jul 10 19:30 c
ll /a: drwxr-xr-- 3 root root 4096 Jul 10 19:29 b
ll /: drwxr-xr-x 3 root root 4096 Jul 10 19:29 a
 
原因分析:/a/b/c三级目录所属用户和所属组均为root,用户user1和root不属于同组,user1如果要能访问到test文件,必须保证以上每一级目录对其它用户的权限有r和x。由于其中的目录b权限为drwxr-xr--,对其它用户只有r权限没有x,所以无法进入,从而导致文件test访问被拒绝

针对每一层目录,有两种办法解决:
1)让user1成为该目录的owner,并且访问权限至少为r-x------(500)
2)目录的owner仍然是其他用户,如root,但权限改为xxx xxx r-x,使其他组的用户也能进入并读取。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值