Samba
如何在 CIFS 掛載上 chown 文件?
這是我的步驟:
mkdir /mnt/docs chown www-data:www-data /mnt/docs ls -l /mnt
積極的結果:
drwxr-xr-x 2 www-data www-data 4096 Jan 6 01:14 docs drwxr-xr-x 2 root root 4096 Dec 8 21:46 cdrom
現在我成功掛載了遠端共享(我可以
touch
以root身份向它送出文件),就像這樣mount -t cifs //192.168.1.10/Public/Documents/Docs -o username=****,password="****" /mnt/docs ls -l /mnt
負面結果(所有者回到根目錄):
drwxr-xr-x 2 root root 0 Jan 12 02:51 docs drwxr-xr-x 2 root root 4096 Dec 8 21:46 cdrom
然後我嘗試這樣
chown
的符號連結(使用-h)chown -h www-data:www-data /mnt/docs ls -l /mnt
但結果還是
drwxr-xr-x 2 root root 0 Jan 12 02:51 docs drwxr-xr-x 2 root root 4096 Dec 8 21:46 cdrom
如何以非 root 使用者身份將共享掛載到本地掛載點?目標是讓 Apache 能夠寫入遠端共享。對 Debian 或 CentOS 系統的解決方案表示讚賞。此外,
chmod
也沒有效果。
我不確定你指的是什麼符號連結。您未能更改的是
/mnt/docs
您的 CIFS 共享的掛載點的所有者。安裝點所有者更改為在其上安裝內容的使用者 (root
)。既然 only
root
能夠掛載,那麼如何更改掛載點的所有者(及其底層內容)?使用uid
andgid
選項(如果需要,還可以使用forceuid
andforcegid
選項)。請參閱手冊頁
mount.cifs
:uid=arg
當伺服器不提供所有權資訊時,設置將擁有已安裝文件系統上的所有文件或目錄的 uid。它可以指定為使用者名或數字 uid。未指定時,預設為 uid 0。
因此,您的
mount
命令應該是:mount -t cifs \ -o username=****,password="****",uid=www-data \ //192.168.1.10/Public/Documents/Docs \ /mnt/docs