Ik heb een map udp_folder2
d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2
als ik “m met een andere gebruiker dan root
, kan ik” t cp -r
het in een nieuwe map staat er: Toestemming geweigerd
waarom? en hoe kan ik het kopiëren met een andere gebruiker dan root
Antwoord
Nou,
Dat zou zijn omdat de manier waarop uw huidige rechten zijn ingesteld, niemand dat bestand kan verplaatsen. (Anders dan root, omdat root “niet dezelfde regels volgt.)
Je zou ofwel de eigenaar van het bestand (chown) moeten veranderen, OF de andere gebruiker moeten toevoegen aan de groep” root “en chmod het zodat de groep het bestand kan uitvoeren, OF laat alle anderen het bestand uitvoeren.
Een snelle oplossing zou dus zijn:
chmod -R o+rwx udp_folder2
Dat geeft iedereen de mogelijkheid om in die directory te lezen, te schrijven en uit te voeren.
Ook … als je “udp_folder2” probeert te kopiëren naar dezelfde directory waarin het zich nu bevindt , heb je ook de toestemming “w” nodig voor die map. Bijvoorbeeld:
/ foo / udp_folder2 – je “hebt” w “aan / foo nodig om die map naar / foo te kopiëren
Ik zou willen voorstellen om linux-bestandsrechten te leren: Linux File Permission Tutorial
Opmerkingen
Antwoord
De directory heeft geen x
toestemming, dus anderen (dwz in dit geval elke gebruiker) kunnen de directory gebruiken om de bestanden te bereiken binnen. De T
betekent dat het plakkerig is (alleen de eigenaar van een bestand kan het verwijderen). Met zowel de x
toestemming als de sticky bit, zou je een kleine letter t
zien; de hoofdletter T
zegt “geen toegangsrechten maar een plakkerig bit, wat een vreemde combinatie is”.
Lees meer over Unix-bestands- / maprechten. Het is niet “te moeilijk, en u zult het nodig hebben.
Antwoord
U niet” Ik wil niet iedereen rwx
in de directory geven omdat je “een beveiligingsrisico zou creëren. En je zou” niet “-R
de chmod willen geven omdat dat de wijzigingen recursief zou schrijven.
Gewoon chmod 755 "filename"
en je bent goed.
Hier is een uitsplitsing van de getallen:
- Lezen = 4
- Schrijven = 2
- Uitvoeren = 1
Dan heb je 3 groepen:
- Eigenaar.
- Degenen die tot de groep behoren.
- Alle anderen.
Dus, als je wil de eigenaar rwx
geven, degenen die tot de groep behoren rw
, en alle anderen rw
je voegt gewoon de rechten toe: rwx
= 7, omdat r
+ w
+ x
is 4 + 2 + 1 en rw
= 6 omdat r
+ w
= 4 + 2.
Reacties
- Vandaar mijn term ' Een snelle oplossing zou dus ' zijn en ik stuur hem een link voor meer informatie over permissies. Hij heeft geen ' een bezorgdheid over de veiligheid of iets dergelijks genoemd. Hij heeft net aangegeven dat hij de directory wil kopiëren.
- Ook hebben we ' de ' w ' toestemming voor de directory waarin hij ' probeert te kopiëren.
- Don ' t be a hater Tillman.
Answer
Om een map te kopiëren waar de eigenaar dat niet doet” Als je er geen toestemming voor hebt, moet je deze rechten wijzigen.
Als de map zelfs voor de eigenaar beperkt is, is daar een reden voor en is het geven van rechten voor alle anderen (o
) geen goede oplossing ( zoals getoond in het eerste antwoord).
Om toegang te krijgen tot de map door de eigenaar, moet de map gelezen (r
) en uitgevoerd / zoekbits (X
) set. Als je mappen in de mappen hebt, moet elke map dezelfde regels volgen. Voor bestanden is alleen het lezen bit (r
) voldoende.
Dus eigenlijk om de leesrechten voor de map recursief te geven, moet je uitvoeren:
chmod -vR u+rX folder/
Als u “bovenstaande opdracht als gebruiker uitvoert, voeg dan sudo
toe (als u superuser-rechten heeft), anders draaien als root.
Als sommige bestanden in de map “geen eigendom zijn van root, verander het dan recursief door:
sudo chown -vR root folder/
Dan kopieer het zoals gewoonlijk of gebruik rsync
als volgt:
rsync -vuar src/ dst/
Voor meer uitleg over bovenstaande commandos, kijk op: man chmod
en man chown
.
r
toestemming is, uiteraard is err
toestemming voor andere gebruikers, zie je, daar ik sar
d------r-T
, der
is voor andere gebruikerT
is.