今天发现一个疑难杂症:发现批量发布一个新版本程序时,发现有一台没有成功。亲自登陆上去看了下,发现原来是发布帐号在某个目录下创建目录失败了!
人工 touch 试了下,发现提示没有权限。
然后 ls -l 看了下,发现一切正常:
1 2 3 4 5 6 | [root@10.12.212.132:/data/TNM2/release]# ll 36240 –rw–r—r— 1 publish users 56 2013–12–29 18:44 release_status drwxr–xr–x 41 publish users 4096 2013–12–29 18:44 backup drwxr–xr–x 2 publish users 4096 2013–12–29 16:47 server –rwxr–xr–x 1 publish users 1746 2013–12–29 15:41 release–server.sh |
奇了怪了啊,于是看下上层目录是否有权限,结果发现从/ 到 release 权限都是正常的!
最终,灵机一动,这个帐号是否可能是被删除过,后面又添加的呢???
先使用 id 看了下这个用户信息:
1 2 | [root@10.12.212.132:/data/TNM2/release]# id publish uid=1000(publish) gid=100(users) groups=100(users) |
然后,对没有权限的目录使用 ls -nd /data/TNM2/release
1 | drwxr–xr–x 4 998 100 4096 2015–08–27 18:43 /data/TNM2/release/ |
果然啊!这 UID 都对不上,如果不看 UID 还真不知道是什么原因呢!
既然知道怎么回事了,那就简单了。
使用 chmod 重新授权即可:chmod -R publish:users /data/TNM2/release
正文完