Odmowa pozwolenia `cp` podczas kopiowania pliku należącego do` root`

Mam folder udp_folder2

d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2 

kiedy jestem z użytkownikiem innym niż root, nie mogę „t cp -r do nowego folderu, na którym jest napisane: Odmowa dostępu

dlaczego? i jak mogę go skopiować z użytkownikiem innym niż root

Odpowiedź

Cóż,

Byłoby tak, ponieważ sposób, w jaki są ustawione Twoje bieżące uprawnienia, nie pozwala na przeniesienie tego pliku. (Inaczej niż root, ponieważ root nie przestrzega tych samych zasad.)

Musisz albo zmienić właściciela pliku (chown), albo dodać innego użytkownika do grupy „root” i chmod it, aby grupa mogła wykonać operację w katalogu LUB zezwolić wszystkim innym na wykonanie pliku.

Tak więc szybka naprawa to:

chmod -R o+rwx udp_folder2 

Dzięki temu każdy będzie mógł czytać, pisać i wykonywać w tym katalogu.

Ponadto … jeśli próbujesz skopiować plik „udp_folder2” do tego samego katalogu, w którym się teraz znajduje , będziesz potrzebować uprawnienia „w” również do tego katalogu. Na przykład:

/ foo / udp_folder2 – będziesz potrzebować „w” na / foo, aby skopiować ten katalog do / foo

Proponuję nauczyć się uprawnień do plików w Linuksie: Samouczek dotyczący uprawnień do plików w Linuksie

Komentarze

  • Myślę, że kopiowanie to tylko uprawnienie r, oczywiście istnieje uprawnienie r dla innego użytkownika. ja sa r
  • Mam na myśli w d------r-T, r jest dla innego użytkownika
  • Potrzebujesz również uprawnień do wykonywania, aby skopiować katalog. Nie mam ' nie wiem, co T jest od ręki.
  • Ty ' Będziemy potrzebować ' w ' katalogu, który ' ponownie próbujesz skopiować na przykład, jeśli ' ponownie kopiujesz / home / foo do / etc / foo you ' będziesz potrzebować ' w ' uprawnienia w / etc /
  • @Swiss – The ' T ' to bit przyklejony, który jest ' specjalnym uprawnieniem '. Dowiedz się wszystkiego o lepkich bitach tutaj: en.wikipedia.org/wiki/Sticky_bit

Odpowiedź

Katalog nie ma uprawnień x, więc inni (tj. w tym przypadku każdy użytkownik) może użyć katalogu, aby uzyskać dostęp do plików wewnątrz. T oznacza, że plik jest przyklejony (tylko właściciel pliku może go usunąć). Przy uprawnieniu x i przyklejonym bitu zobaczysz małą literę t; wielka litera T mówi „brak pozwolenia na dostęp, ale bit lepki, co jest nieparzystą kombinacją”.

Przeczytaj o uprawnieniach do plików / katalogów w systemie Unix. Nie jest to zbyt trudne, a będziesz go potrzebować.

Odpowiedź

Nie ” Nie chcę dać każdemu rwx w katalogu, ponieważ „nie stworzyłbyś zagrożenia bezpieczeństwa. I nie chciałbyś -R chmod ponieważ to zapisze zmiany rekurencyjnie.

Po prostu chmod 755 "filename" i „jesteś dobry.

Oto podział liczb:

  • Odczyt = 4
  • Zapis = 2
  • Wykonaj = 1

Następnie masz 3 grupy:

  • Właściciel.
  • Osoby należące do grupy.
  • Wszyscy pozostali.

Jeśli więc chcesz przekazać właścicielowi rwx, osoby należące do grupy rw i wszystkie pozostałe rw po prostu dodajesz uprawnienia: rwx = 7, ponieważ r + w + x to 4 + 2 + 1 i rw = 6, ponieważ r + w = 4 + 2.

Komentarze

  • Stąd mój termin ' Tak więc szybkim rozwiązaniem byłoby ' i wysyłam mu link, aby dowiedzieć się więcej o uprawnieniach. Nie ' nie wspomniał o trosce o bezpieczeństwo ani nic w tym rodzaju. Właśnie stwierdził, że chce skopiować katalog.
  • Ponadto ' będziemy potrzebować ' w Uprawnienia ' do katalogu, do którego ' próbuje skopiować.
  • Nie ' nie bądź nienawiścią, Tillman.

Odpowiedz

Aby skopiować folder, którego właściciel nie ma” jeśli nie masz na to pozwolenia, musisz je zmienić.

Jeśli folder jest ograniczony nawet dla właściciela, jest ku temu jakiś powód, a nadanie uprawnień wszystkim innym (o) nie jest „dobrym rozwiązaniem ( jak pokazano w pierwszej odpowiedzi).

Aby folder był dostępny dla właściciela, musi on odczytać (r) i wykonać / przeszukać bity (X) ustawione. Jeśli masz foldery w folderach, każdy z nich powinien przestrzegać tych samych zasad. W przypadku plików wystarczy tylko bit do odczytu (r).

Zasadniczo, aby nadać uprawnienia do odczytu folderu rekurencyjnie, należy uruchomić:

chmod -vR u+rX folder/ 

Jeśli wykonujesz powyższe polecenie jako użytkownik, przedrostek sudo (jeśli masz uprawnienia administratora), w przeciwnym razie działają jako root.

Jeśli niektóre pliki w folderze nie należą do użytkownika root, zmień je rekurencyjnie przez:

sudo chown -vR root folder/ 

Następnie skopiuj go jak zwykle lub użyj rsync w następujący sposób:

rsync -vuar src/ dst/ 

Aby uzyskać więcej informacji na temat powyższych poleceń, sprawdź: man chmod i man chown.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *