Di server NFS saya, saya memiliki ekspor yang ditentukan sebagai berikut:
#NFS exports Database
/shared -alldirs -network=192.168.1 -mask=255.255.255.0
Di klien NFS saya:
192.168.1.7:/shared /shared nfs rw 0 0
Jelas, sebagai root di server, saya dapat melakukan apa pun yang saya inginkan. Namun pada klien, pengguna reguler saya 'gabe' dapat membuat perubahan pada mount nfs (dengan asumsi saya memiliki izin), tetapi root tidak bisa.
Sebagai pengguna reguler saya:
gabe@client$ cd /shared
gabe@client$ ls -l
total 8
drwxrwxrwx 4 gabe wheel 512 Mar 20 19:20 tmp
gabe@client$ cd tmp
gabe@client$ touch test.txt
gabe@client$ rm test.txt
Sebagai root:
# cd /shared/tmp
# touch test.txt
touch: test.txt: Permission denied
Sekali lagi, ini semua ada di sisi klien NFS , dan saya kira mungkin ini ada hubungannya dengan opsi -maproot. Ini adalah pertama kalinya saya mengatur NFS dan saya baru menyadari keanehan ini. Saya akan melakukan beberapa bacaan sekarang, untuk melihat apakah saya bisa mengetahuinya, tetapi jika ada yang punya wawasan, saya akan sangat menghargainya.
sumber
-maproot
opsi tanpa memiliki akses ke Server NFS.Itu perilaku umum dengan implementasi NFS tradisional. Pemetaan pengguna NFS dilakukan terlepas dari konteks, sehingga semua akses oleh root klien harus dipetakan ke pengguna tertentu (biasanya
nobody
secara default). Oleh karena itu perilaku aneh ini, di mana root klien tidak dapat mengakses file Anda secara langsung, tetapi dapatsu gabe
mengaksesnya.(Versi “NFS” terbaru, yaitu NFSv4 dan mungkin NFSv3, memungkinkan perilaku yang lebih waras jika didukung di kedua sisi, tetapi saya tidak tahu detailnya.)
sumber