Uprawnienia do plików są integralną częścią specyfikacji Uniksa. Istnieją jednak pewne rzeczy, których początkujący użytkownicy często nie są świadomi, na przykład jak zachować uprawnienia do plików w systemie Linux podczas ich kopiowania.
Android 7.0 przenosi aplikacje na kartę SD
Skopiowane pliki są zasadniczo nowymi plikami, ich uprawnienia zależą od umask bieżącego użytkownika. Może to prowadzić do sytuacji, w których skopiowane pliki lub foldery mają zupełnie inne uprawnienia niż źródło.
Na szczęście dla Ciebie łatwo jest zachować uprawnienia do plików w systemie Linux za pomocą standardowych narzędzi wiersza poleceń, takich jak cp oraz rsync . Sprawdź poniższe przykłady, aby zobaczyć, jak kopiować i zachowywać uprawnienia w systemie Linux.
Zachowaj uprawnienia do plików za pomocą cp
ten standardowe polecenie cp ma wszystko, czego potrzebujesz, aby zachować uprawnienia do plików podczas kopiowania. Możesz użyć -P opcja cp, aby zachować tryb, własność i znaczniki czasu pliku.
cp -p source-file dest-file
Musisz jednak dodać -r opcja tego polecenia podczas pracy z katalogami. Skopiuje wszystkie podkatalogi i poszczególne pliki, zachowując ich oryginalne uprawnienia nienaruszone.
cp -rp source-dir/ dest-dir/
Możesz również użyć -do opcja cp, aby zachować uprawnienia do plików. Umożliwia to Archiwum tryb, zachowując wszystko, od uprawnień do plików do kontekstów SELinux.
cp -a source-dir/ dest-dir/
Zachowaj uprawnienia w systemie Linux za pomocą rsync
Możesz także użyć narzędzia rsync do zachowania uprawnień do kopiowania w systemie Linux. Wielu administratorów woli rsync od cp ze względu na szybszą prędkość kopiowania. Ponieważ rsync kopiuje tylko zaktualizowaną część pliku, są one bardziej odpowiednie do zadań takich jak klonowanie dysku twardego z systemem Linux .
rsync -a source-dir/ dest-dir
ten -do opcja rsync włącza Archiwum tryb, który zachowuje atrybuty plików, takie jak uprawnienia i prawa własności. Możesz użyć -v opcja gadatliwego wyjścia i -h do przeglądania liczb w formacie czytelnym dla człowieka.
rsync -avh source-dir/ dest-dir
Zwróć też uwagę na wyłączenie zakończenia ciąć ( / ) z katalogu docelowego. Dodanie końcowego ukośnika do miejsca docelowego spowoduje, że rsync skopiuje pliki do innego poziomu podkatalogu.
Sprawdź uprawnienia do plików w systemie Linux
Możesz łatwo zweryfikować uprawnienia do plików w systemie Linux za pomocą getfacl (Pobierz listy kontroli dostępu do plików). Sprawdzi, czy uprawnienia zostały zachowane zgodnie z oczekiwaniami.
getfacl source-file
getfacl dest-file
Kopiuj pliki, zachowując uprawnienia w systemie Linux
Zarówno cp, jak i rsync zapewniają standardowe opcje zachowywania uprawnień do plików w systemie Linux. Możesz używać cp do codziennych zadań, podczas gdy rsync będzie lepiej dostosowany do danych na dużą skalę. Upewnij się, że po zakończeniu kopiowania zweryfikuj uprawnienia za pomocą getfacl.
Chociaż rsync może kopiować pliki między zdalnymi maszynami, scp Polecenie (bezpieczna kopia) jest kolejną realną opcją dla tego zadania. Za pomocą scp można bezpiecznie tworzyć kopie zapasowe plików do iz systemów sieciowych.
Udział Udział Ćwierkać E-mail Bezpiecznie kopiuj pliki w systemie Linux za pomocą polecenia ScpZdalne przenoszenie plików i folderów jest łatwiejsze niż myślisz. Za pomocą polecenia scp zdalnie przenoszone pliki są również szyfrowane.
co mogę zrobić z serwerem?Czytaj dalej Powiązane tematy
- Linux
- Zarządzanie plikami
- Linux
- Polecenia Linuksa
Rubaiat jest absolwentem CS z silną pasją do open-source. Oprócz tego, że jest weteranem systemu Unix, zajmuje się także bezpieczeństwem sieci, kryptografią i programowaniem funkcjonalnym. Jest zapalonym kolekcjonerem książek z drugiej ręki i ma nieustanny podziw dla klasycznego rocka.
Więcej od Rubaiata HossainaZapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować