Impostazione delle autorizzazioni per utenti e gruppi specifici in Linux

Come posso concedere l'authorization per i file a un utente specifico o ad un gruppo specifico?

Abbiamo tre gruppi: "g12" ("u1" e "u2"), "g34" e "g56".

E altri non dovrebbero accedere al file affatto.

È necessario utilizzare Elenchi di controllo degli accessi. Sono un modo più avanzato per gestire le autorizzazioni rispetto all'utente / gruppo / altro modo predefinito in Linux. Vedere questa pagina ad esempio: Elenchi di controllo degli accessi di Ubuntu

Un esempio da quella pagina:

setfacl -mu:mike:rwx file or directory 

Ho usato questi comandi solo in un laboratorio in un corso di amministrazione del server, ma per quanto potevo vedere, è un modo piuttosto semplice per farlo.

Come radice:

 chown u1:u1 f1.txt chmod 400 f1.txt 

Ciò assicurerà che il file sia di properties; dell'utente u1 (chown) e gruppo u1 (supponendo che il gruppo predefinito utente u1 sia u1) e che solo quell'utente possa leggere il file (chmod). Se vuoi che l'utente sia in grado di scrivere al file, cambi 400-600.

È ansible aggiungere un secondo utente al gruppo predefinito del primo utente con:

 useradd -G u1 u2 

Il command precedente presuppone che il gruppo predefinito dell'utente u1 sia chiamato anche u1 e il secondo utente è u2.

Ora modifichiamo le autorizzazioni su f1.txt per consentire ai membri del gruppo di leggere l'accesso in u1 (il secondo "4" in 400 è le autorizzazioni di gruppo):

 chmod 440 f1.txt 

Ciascuna delle tre cifre che segue il command chmod rappresenta le autorizzazioni per il proprietario (prima cifra), il gruppo (seconda cifra) e tutti gli altri utenti (terza cifra) nel sistema. Un valore di 1 è l'authorization di esecuzione, 2 è l'authorization di scrittura e 4 è l'authorization di lettura. Aggiungete aggiungere questi numbers insieme per "mescolare" questi tre tipi di autorizzazioni. Esempio, 4 (lettura) + 1 (eseguire) = 5, per consentire al proprietario e al gruppo di leggere ed eseguire il file, ma limitare l'accesso a tutti gli altri utenti che utilizzeranno 550, per consentire al proprietario di leggere e scrivere sul file e il gruppo e tutti gli altri utenti per leggere il file, si userebbe 644.

Esistono altri formati per impostare le autorizzazioni, digitare:

 man chmod 

al prompt dei comandi per ulteriori dettagli.

la risposta è breve, non puoi

non imposta le autorizzazioni per i gruppi o gli utenti, imposta le autorizzazioni per i file. Un file dispone di un proprietario e di un gruppo e è ansible impostare separatamente le autorizzazioni "scrittura" e "eseguire" per un utente, un gruppo e tutti gli altri.

Puoi dare un esempio di ciò che stai volendo fare?

Penso che quello che vuoi fare è nel modo in cui organizzi i tuoi gruppi.

Sono relativamente nuovo a Linux, ma da quello che capisco, puoi creare nuovi gruppi. Dite qualcosa come AccessLow e AccessAll. Diciamo che volete che Jim acceda a tutti, quindi metti Jim in quel gruppo. Quindi si dà a quella directory specifica che si desidera che abbiano accesso alla properties; del gruppo di AccessAll. Poi dire quello che vuoi che possano fare con chmod (se vuoi che li acceda con eseguire, basta dare loro Chmod 750. Questo dà il controllo completo del proprietario mentre il gruppo AccessAll ha solo capacità di lettura e esecuzione, ma non può scrivere nella cartella Se vuoi che una cartella abbia un accesso limitato, quindi utilizzi la properties; del gruppo a AccessLow e fai la tua modalità appropriata per quello che vuoi che possano fare, penso che questo functionrà sapendo quello che so. vuoi dare accesso a voi, puoi semplicemente considerare poi "Altro" e dare chmod specifici per permettere loro di leggere semplicemente ma se vuoi che fanno un po 'più di quello che "Altro" specifica, ma vuole ancora avere alcune cose ancora nascoste Suggerisco di metterli in un gruppo che ha la capacità di fare un po 'di più, ma non di un accesso così basso come "Altro". Ci vuole un po' di installazione, ma sembra essere in grado di fare quello che stai cercando. È tutto quello che so da quello che stavo leggendo qui nella ricerca di un modo per cambiare la mia properties; per me qualcosa di molto simile. Utilizzando il server Ubuntu, ero limitato a modificare i parametri, ma ho trovato il process e ho deciso di scrivere su quello che penso potrebbe funzionare.

EDIT: Pensando a questo, mi chiedo se c'è un modo per assegnare persone a più di una causa di gruppo. Ho trovato un'idea ora per fare un diverso tipo di condivisione in Samba. Posso ricercare questo in seguito e get la mia risposta. Ma in Windows, è ansible farlo, quindi pensi che possa essere in qualche modo ansible qui. Sarebbe bello dire a persone attualmente con il mio accesso a dominio per essere in grado di avere la maggior parte delle autorizzazioni disponibili a loro mentre qualcuno autenticato, ma non in dominio ha solo capacità di lettura e forse eseguire senza scrittura a tutti, ecc penso che potrebbe essere ansible rendendoli nomi specifici ma generalizzati di login. Come accedere alla mia directory musicale, è sufficiente effettuare un login chiamato "musica" (con una semplice password) già impostato in Samba per poter accedere alla directory specifica Music con capacità di lettura completa e non vedrà altro.