Ho impostato un account sftp in /home/sam , ha creato un gruppo sftp e ha aggiunto l'utente sam dentro. ho dato a chown sam:sftp /home/sam per consentire all'utente di eseguire operazioni in quella directory.
Ora ho creato un altro account sftp tom e devo fargli condividere la directory /home/sam . cioè, entrambi sam e tom deve condividere la stessa directory per i file comuni. Ora non posso dare chown tom:sftp on /home/sam . Come faccio a creare la directory sam condivisibile con entrambi gli utenti?
Risposta accettata:
Assumendo una distribuzione Linux comunemente usata e un servizio sshd in esecuzione.
1) Se si desidera che due utenti possano creare, eliminare e modificare file nella stessa directory, è sufficiente creare un account e fornire le credenziali a entrambe le persone. Questo è il modo più semplice, tuttavia...
…se vuoi registrare la loro attività separatamente, ad es. chi ha effettuato l'accesso quando, quindi crea due utenti con lo stesso gruppo e assegna la stessa home directory a entrambi. Es.
groupadd sftp
mkdir /home/sftp
chown nobody:sftp /home/sftp
chmod 770 /home/sftp
useradd -d /home/sftp -g sftp sam
useradd -d /home/sftp -g sftp tom
se gli utenti sam e tom esistono già e hanno il proprio gruppo principale, allora chmod g+s /home/sftp forzerà i file creati in questa directory ad ereditare il relativo ID gruppo.
Controlla questo altro post per come forzare un umask predefinito sotto sftp, quindi i file caricati sono abilitati alla lettura/scrittura di gruppo.
2) Se si desidera che un solo utente crei, elimini e modifichi il contenuto della directory e un secondo utente abbia accesso in sola lettura. Questo non ha davvero bisogno di alcuna gestione speciale, gli utenti normali possono leggere i contenuti dalle directory di altri utenti. Il secondo utente dovrà solo specificare o cd nella directory di destinazione (tuttavia, puoi assegnare la stessa home directory al secondo utente).