Dare accesso in sola lettura a cartelle specifiche?


12

Vorrei dare l'accesso in sola lettura a un utente, ma voglio che veda solo le cartelle esatte a cui accedo. ad esempio, non dovrebbe spostarsi in tutto il server e cercare tutte le cartelle degli utenti, ecc. anche se va solo su, su, su Voglio che vada solo a queste cartelle specifiche che autorizzo. Quindi, in primo luogo, come posso consentire a un utente specifico di accedere a una cartella specifica e quindi sarebbe utile inserire collegamenti simbolici nella sua cartella home? Quindi possono andare direttamente alle cartelle necessarie ma non su o giù?



@Creek No, questo è lo sfondo rilevante ma non spiega come configurarlo.
Gilles 'SO- smetti di essere malvagio' il

@Gilles hai ragione, questo sembra un ambiente Chroot
Creek il

Risposte:


10

È necessario impostare le autorizzazioni di directory necessarie. Per le directory sono:

  • leggi : permesso di visualizzare file e sottodirectory in quella directory
  • write : permesso di creare file e sottodirectory in quella directory
  • esegui : permesso di entrare in una directory.

Per i file la situazione è simile, è abbastanza ovvia, quindi puoi gestirla da solo.

Numeriche queste autorizzazioni:

  • leggi - 4
  • scrivi - 2
  • eseguire - 1

Per modificare le autorizzazioni utilizzare chmod. Uso:chmod xyz <file or directory>

  • x - la somma delle autorizzazioni del proprietario
  • y - la somma delle autorizzazioni del gruppo proprietario
  • z - la somma delle autorizzazioni di utenti / gruppi di riposo

Esempio:

$ chmod -R 664 /home/jack/

Il gruppo di jack e jack avrà accesso in lettura + scrittura a / home / jack e a tutte le sue sottodirectory. Il resto avrà solo accesso in lettura. -Ropzione qui utilizzata per impostare in modo ricorsivo le autorizzazioni.

Altro esempio:

$ chmod 700 /home/jack/video/

darà a jack l'accesso completo alla /home/jack/videodirectory. Vedi anche: chown, chgrpper cambiare proprietario e il gruppo proprietario.


1
Sebbene questo sia un background marginalmente rilevante, la domanda non riguarda i dettagli delle autorizzazioni di directory, ma si tratta di impostare un ambiente limitato.
Gilles 'SO- smetti di essere malvagio' il

1
Non è necessario chrootqui, presumo, il problema può essere facilmente risolto impostando le autorizzazioni necessarie.
milos,

3

Inoltre non leggo necessario per impostare chroot. per impedire di accedere alle directory principali, assegnare un'autorizzazione rigorosa.

$ mkdir --parent 1/2/3
$ ls 1
2
$ chmod 100 1
$ ls 1
ls: cannot open directory 1: Permission denied
$ ls 1/2
3

se vogliamo concedere a un utente l'accesso a / home / 1 ma limitiamo l'utente a non vedere quali altri materiali in / home facciamo / home di proprietà di root hand hanno il permesso 111. quindi l'utente non sa mai se / home / 2 esiste.

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.