Strano comportamento di autorizzazione di Linux


0

Su un sistema CentOS7 ho installato samba per creare una condivisione per i client Windows usando i seguenti passi:

mkdir /samba/myShare

Quindi ho definito /samba/myShare come la mia cartella condivisa tramite il smb.conf file. Successivamente, ho fatto i seguenti passaggi:

chmod 777 /samba/myShare #(drwxrwxrwx)
mkdir /samba/myShare/myFolder
chmod 774 /samba/myShare/myFolder #(drwxrwxr--)

Ora pensavo che il myFolder la directory sarebbe protetta contro la modifica del suo nome o la cancellazione tramite gli utenti di Windows dando solo il permesso di lettura a "altri utenti", ma non era così. La directory stessa è rimasta scrivibile. Poi stavo cercando su google e arrivò al punto che la directory rimaneva scrivibile perché come directory figlio prende i permessi dalla sua directory madre, che è /samba/myShare nel mio caso. Ma ora arriva la cosa strana che mi confonde molto:

  • Quando faccio a chmod 773 /samba/myShare/myFolder ( drwxrwx-wx ) Non sono più in grado di modificare o eliminare la directory stessa tramite Windows. Qualcuno potrebbe spiegare per favore di cosa si tratta?
  • Perché posso cancellare e cambiare myfolder tramite il client Windows quando imposto le autorizzazioni drwxrwxr-- e non posso cancellarlo o cambiarlo quando imposto le autorizzazioni drwxrwx-wx?

La voce nel smb.conf può essere utile:

[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = bad user`
`[myShare]
comment = myShare
path = /samba/myShare
public = yes
writeable = yes

Oh si: so che settare i permessi 777 non è molto comune ma questo era solo per i test.

Risposte:


0

In Unix la cancellazione o la ridenominazione di un file / directory è un'azione sulla sua directory principale. I flag di accesso si applicano all'inode indicato dal nome.


Mi sembra chiaro, ma il fatto che l'impostazione dei permessi su (drwxrwxr--) mi permetta di cancellare e rinominare la cartella ma (drwxrwx-wx) no, mi confonde. Se è vero ciò che hai scritto, questo cambiamento non dovrebbe avere alcun effetto su questo perché non ho cambiato nulla nella directory genitore. Correggimi se sbaglio.
Tecbill

Se la directory non è leggibile, i comandi che dovrebbero cancellarla non possono accedere agli inode dei suoi file / sottodirectory e quindi non possono svuotarla. Quindi se la directory non è vuota non è possibile cancellarla su Linux, anche con rm -rf (puoi comunque rinominarlo). Se è vuoto, allora è cancellabile.
xenoid

Davvero buona osservazione quel punto con la cartella vuota, non lo sapevo, grazie mille !!!
Tecbill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.