無法從 OSX 用戶端寫入 Linux NFS 共享

無法從 OSX 用戶端寫入 Linux NFS 共享

我正在嘗試從我的 OSX 10.6 筆記型電腦連接到從我的 Debian Squeeze 盒子共享的 NFS 驅動器,並儘我所能,但無法讓我從 Mac 寫入磁碟。我在 /etc/exports 中有以下內容:

/mnt/usbdrive 192.168.1.0/24(rw,insecure,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000)

所有請求都來自 UID/GID 1000/1000,我的用戶,擁有整個驅動器。但是,當我在 Mac 上安裝驅動器時,所有內容也歸 1000/1000 所有,因此我永遠無法寫入磁碟:

~> ls -la /Volumes/USBDrive/
drwxr-xr-x  6 1000  1000    4096  5 Sep 19:31 .
drwxrwxrwt@ 4 root  admin    170  6 Sep 22:41 ..
drwx------  2 1000  1000   16384 28 Aug 21:24 lost+found
drwxr-xr-x  2 1000  1000    4096 29 Aug 15:35 music

我見過其他一些人也遇到過這個問題,但我見過的唯一解決方案是 chmod 整個磁碟 777,我寧願避免這樣做。不幸的是,我無法在我的系統上使用 nfs-user-server,因此我無法使用 UID/GID 映射。

答案1

不要將所有檔案指派給 uid 1000,而是將所有檔案指派給 Mac 上的 uid(id -u在終端機中執行以查看您的 uid)。當您執行此操作時,對 gid ( id -g) 執行相同的操作。

答案2

這就是我在 MacOS 11.1 BigSur(nfs 用戶端)上的工作,在 VirtualBox VM 中運行 Ubuntu 20.04,使用「僅主機」網路直接連接到虛擬機器。據推測,這可以在兩台物理機器之間運行。

*** 請注意,虛擬機器沒有啟用防火牆,因為它是在我的 Mac 內運行的僅主機虛擬機器。顯然,為此,您通常需要在伺服器上的防火牆上開啟連接埠。

Macbook(客戶端)是 192.168.56.1 Ubuntu VM(伺服器)是 192.168.56.11

/etc/exports在伺服器上編輯:

/home/don     192.168.56.1(rw,sync,no_subtree_check,anonuid=1000,anongid=1000,all_squash)

exportfs -a*** 記得編輯完檔案後執行/etc/exports,然後再mount在mac客戶端上運行。

** id 1000 和 gid 1000 是 ubuntu 虛擬機器上的「don」用戶

在蘋果電腦上:

sudo mount -o resvport,rw -t nfs 192.168.56.11:/home/don /Users/don/ubuntudevnfs

sudo umount -t nfs /Users/don/ubuntudevnfs 

resvport在 Mac(客戶端)端無需insecure在伺服器端匯出。

UID/GID 1000 是伺服器上的「don」用戶,從 mac 用戶端可以看出: 在 Mac 用戶端上建立的範例文字文件

它在伺服器上的樣子: 透過 ssh 進入 ubuntu 虛擬機器查看 /home/don

答案3

一種解決方案:在兩個平台上建立一個具有相同群組id的群組,並使兩個平台上的使用者都成為該群組的成員,然後將anongid參數更改為該群組id。

相關內容