Filesystems
使用者屬於目錄組時無權創建子目錄
給定一個目錄 DirA(目錄所有者是
root
,組是sys
)。給定一個使用者 userA,使用者屬於組 sys,他應該能夠在 DirA 中創建一個子目錄嗎?
在 Solaris SunOS 5.9 上,我有一個目錄
/opt
:bash-2.05$ ls -la / total 1205 drwxr-xr-x 34 root root 1024 Mar 17 04:21 . drwxr-xr-x 34 root root 1024 Mar 17 04:21 .. .. Removed all.. lrwxrwxrwx 1 root other 16 Apr 14 2008 opt -> /export/home/opt
這個符號連結將我帶到:
bash-2.05$ ls -la /export/home total 524638 drwxr-xr-x 31 root root 1024 Jan 25 2015 . drwxr-xr-x 3 root sys 512 Jul 2 2007 .. ...REMOVED... drwxr-xr-x 12 root sys 512 Apr 24 10:29 opt
我使用使用者生成器登錄:
bash-2.05$ /usr/ucb/whoami builder
他屬於以下團體:
bash-2.05$ groups builder other root sys bash-2.05$
那麼為什麼
mkdir
會失敗/opt/
呢?bash-2.05$ cd /opt/ bash-2.05$ pwd /opt bash-2.05$ mkdir mynewdir mkdir: Failed to make directory "mynewdir"; Permission denied bash-2.05$ cd /export/home/opt/ bash-2.05$ mkdir mynewdir mkdir: Failed to make directory "mynewdir"; Permission denied bash-2.05$
drwxr-xr-x 12 root sys 512 Apr 24 10:29 opt
表示該目錄只能對
root
. 為了sys
使組成員能夠對目錄進行更改(包括創建子目錄),它需要drwxrwxr-x 12 root sys 512 Apr 24 10:29 opt
如果要啟用此功能:
chmod g+w opt
會做出適當的改變。