Ik heb een probleem met het kopiëren van bestanden naar een map op Ubuntu 12.04. Ik maak een map aan in de homedirectory zodat het pad waar ik naartoe wil kopiëren is:
/home/sixven/camp_sms/inputs
Maar wanneer ini het volgende commando in de terminal uitvoert om een voorbeeldbestand als volgt te maken:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Ik kan de bestanden niet direct in die directory kopiëren. Hoe kan ik rechten toekennen met de chown
& chmod
commando's om de bestanden te kopiëren?
Ik weet niet welke gebruiker en groep ik moet gebruiken.
Allereerst moet je weten dat de standaard toestemming van mappen in Ubuntu 644 is, wat betekent dat je geen bestand kunt aanmaken in een map waarvan je niet de eigenaar bent.
Je probeert als user:francisco-vergara
een bestand aan te maken in een directory /home/sixven/camp_sms/inputs
die eigendom is van user:sixven
.
**Dus hoe los je dit op?
Je kunt de rechten van de directory veranderen en anderen toestaan om er bestanden in te maken.
sudo chmod -R 777 /home/sixven/camp_sms/inputs
Dit commando zal de rechten van de directory recursief veranderen en alle andere gebruikers toelaten om er bestanden en directories in aan te maken/te wijzigen en te verwijderen.
U kunt de eigenaarschap van deze directory veranderen en user:francisco-vergara
de eigenaar maken
sudo chown -R francisco-vergara:francisco-vergara /home/sixven/camp_sms/inputs
Maar op deze manier kan de user:sixven
niet meer in deze map schrijven en zo kan je in een oneindige lus terecht komen.
Dus ik adviseer je om optie 1 te gebruiken.
Of als deze map door beide gebruikers wordt benaderd, kun je de volgende truc toepassen:
verander het eigendom van de directory naar user:francisco-vergara
en hou de groep eigenaar group:sixven
.
sudo chown -R francisco-vergara /home/sixven/camp_sms/inputs
Zo kunnen beide gebruikers nog steeds de directory gebruiken.
Maar zoals ik je al eerder heb gezegd, is het het makkelijkst en efficiënter om optie 1.** te gebruiken.
Om het bestandseigendom te wijzigen, doe dit als root:
chown -R user:user /home/sixven
Als je besluit om de chmod manier te gebruiken:
Als je weet dat de gebruiker deel uitmaakt van de groep van het bestand
chmod -R g+rw /home/sixven
Anders:
chmod -R o+rw /home/sixven
Maar deze manier is niet al te veilig.
De standaard UMASK 022 (in Ubuntu ), dus de rechten voor /home/gebruikersnaam wordt 755. en je bent ingelogd als gebruiker francisco-vergara
en probeert bestanden te maken in gebruiker sixyen Home: d.w.z. /home/sixven
. het heeft geen schrijfrechten op Andere gebruikers Alleen gebruiker/groep van sixven
heeft schrijftoegang.
Als je schrijftoegang wilt in die directory, dan moet je deel uitmaken van Groep sixven
met usermod -G sixyen francisco-vergara
OF chmod -R 777 /home/sixven
(don't use it's bad practice).