Come gestire l'accesso degli utenti alle cartelle condivise dalla riga di comando?

0

Uso dei comandi sharing o dscl Non riesco a capire come aggiungere utenti associati alle condivisioni. L'attuale account amministratore locale ha accesso a tutte le condivisioni, ma vorrei aggiungere un altro account utente per accedere ad alcune delle condivisioni AFP.

Stranamente, non riesco nemmeno a capire come elencare chi ha attualmente accesso a ciascuno dei SharePoints AFP.

Quindi, cercando la soluzione da riga di comando per le seguenti due domande:

1) come elencare gli utenti correnti associati ad un particolare sharepoint? 2) come aggiungere un utente a un sharepoint?

    
posta TryTryAgain 10.10.2013 - 21:01
fonte

1 risposta

3

L'accesso degli utenti ai punti di condivisione dipenderà dalle autorizzazioni impostate su quel punto di vista. Puoi usare il comando 'ls' per ottenere queste informazioni usando Terminal ... I prodotti Mac più recenti (10.4+) useranno gli ACL per controllare l'accesso a tali cartelle. È possibile ottenere informazioni sia sul POSIX che sugli ACL applicati alle cartelle usando questo comando:

ls -ale /Path/To/Folder

Questo comando elencherà i contenuti della directory nella visualizzazione elenco. Notare che verranno visualizzate le autorizzazioni POSIX (legacy UNIX) sul lato sinistro di ogni riga. Le autorizzazioni possono essere decifrate esaminando la sezione "Autorizzazioni definite" di questa pagina . Probabilmente vedrai un output simile al seguente:

allyourbasearebelongtous:folder eddie$ ls -ale
total 0
drwxrwxrwx    4 eddie  staff   136 Oct 10 12:17 .
drwxr-xr-x@ 101 eddie  staff  3434 Oct 10 12:16 ..
-rw-rw-rw-    1 eddie  staff     0 Oct 10 12:16 testfile
-rw-rw-rw-+   1 eddie  staff     0 Oct 10 12:17 testfile_acl
 0: group:staff inherited allow read,write,execute,delete,append,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown
 1: group:everyone inherited allow read,write,execute,append,readattr,writeattr,readextattr,writeextattr,readsecurity

Si può vedere che gli ACL sono elencati con i loro indici (ordine di valutazione 0-n) nelle directory / file che hanno ACL applicati. Potresti anche vedere che alcuni file non mostrano ACL ad essi associati (i file che hanno ACL applicati mostrano un "+" accanto al nome del file quando elencato in Terminale). Sia le ACL che le autorizzazioni POSIX vengono valutate quando gli utenti tentano di connettersi a un sharepoint sul server. Se il POSIX o gli ACL sono in conflitto, potresti vedere un comportamento un po 'strano / indefinito.

Per la maggior parte, il controllo dell'accesso ai punti di condivisione dovrebbe essere fatto da "gruppo". Raccomando di impostare un gruppo sulla macchina, aggiungendo utenti che dovrebbero avere accesso a quel punto di condivisione a quel gruppo e applicando un ACL (che erediterà) a quel punto di condivisione in modo che i futuri file / cartelle creati in quella condivisione abbiano le stesse autorizzazioni impostate . Un esempio di impostazione dell'ereditarietà per un gruppo chiamato "Accounting" su una singola cartella denominata "Dati" è mostrato di seguito:

chmod -R +ai "Accounting allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,directory_inherit,file_inherit" Data

Si noti che potrebbe anche essere opportuno coordinare le autorizzazioni del gruppo POSIX con gli ACL impostati per garantire l'accesso sicuro a tali cartelle:

chmod -R admin:accounting Data

Potrebbe essere una buona idea non consentire ad altri utenti di condividere questa condivisione (per una sicurezza più severa) usando le autorizzazioni POSIX. Lo "0" in questa modalità di permessi ottali non specifica permessi di lettura / scrittura / esecuzione per gli altri utenti (ad esempio, non per l'utente amministratore o il gruppo contabile):

chmod -R 770 Data

Dopo aver configurato quell'ACL nella cartella, puoi semplicemente aggiungere utenti futuri al gruppo "Accounting", che dovrebbe quindi consentire loro l'accesso alla condivisione. Per aggiungere un utente a un gruppo dalla riga di comando, è possibile utilizzare dseditgroup. Ecco un esempio di conferma della presenza o meno di un membro del gruppo:

dseditgroup -o checkmember -m newuser accounting

Se l'utente non fa parte del gruppo, puoi aggiungerli al suo interno:

sudo dseditgroup -o edit -a newuser -t user accounting
    
risposta data 10.10.2013 - 21:41
fonte

Leggi altre domande sui tag