
給定一個目錄 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$
答案1
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
會做出適當的改變。