1. 程式人生 > >分享一個Linux無法建立資料夾,但是目錄許可權卻顯示正常的問題和解決

分享一個Linux無法建立資料夾,但是目錄許可權卻顯示正常的問題和解決

今天發現一個疑難雜症:發現批量釋出一個新版本程式時,發現有一臺沒有成功。親自登陸上去看了下,發現原來是釋出帳號在某個目錄下建立目錄失敗了!

人工 touch 試了下,發現提示沒有許可權。

然後 ls -l 看了下,發現一切正常:

Shell
123456 [root@10.12.212.132:/data/TNM2/release]# ll36240-rw-r--r--1publish users562013-12-2918:44release_statusdrwxr-xr-x41publish users40962013-12-2918:44backupdrwxr-xr-x2publish users40962013-12-2916:47server-rwxr-xr-x1publish users17462013-12-2915:41release-server.sh

奇了怪了啊,於是看下上層目錄是否有許可權,結果發現從/ 到 release 許可權都是正常的!

最終,靈機一動,這個帳號是否可能是被刪除過,後面又新增的呢???

先使用 id 看了下這個使用者資訊:

Shell
12 [root@10.12.212.132
:/data/TNM2/release]# id publishuid=1000(publish)gid=100(users)groups=100(users)

然後,對沒有許可權的目錄使用 ls -nd /data/TNM2/release

Shell
1 drwxr-xr-x499810040962015-08-2718:43/data/TNM2/release/

果然啊!這 UID 都對不上,如果不看 UID 還真不知道是什麼原因呢!

既然知道怎麼回事了,那就簡單了。

使用 chmod 重新授權即可:chmod -R publish:users /data/TNM2/release

Ps:沒有許可權新建檔案或修改檔案其實還有其他一些因素,比如比較隱祕的“加鎖”命令:chattr

感興趣的可以看下: