2015-10-15 109 views

回答

3

事實證明,在現代的Linux發行版,PAM的pam_umask.so模塊控制從/etc/login.defs讀取UMASK設置。然而,它的調整在一定情況下使用,如描述的值由pam_umask(8)

PAM模塊嘗試從以下順序以下位置 得到umask值:

·umask=說法

·在用戶的GECOS字段umask=進入

·從/ etc/default/login中UMASK=進入

·從/etc/login.defs的(由USERGROUPS_ENAB在 /etc/login.defs的影響)UMASK進入

看到Ubuntu的主機上/etc/pam.d/common-session怎麼看pam_umask.so被調用。

根據/etc/login.defs的評論:

如果USERGROUPS_ENAB設置爲「是」,將修改爲私人用戶羣體這個UMASK缺省值 ,我。即uid與gid相同,並且用戶名爲 與主組名稱相同:對於這些,用戶權限將爲 ,用作組權限,例如, G。 022將變爲002.

因此它被認爲是標準行爲。我建議不要禁用USERGROUPS_ENAB,因爲這會在用戶創建時停止創建相應的組。要強制設置umask而不更改此行爲,請在/etc/login.defs中創建包含UMASK=077的/ etc/default/login並註釋掉UMASK 077

(PAM =可插拔認證模塊)

0

創建用戶時在/etc/login.defs中umask值僅用於和被施加到用戶的主目錄

默認的umask爲用戶在/ etc/profile中確定。 (不基於Debian發行申請)

你可以改變特定用戶的umask〜/ .bash_profile中

我也相信USERGROUPS_ENAB = YES強制UPG(通用公證集團),並沒有任何影響的umask值。 (我可能是錯的)

+0

您提到/etc/login.defs設置僅在創建用戶時使用。這不是我在我的答案中引用的pam_umask(8)手冊中讀到的。你對此有何參考? –