2013-11-01 33 views
1

我注意到我的文件權限模式有些奇怪。用戶標識爲500,但爲用戶設置的主要組也是500(與用戶標識相同)。這是否允許?我在我的apache服務器上遇到許可問題,並想知道這是否與此相關。我在etc/groups中看不到具有「500」用戶標識的組。當我運行'cat etc/passwd'時,ID爲500的用戶也有500個用於該組的用戶,但是該組不存在。但是,如果它不存在,最初創建時不會拋出錯誤嗎?分配給用戶的主組ID是否可以與用戶ID相同?

我遇到(在Apache)服務器特定的錯誤是絕對UNIX權限相關:

[週五年11月1 11時25分44秒2013] [錯誤] SoftException在Application.cpp:256:文件「/home/sagedev/directory_name/index.php」可由羣組寫入

+0

'/ etc/group'中的缺失項是一個問題,但並不意味着該組不存在;它只是沒有名字。檢查錯誤消息中引用的文件的權限;顯然它不應該是羣組可寫的。 –

+0

@KeithThompson這真是奇怪,這個文件實際上並不是可寫組的,可以修改爲644.我已經嘗試了各種其他許可方案,包括777 - 沒有運氣。 –

+0

奇數。嘗試400,也許? –

回答

1

uid和gid是單獨的名稱空間。讓屬於組500的用戶500或屬於組501的用戶500屬於組500,或者用戶500和組500彼此無關,這是完全合理的。

雖然不存在羣組所有權的文件並不好,並且在passwd文件中不存在gid的用戶肯定不是很好。你需要了解他們是如何得到的。您是否刪除了曾經擁有gid 500的組?

運行這些命令:

pwck 
grpck 

來檢查你的passwd文件中其他不一,而這一次:

find /home \(-nouser -o -nogroup \) -print 

以搜索與不存在的所有者/組文件。

+0

在做了一些小小的研究之後,我發現默認情況下,lunix會分配一個「與用戶同名並且gid與uid相等」的組。但是如果這是真的,那麼不應該在etc/group中顯示具有相同uid的組嗎?我會嘗試運行你的命令,但我沒有root登錄。任何我可以做的,沒有根登錄? –

+0

@ChrisScott該方法(每個用戶獲得具有相同名稱和ID的單獨組)是流行的Linux發行版中的常見慣例。它並不總是如此,這不是一個硬性要求。但是,是的,如果你使用的是這種慣例,它會出現在'/ etc/group'中。 –

+0

我是個白癡,實際上500被列在/ etc/group中,只有我沒有向下滾動。所以我想組和用戶的權限設置正確,佔..雖然沒有幫助解決我的服務器錯誤。我會upvote你,如果我有能力(新用戶) –

相關問題