Chcę mieć użytkownika, który ma dostęp do wszystkich plików i folderów w systemie. Ma to na celu użycie RSYNC na komputerze lokalnym do wykonania kopii zapasowej komputera zdalnego.
W tej chwili korzystamy z tego użytkownika backups
i chociaż dodaliśmy tego użytkownika do grup, sudo
a admin
rsync nadal zwraca komunikaty takie jak:
rsync: opendir "/ location / to / folder" nie powiodło się: Odmowa uprawnień (13)
rsync: send_files nie można otworzyć „/ location / to / file”: Odmowa uprawnień (13)
Każdy pomysł, w jaki sposób dajemy użytkownikowi backups
dostęp do wszystkiego (bez dodawania użytkownika do wszystkich grup w dowolnym momencie - zdalny serwer, który próbujemy wykonać kopię zapasową, jest dedykowanym serwerem hostingowym, na którym każde konto ma własnego użytkownika w systemie).
Dziękuję za wszelką pomoc.
źródło
/proc
,/dev
itp. , Należy spodziewać się błędów.backups
dosudo
iadmin
nic nie zmieni./home/a/c/account/users/mail:username
które mają uprawnienia takie jakdrwx------
i są własnościąmail:4096
. Zakładam, że ponieważ użytkownikbackups
jest w grupiesudo
lubadmin
nie ma dostępu, ponieważ nie ma uprawnień dostępu do grup? Nie wiem, ale to błąd w folderach / plikach tego typu.rsync
polecenie za pomocą sudo.Odpowiedzi:
Samo dodanie użytkownika
backups
do grupy użytkownikówsudo
nie zapewnia automatycznie dostępu konta do wszystkich plików w systemie. Daje to użytkownikowi uprawnienia do uruchomieniasudo
polecenia.Ponieważ używasz uwierzytelniania za pomocą klucza publicznego (prawdopodobnie bez hasła), podchodzę do tego z myślą o bezpieczeństwie i łatwości implementacji. Użycie
ssh
pozwala ograniczyć użytkownikowi wykonywanie tylko bardzo specyficznych poleceń. W takim przypadku możesz zezwolić użytkownikowibackups
na wykonywaniersync
z uprawnieniami administratora.Dokonałeś już wymiany kluczy i weryfikacja uwierzytelnienia powiodła się. W
authorized_keys
pliku na zdalnym hoście, z którego tworzona jest kopia zapasowa/home
katalogu, możesz dodaćcommand=
dyrektywę do klucza używanego przez użytkownikabackups
. Ta dyrektywa zezwala na uruchamianie tej komendy tylko wtedy , gdy ten klucz jest używany do uwierzytelniania. Pierwsze pole klucza wyglądałoby podobnie do tego:Możesz pójść jeszcze dalej i dodać więcej opcji do klawisza, takich jak
from=myhost,no-pty,no-X11-forwarding
.Powinno to zapewnić przyzwoite bezpieczeństwo i nie wymagać modyfikacji podstawowych uprawnień systemu plików. Prawdopodobnie będziesz musiał grać poleceniem umieszczonym w
authorized_keys
pliku, dopóki nie zadziała zgodnie z oczekiwaniami; może zająć trochę czasu, aby otoczyć go mózgiem. Polecenie określone w parametrzeauthorized_keys
zasadniczo zastąpirsync
opcje przekazane z hosta łączącego.Wiele dobrych informacji w
man sshd
. Chcesz dokładnie przeczytać sekcję FORMAT AUTORYZOWANYCH KLUCZY.źródło
rsync -e ssh -az [email protected]:/home /location/of/local/folder
, aby poinstruować go, aby działał jako administrator na komputerze zdalnym? A może zrobi to automatycznie? Dziękuję za poświęcony czas i pomoc. :)Jedną z opcji jest uruchomienie serwera rsync w systemie zdalnym.
Zasadniczo utwórz
rsync.conf
zuid=root
użyciem następniersync -az rsync://domain.com
.Zobacz http://pastebin.com/5hQx1mRV, aby zobaczyć przykład, który napisał ktoś inny i Konfigurowanie demona rsync w celu zapoznania się z podstawami włączania serwera w Ubuntu.
Pamiętaj, że musisz wziąć pod uwagę bezpieczeństwo tego. Lepszym rozwiązaniem jest prawdopodobnie zdalne przejście systemu na system lokalny.
źródło
/backup/lc
folderu na zdalnym serwerze? Czy mogę zmienićpath
trochę się/home
dostać to do pracy?Być może możesz użyć listy ACL, jeśli bazowy system plików ją obsługuje.
Należy dodać kopię zapasową grupy do listy ACL każdego pliku i katalogu. Aby jednak zostać automatycznie dodany do nowo utworzonego pliku i katalogu, należy najpierw ustawić domyślną listę ACL dla wszystkich istniejących katalogów. Na zdalnym serwerze:
Następnie powinieneś mieć uprawnienia rx do wszystkich istniejących katalogów i czytać pliki. Możesz to zrobić za pomocą 2 poleceń (tym razem bez opcji -d)
To da ci dodatkowe uprawnienia do odczytu plików do kopii zapasowej grupy bez zmiany istniejącego użytkownika i grupy, która jest właścicielem każdego pliku.
Uwaga: aby przyspieszyć wyszukiwanie | komenda xargs możesz dodać następującą opcję do komendy xargs:
-P n
n oznacza liczbę równoległych procesów. Możesz ustawić liczbę procesorów na swoim komputerze + 1.źródło
sudo setfacl -Rm d:group:backup:r-X,group:backup:r-X /home
:) o wiele prostsze!