Denne her er MEGET lang - håber at der er nogle der orker at følge med. Hvis indlægget er lagt i en forket gruppe regner jeg med en administrator kan flytte indlægget.
Først spørgsmålene kogt sammen:
Sp. 1:
Hvorfor kan jeg ændre og slette andre brugeres filer på en min netværksdisk med NFS, men ikke på en bærbar med NFS-server? Som jeg har opfattet det burde det ikke kunne lade sig gøre, se min "logik" længere nede. Selv filer med UID 0 og GID 0 kan jeg ændre som en almindelig bruger med GID/UID 1001!
Sp. 2:
Hvorfor kan jeg godt oprette filer/mapper i Testmappe-1 på MyBookLive, men ikke på Jukebox - det hænger nok sammen med at Other ikke har w-rettigheder, men det undrer mig at de to servere opfører sig forskelligt når permissions er (tilsyneladende) ens?
I Testmappe-2 kan jeg godt oprette mapper og filer på begge servere efter jeg med chmod giver Other rwx på mappen.
Sp. 3:
Når jeg sletter filer via Nautilus fra MyBookLive ryger de i papirkurven lige som lokale filer, men når jeg sletter fra Jukebox får jeg at vide at de ikke kan flyttes til papirkurv - jeg kan dog vælge at slette dem permanent. Hvorfor denne forskel?
Min fornemmelse:
Angående Sp. 1: Her er jeg helt på bar bund med årsagen
Angående Sp. 2 og Sp. 3 kan det måske hænge sammen med operativsystem (Linux vs. Ubuntu), eller måske på grund af umask? Jeg har forsøgt at fårstå umask, men trods ihærdig læsning på nettet samt i man-pages, er umask stadig lige så klart som blæk i en sort flaske, sagt på en anden måde, jeg kan ikke gennemskue umask, og fatter ikke hvorledes umask virker :-(
Og så til det "langhårede":
Jeg har anskaffet mig en netværks-harddisk/NAS (mærke/model: WD My Book Live), som kan køre både Samba og NFS.
Med hensyn til NFS er der nogle ting der undrer mig med hensyn til rettigheder. Jeg har læst og læst på nettet, og er blevet klogere, men noget af det kan jeg altså ikke gennemskue.
Jeg kan se at NFS åbenbart ikke overfører brugernavne/-rettigheder, og at der opstår et misk-mask hvis der ikke er sammenfaldende user-id/group-id på client og server. Desuden kan man ikke tilgå et "private share" via NFS, men godt via Samba. Alt dette kan jeg i det store og hele godt gennemskue og acceptere.
Nu til "problemerne", hvor min viden kommer til kort:
Jeg er blandt andet faldet over følgende passus (http://nfs.sourceforge.net/nfs-howto/ar01s06.html):
"The second step is file access. This is a function of normal file system access controls on the client and not a specialized function of NFS. Once the drive is mounted the user and group permissions on the files determine access control.
An example: bob on the server maps to the UserID 9999. Bob makes a file on the server that is only accessible the user (the equivalent to typing chmod 600 filename). A client is allowed to mount the drive where the file is stored. On the client mary maps to UserID 9999. This means that the client user mary can access bob's file that is marked as only accessible by him. It gets worse: If someone has become superuser on the client machine they can su - username and become any user. NFS will be none the wiser."
Ud fra ovenstående konkluderer jeg, at hvis Mary ikke har samme UID (9999) som Bob, har hun heller ikke adgang til hans filer. Men jeg oplever at jeg kan ændre/slette alle filer uanset UID/GID på filerne når det gælder MyBookLive :-/
Nedenfor en beskrivelse af mit sæt-op, og hvad jeg prøver, samt hvad der undrer mig:
For at afklare om det er et generelt "NFS problem", eller et "netværks-drev problem" har jeg prøvet at installere en nfs-server på min gamle bærbare.
De 3 maskiner jeg har i spil til mine forsøg:
a) Netværksdrevet/server har navnet MyBookLive, nobody har UID 999, og gruppen share har GID 1000
b) Min bærbare med nfs-server har navnet Jukebox, nobody har UID 65534, men jeg har ingen gruppe der hedder share. Jeg bruger GID 1000 i eksemplet (det er min "super-bruger" på Jukebox).
c) Min almindelige pc (Sorteper) bruger jeg som client, og er logget på som "almindelig bruger", og har UID 1001 og GID 1001
Operativsystem på de to servere:
Kode: Vælg alt
MyBookLive:/nfs/Public# uname -a
Linux MyBookLive 2.6.32.11-svn70860 #1 Thu May 17 13:32:51 PDT 2012 ppc GNU/Linux
Kode: Vælg alt
Jukebox:/nfs/Public# uname -a
Linux Jukebox 3.2.0-49-generic-pae #75-Ubuntu SMP Tue Jun 18 18:00:21 UTC 2013 i686 i686 i386 GNU/Linux
MyBookLive kører kun med NFSv2 og NFSv3 - hvorimod Jukebox også kan køre med NFSv4, men jeg mener kommunikationen med begge servere foregå via NFSv3 ud fra den måde jeg har opsat mount i min fstab på clienten.
Min /etc/exports på MyBookLive:
Kode: Vælg alt
/nfs *(rw,root_squash,sync,no_subtree_check,insecure)
Min /etc/exports på Jukebox:
Kode: Vælg alt
/nfs *(rw,root_squash,sync,no_subtree_check,insecure)
Min /etc/fstab på clienten (kun relevante linjer for nfs), og med den bemærkning at nas01 er mit netværksnavn for MyBookLive i hosts:
Kode: Vælg alt
nas01:/nfs/Public/ /media/NAS-MyBookLive/ nfs nfsvers=3,rsize=8192,wsize=8192,timeo=14,hard,intr 0 0
Jukebox:/nfs/Public/ /media/NAS-Jukebox/ nfs nfsvers=3,rsize=8192,wsize=8192,timeo=14,hard,intr 0 0
Rettigheder for de mountede mapper på clienten:
Kode: Vælg alt
SortePer:~$ ls -n /media/ | grep NAS
drwxrwxr-x 4 99 1000 4096 2013-07-25 13:24 NAS-Jukebox
drwxrwxr-x 10 99 1000 65536 2013-07-25 13:23 NAS-MyBookLive
Og da jeg tidligere har nævnt min manglende forståelse for umask, må vi hellere se hvorledes den ser ud på de to server:
Kode: Vælg alt
MyBookLive:/nfs/Public# umask
0001
Kode: Vælg alt
Jukebox:/nfs/Public# umask
0022
Jeg opretter derefter nogle filer (0.txt og 2014.txt) ved hjælp af touch.
På MyBookLive får de rettighederne rw-rw-rw-, og på Jukebox rw-r--r-- (på grund af umask??)
Jeg laver dernæst en chmod 600 (og chown) og sørger for at filerne har samme rettigheder og ejer (nobody) på begge servere.
Dernæst opretter jeg hhv. en mappe og en fil i Testmappe-2 på begge servere ved at højreklikke i Nautilus på clienten. Filen og mappen for samme UID og GID som jeg har på clienten --- det er også hvad jeg forventer, eftersom jeg ikke bruger all_squash eller anonuid/anongid i mine /etc/exports.
På MyBookLive kan jeg læse/ændre/slette alle filer både i Testmappe-1 og Testmappe 2, hvilket jeg finder i modstrid med det som jeg har opfattet jvnf. citat tidligere. Jeg kan også oprette mapper/filer som mig selv (UID/GID 1001). Jeg kan endda slette filer med UID 0 og GID 0 - -- så vidt jeg kan se hænger det sammen med "sticky bit" som skal sættes for at undgå at alle brugere kan slette alle/andres filer .
På Jukebox kan jeg overhovdet ingenting med filerne, ej heller oprette, i Testmappe-1, jeg kan dog se filerne, men ikke læse dem. I Testmappe-2(hvor Other også har w) kan jeg oprette filer og ændre/slette mine egne filer. Jeg kan se de andre filer, men ikke læse dem - til gengæld kan jeg slette dem.
På MyBookLive ryger slettede filer i papirkurven - på Jukebox får jeg besked om at filer ikke kan smides i papirkurv, men jeg kan vælge at slette dem permanent.
På MyBookLive ser det sådan ud inden jeg begynder at slette filer - umiddelbart ville jeg mene at jeg kun kan ændre/slette mappen "mappe uden navn" og filen "ny fil" da de er de eneste der har mit UID/GID. Alligevel kan jeg læse/ændre/slette alle filerne :-( Der er ingen user/groups med numrene 2013 på nogle af mine maskiner!
Kode: Vælg alt
MyBookLive:/nfs/Public# !ls
ls -Rn
drwxrwxr-x 2 99 1000 65536 Jul 25 04:39 Testmappe-1
drwxrwxrwx 3 99 1000 65536 Jul 25 04:39 Testmappe-2
./Testmappe-1:
-rw------- 1 0 0 0 Jul 25 04:39 0.txt
-rw------- 1 2013 2013 0 Jul 25 04:39 2013.txt
./Testmappe-2:
-rw------- 1 0 0 0 Jul 25 04:39 0.txt
-rw------- 1 2013 2013 0 Jul 25 04:39 2013.txt
drwxr-xr-x 2 1001 1001 65536 Jul 25 04:39 mappe uden navn
-rw-r--r-- 1 1001 1001 0 Jul 25 04:39 ny fil
På Jukebox ser det sådan ud:
Kode: Vælg alt
Jukebox:/nfs/Public# !ls
ls -Rn
drwxrwxr-x 2 65534 1000 4096 jul 25 13:39 Testmappe-1
drwxrwxrwx 3 65534 1000 4096 jul 25 13:40 Testmappe-2
./Testmappe-1:
-rw------- 1 0 0 0 jul 25 13:39 0.txt
-rw------- 1 2013 2013 0 jul 25 13:39 2013.txt
./Testmappe-2:
-rw------- 1 0 0 0 jul 25 13:39 0.txt
-rw------- 1 2013 2013 0 jul 25 13:39 2013.txt
drwxr-xr-x 2 1001 1001 4096 jul 25 13:40 mappe uden navn
-rw-r--r-- 1 1001 1001 0 jul 25 13:40 ny fil
Hvis jeg kigger i mapperne (/media/NAS-Public og /media/NAS-Juke) på clienten ser det ud på samme måde.
PS:
Nogle gange hjælper det at formulere problemet - det hjalp dog ikke ret meget på min forståelse denne gang :-( jeg fik dog hevet "sticky bit" frem fra min erindring.