`cp` tillatelse nektet når du kopierer en fil som eies av` root`

Jeg har en mappe udp_folder2

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

når jeg er sammen med en annen bruker enn root, kan jeg «t cp -r den i en ny mappe den sier: Tillatelse nektet

hvorfor? og hvordan kan jeg kopiere den med en annen bruker enn root

Svar

Vel,

Det kan være fordi måten nåværende tillatelser er satt på, ingen kan flytte den filen. (Annet enn root, fordi root ikke følger de samme reglene.)

Du må enten endre eier av filen (chown), ELLER legge til den andre brukeren i gruppen «root» og chmod det slik at gruppen kan utføre i katalogen, ELLER la alle andre utføre filen.

Så en rask løsning vil være:

chmod -R o+rwx udp_folder2 

Dette vil gi alle muligheten til å lese, skrive og utføre i den katalogen.

Også … hvis du prøver å kopiere «udp_folder2» til samme katalog som den ligger nå , trenger du også «w» -tillatelsen i den katalogen. For eksempel:

/ foo / udp_folder2 – du trenger «w» på / foo for å kopiere katalogen i / foo

Jeg foreslår å lære Linux-filtillatelser: Linux filtillatelsesveiledning

Kommentarer

  • Jeg tror kopi bare er r tillatelse, selvfølgelig er det r tillatelse for andre brukere, skjønner du, der Jeg sa r
  • Jeg mener i d------r-T er r for andre brukere
  • Du må også utføre tillatelse for å kopiere en katalog. Jeg ' er ikke sikker på hva T er offhand.
  • Du ' trenger ' w ' i katalogen du ' prøver å kopiere til … for eksempel hvis du ' kopierer / home / foo til / etc / foo, trenger du ' ' w ' tillatelse i / etc /
  • @Swiss – ' T ' er en klissete bit, som er en ' spesiell ' tillatelse. Lær alt om klebrig biter her: no.wikipedia.org/wiki/Sticky_bit

Svar

Katalogen har ingen x tillatelse, så andre (dvs. i dette tilfellet enhver bruker) kan bruke katalogen for å nå filene innsiden. T betyr at den er klissete (bare eieren av en fil kan slette den). Med både x tillatelse og den klissete biten, vil du se små bokstaver t; store bokstaver T sier «ingen tilgangstillatelse men klebrig bit, noe som er en merkelig kombinasjon».

Les opp om Unix-fil / katalogtillatelser. Det er ikke for vanskelig, og du trenger det.

Svar

Du don » t ønsker å gi alle rwx i katalogen fordi du vil skape en sikkerhetsrisiko. Og du vil ikke -R chmod fordi det ville skrive endringer rekursivt.

Bare chmod 755 "filename" og du er god.

Her «er en oversikt over tallene:

  • Read = 4
  • Skriv = 2
  • Execute = 1

Så har du 3 grupper:

  • Eier.
  • De som tilhører gruppen.
  • Alle andre.

Så hvis du ønsker å gi eieren rwx, de som tilhører gruppen rw, og alle andre rw du legger bare til tillatelsene: rwx = 7, fordi r + w + x er 4 + 2 + 1 og rw = 6 fordi r + w = 4 + 2.

Kommentarer

  • Derav begrepet mitt ' Så en rask løsning vil være ', og jeg sender ham en lenke for å lære mer om tillatelser. Han nevnte ' ikke bekymring for sikkerhet eller noe slikt. Han sa nettopp at han vil kopiere katalogen.
  • Vi ' trenger ' w ' tillatelse i katalogen han ' prøver å kopiere den til.
  • Don ' ikke være en hater Tillman.

Svar

Å kopiere mappe der eieren ikke gjør det» Hvis du ikke har tillatelse til det, må du endre disse tillatelsene.

Hvis mappen er begrenset selv for eieren, er det en eller annen grunn til det, og det er ikke en god løsning å gi tillatelsene til alle andre (o) som vist i første svar).

For at eieren skal få tilgang til mappen, må den ha lest (r) og utført / søkebiter (X) satt. Hvis du har mapper i mappene, bør hver og en følge de samme reglene. For filer er bare lesebit (r) nok.

Så i utgangspunktet for å gi lesetillatelsene til mappen rekursivt, må du kjøre:

chmod -vR u+rX folder/ 

Hvis du kjører over kommandoen som bruker, prefiks med sudo (hvis du har superbrukerrettigheter), ellers kjøres som root.

Hvis noen filer i mappen ikke eies av root, kan du endre den rekursivt av:

sudo chown -vR root folder/ 

Deretter kopier det som vanlig eller bruk rsync som følger:

rsync -vuar src/ dst/ 

For mer forklaring om kommandoene ovenfor, sjekk: man chmod og man chown.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *