Mam problem z kopiowaniem plików do katalogu na Ubuntu 12.04. Tworzę katalog w katalogu domowym, aby ścieżka, do której chcę skopiować, to:
/home/sixven/camp_sms/inputs
Ale kiedy ini uruchom następujące polecenie w terminalu, aby utworzyć przykładowy plik w następujący sposób:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Nie mogę skopiować plików bezpośrednio z tego katalogu. Jak mogę przypisać uprawnienia za pomocą poleceń chown
& chmod
, aby skopiować pliki?
Nie wiem, którego użytkownika i grupy użyć.
/home/sixven
? Dlaczego nie ma go w twoim katalogu domowym?francisco-vergara
, ale twój katalog jest w/home/sixven
tym, czy naprawdę jest to dom użytkownika,francisco-vergera
czy też należy on dosixven
użytkownika? Powinieneś wyjaśnić, co dokładnie chcesz zrobić. Napisz w domu innego użytkownika? Czy udostępnić ten katalog grupie?Odpowiedzi:
Przede wszystkim musisz wiedzieć, że domyślne uprawnienia do katalogów w Ubuntu to 644, co oznacza, że nie możesz utworzyć pliku w katalogu, który nie jest właścicielem.
próbujesz
user:francisco-vergara
utworzyć plik w katalogu,/home/sixven/camp_sms/inputs
którego właścicielem jestuser:sixven
.Jak to rozwiązać:
Możesz zmienić uprawnienia do katalogu i umożliwić innym tworzenie plików w nim.
To polecenie zmieni rekursywnie uprawnienia do katalogu i umożliwi wszystkim innym użytkownikom tworzenie / modyfikowanie i usuwanie plików i katalogów w nim zawartych.
Możesz zmienić właściciela tego katalogu i ustawić go
user:francisco-vergara
jako właścicielaAle w ten
user:sixven
sposób nie można ponownie pisać w tym folderze, dlatego możesz poruszać się w okrągłej nieskończonej pętli.Radzę więc skorzystać z Opcji 1.
Lub jeśli dostęp do tego katalogu będą mieli obaj użytkownicy, możesz wykonać następującą sztuczkę:
zmień własność katalogu na
user:francisco-vergara
i zachowaj właściciela grupygroup:sixven
.W ten sposób obaj użytkownicy mogą nadal korzystać z katalogu.
Ale jak już mówiłem wcześniej Korzystanie z opcji 1 jest najłatwiejsze i bardziej wydajne .
źródło
Aby zmienić własność pliku, wykonaj to jako root:
Jeśli zdecydujesz się na chmod:
Jeśli wiesz, że użytkownik jest częścią grupy pliku
Inaczej:
Ale ten sposób nie jest zbyt bezpieczny.
źródło
Domyślny UMASK 022 (w Ubuntu), więc uprawnienia dla / home / username wynoszą 755. Zalogowałeś się jako użytkownik
francisco-vergara
i próbujesz utworzyć pliki w użytkownik sixyen Home: tj/home/sixven
. nie ma uprawnień do zapisu dla innych użytkowników. Tylko użytkownik / grupasixven
ma prawo do zapisu.jeśli chcesz mieć dostęp do zapisu w tym katalogu, musisz należeć do grupy
sixven
korzystającej zusermod -G sixyen francisco-vergara
ORchmod -R 777 /home/sixven
(nie używaj złej praktyki).źródło