Ho un problema nel copiare i file in una directory su Ubuntu 12.04. Creo una directory nella home directory in modo che il percorso in cui voglio copiare sia:
/home/sixven/camp_sms/inputs
Ma quando ini eseguire il seguente comando nel terminale per creare un file di esempio come segue:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Non posso copiare i file direttamente in quella directory. Come posso assegnare i permessi con i comandi chown
& chmod
per copiare i file?
Non so quale utente e gruppo usare.
Prima di tutto dovete sapere che il permesso di default delle directory in Ubuntu è 644 che significa che non potete creare un file in una directory di cui non siete proprietari.
stai cercando come user:francisco-vergara
di creare un file in una directory /home/sixven/camp_sms/inputs
che è di proprietà di user:sixven
.
Come risolvere questo problema:
Potete cambiare i permessi della directory e permettere ad altri di creare file al suo interno.
sudo chmod -R 777 /home/sixven/camp_sms/inputs
Questo comando cambierà il permesso della directory in modo ricorsivo e permetterà a tutti gli altri utenti di creare/modificare e cancellare file e directory al suo interno.
Puoi cambiare il proprietario di questa directory e rendere user:francisco-vergara
come proprietario
sudo chown -R francisco-vergara:francisco-vergara /home/sixven/camp_sms/inputs
Ma in questo modo l'"utente:sixven" non può più scrivere in questa cartella e quindi ci si può muovere in un ciclo infinito circolare.
Quindi ti consiglio di usare l'opzione 1.
Oppure, se questa cartella sarà accessibile da entrambi gli utenti, puoi fare il seguente trucco:
cambiare la proprietà della directory a user:francisco-vergara
e mantenere il proprietario del gruppo group:sixven
.
sudo chown -R francisco-vergara /home/sixven/camp_sms/inputs
In questo modo entrambi gli utenti possono ancora usare la directory.
Ma come ti ho detto prima, è più facile ed efficiente usare l'opzione 1.
Per cambiare la proprietà del file, fatelo come root:
chown -R user:user /home/sixven
Se decidi di usare il metodo chmod:
Se sapete che l'utente fa parte del gruppo del file
chmod -R g+rw /home/sixven
Altrimenti:
chmod -R o+rw /home/sixven
Ma questo modo non è troppo sicuro.
Il default UMASK 022 (in Ubuntu ), quindi i permessi per /home/username diventa 755. e si è loggato come utente francisco-vergara
e cercando di creare file in user sixyen Home: cioè /home/sixven
. non ha il permesso di scrittura per Other users Only User/Group of sixven
has write access.
se vuoi l'accesso in scrittura in quella directory, allora devi essere parte del gruppo sixven
usando usermod -G sixyen francisco-vergara
O chmod -R 777 /home/sixven
(non usarlo'è una cattiva pratica).