”cp” -tillåtelse nekad när du kopierar en fil som ägs av ”root”

Jag har en mapp udp_folder2

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

när jag är med en annan användare än root, kan jag ”t cp -r i en ny mapp står det: Tillstånd nekad

varför? och hur kan jag kopiera den med en annan användare än root

Svar

Tja,

Det beror på att sättet som dina nuvarande behörigheter är inställda på, ingen kan flytta den filen. (Annat än root, eftersom root inte följer samma regler.)

Du måste antingen ändra filens ägare (chown) ELLER lägga till den andra användaren i gruppen ”root” och chmod det så att gruppen kan köra i katalogen ELLER tillåta alla andra att köra filen.

Så en snabb lösning skulle vara:

chmod -R o+rwx udp_folder2 

Det ger alla möjlighet att läsa, skriva och köra i den katalogen.

Också … om du försöker kopiera ”udp_folder2” till samma katalog som den finns nu , du ”kommer också att behöva” w ”i den katalogen. Till exempel:

/ foo / udp_folder2 – du behöver” w ”på / foo för att kopiera den katalogen i / foo

Jag föreslår inlärning av Linux-filbehörigheter: Linux-filtillståndshandledning

Kommentarer

  • Jag tror att kopia bara är r tillstånd, uppenbarligen finns det r behörighet för andra användare, ser du, där i sa r
  • Jag menar i d------r-T är r för andra användare
  • Du måste också utföra behörighet för att kopiera en katalog. Jag ' jag är inte säker på vad T är offhand.
  • Du ' kommer att behöva ' w ' i katalogen som du ' försöker kopiera till … om du ' kopierar / home / foo till / etc / foo så behöver du ' ' w ' behörighet i / etc /
  • @Swiss – ' T ' är en klibbig bit, vilket är en ' särskild ' tillstånd. Lär dig allt om klibbiga bitar här: sv.wikipedia.org/wiki/Sticky_bit

Svar

Katalogen har ingen x behörighet, så andra (dvs. i detta fall alla användare) kan använda katalogen för att nå filerna inuti. T betyder att den är klibbig (endast filens ägare kan radera den). Med både x behörighet och den klibbiga biten skulle du se en gemener t; versalerna T säger ”ingen åtkomstbehörighet men en klibbig bit, vilket är en udda kombination”.

Läs igenom Unix-fil- / katalogbehörigheter. Det är inte för svårt och du kommer att behöva det.

Svar

Du don ” t vill ge alla rwx i katalogen eftersom du skapar en säkerhetsrisk. Och du vill inte -R chmod eftersom det skulle skriva ändringar rekursivt.

Bara chmod 755 "filename" och du är bra.

Här ”är en uppdelning av siffrorna:

  • Läs = 4
  • Skriv = 2
  • Kör = 1

Sedan har du tre grupper:

  • Ägare.
  • De som tillhör gruppen.
  • Alla andra.

Så om du vill ge ägaren rwx, de som tillhör gruppen rw, och alla andra rw du lägger bara till behörigheterna: rwx = 7, eftersom r + w + x är 4 + 2 + 1 och rw = 6 eftersom r + w = 4 + 2.

Kommentarer

  • Därav min term ' Så en snabb lösning skulle vara ' och jag skickar honom en länk för att lära sig mer om behörigheter. Han nämnde inte ' ett bekymmer för säkerhet eller något liknande. Han sa bara att han vill kopiera katalogen.
  • Vi ' behöver också ' w ' behörighet i katalogen han ' försöker kopiera den till.
  • Don ' inte vara en hatare Tillman.

Svar

Att kopiera mapp där ägaren inte” du har behörighet till det, du måste ändra dessa behörigheter.

Om mappen är begränsad även för ägaren, finns det en anledning till det och att behörigheterna för alla andra (o) inte är en bra lösning ( som visas i det första svaret).

För att mappen ska kunna nås av ägaren måste den ha läst (r) och kör / sökbitar (X) set. Om du har mappar i mapparna ska var och en följa samma regler. För filer är det bara läsbit (r) som räcker.

Så för att ge läsbehörigheterna till mappen rekursivt måste du köra:

chmod -vR u+rX folder/ 

Om du kör ovanför kommandot som användare, prefix med sudo (om du har superanvändarbehörigheter), kör annars som root.

Om vissa filer i mappen inte ägs av root, ändra det rekursivt av:

sudo chown -vR root folder/ 

Sedan kopiera det som vanligt eller använd rsync enligt följande:

rsync -vuar src/ dst/ 

För mer förklaring om ovanstående kommandon, kontrollera: man chmod och man chown.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *