Linux chown naredba

naredba chown

Na Nalik Unixu operativni sustavi, chown naredba mijenja vlasništvo nad datotekama i direktorijima u a sustav datoteka .

Ova stranica opisuje GNU / Linux inačica chown .

Što je 'vlasništvo' nad datotekom?

Linux je dizajniran za podršku velikom broju korisnika . Zbog toga mora pažljivo pratiti tko smije pristupiti datoteci i kako joj može pristupiti. Ova pravila pristupa su pozvana dozvole .

Postoje tri glavne vrste dozvola za datoteke:

  • Korisnik dozvole. Ta se dopuštenja primjenjuju na jednog korisnika koji ima poseban pristup datoteci. Ovaj se korisnik naziva vlasnik .
  • Skupina dozvole. Oni se odnose na jednu skupinu korisnika koji imaju pristup datoteci. Ova je skupina posjedovanje grupe .
  • Ostalo dozvole. To se odnosi na svakog drugog korisnika u sustavu. Ti su korisnici poznati kao drugi , ili svijet .

Kada se datoteka stvori, njezin je vlasnik korisnik koji ju je stvorio, a grupa koja posjeduje je trenutna korisnička grupa.

chown mogu ove vrijednosti promijeniti u nešto drugo.

Sintaksa

  chown  [  -c  |  --changes  ] [  -v  |  --verbose  ] [  -f  |  --silent  |  --quiet  ] [  --dereference  ] [  -h  |  --no-dereference  ] [  --preserve-root  ] [  --from=   currentowner   :   currentgroup  ] [  --no-preserve-root  ] [  -R  |  --recursive  ] [  --preserve-root  ] [  -H  ] [  -L  ] [  -P  ]  new-owner   file  ...
  chown --help  
  chown --version  

Određivanje novog vlasnika

Novo vlasništvo nad datoteka je naveden argumentom novi-vlasnik , koji ima ovaj opći oblik:

[  user  [  :   group  ]]

Konkretno, postoji pet načina formatiranja novi-vlasnik :

novi-vlasnik oblik Opis
korisnik Ime korisnika koji posjeduje datoteku. U ovom obliku debelo crijevo (' : ') i skupina je izostavljeno. Vlasnička grupa nije promijenjena.
korisnik : skupina The korisnik i skupina za posjedovanje datoteke, odvojene dvotočkom, bez razmaka između.
: skupina Grupa koja će posjedovati datoteku. U ovom obliku, korisnik je izostavljeno, a skupina mora prethoditi dvotočka.
korisnik : Ako skupina je izostavljeno, ali slijedi dvotočka korisnik , vlasnik je promijenjen u korisnik , a grupa vlasnika mijenja se u grupu za prijavu od korisnik .
: Određujući dvotočku s br korisnik ili skupina je prihvaćeno, ali vlasništvo nije promijenjeno. Ovaj obrazac ne uzrokuje pogrešku, ali ništa ne mijenja.

Napomene o upotrebi

  • korisnik i skupina može se navesti imenom ili brojem.
  • Samo korijen može promijeniti vlasnika datoteke. Vlasnik ne može prenijeti vlasništvo, osim ako je vlasnik root ili ne koristi sudo za pokretanje naredbe.
  • Vlasničku grupu datoteke može promijeniti vlasnik datoteke, ako vlasnik pripada toj grupi. Grupu vlasnika datoteke može se korijenski promijeniti u bilo koju grupu. Članovi grupe vlasnika, osim vlasnika, ne mogu mijenjati grupu vlasnika datoteke.
  • Vlasnička grupa se također može promijeniti pomoću chgrp naredba. chgrp i chown koriste isti sistemski poziv i funkcionalno su identični.
  • Određene razne radnje datoteka može izvoditi samo vlasnik ili root. Na primjer, samo vlasnik ili root mogu ručno promijeniti 'atime' ili 'mtime' datoteke (vrijeme pristupa ili vrijeme izmjene) pomoću dodir naredba.
  • Zbog ovih ograničenja trčite chown kao korijen ili sa sudo .

Opcije

Opcija Opis
-c ,
--promjene
Slično --verbozna način, ali prikazuje samo informacije o datotekama koje su zapravo promijenjene. Na primjer:

changed ownership of 'dir/dir1/file1' from hope:neil to hope:hope
-v ,
--verbozna
Prikaz detaljnih podataka za svaku obrađenu datoteku. Na primjer:

changed ownership of 'dir/dir1/file1' from hope:neil to hope:hopeownership of 'dir/dir1' retained as hope:hope
-f ,
- tiho ,
--miran
Tihi način rada. Nemojte prikazivati ​​izlaz.
--rereference Dereference svi simboličke poveznice . Ako datoteka je simbolična veza, promijenite vlasnika datoteke na koju se poziva, a ne samu vezu. Ovo je zadano ponašanje.
-h ,
- ne-preusmjeravanje
Nikad ne preusmjeravajte simboličke poveznice. Ako datoteka je simbolična veza, promijenite vlasnika simboličke veze, a ne referencirane datoteke.
--od = trenutni vlasnik : trenutnagrupa Promijenite vlasnika ili skupinu svake datoteke samo ako se podudara njezin trenutni vlasnik ili grupa trenutni vlasnik i / ili trenutnagrupa . Oba se mogu izostaviti, u tom slučaju podudaranje nije potrebno za drugi atribut.
--no-sačuvati-korijen Ne liječiti / (korijenski direktorij) na bilo koji poseban način. Ovo je zadano ponašanje. Ako je --sačuvati-korijen opcija je prethodno navedena u naredbi, ova će je opcija otkazati.
--reference = ref-datoteka Upotrijebite vlasnika i grupu datoteka ref-datoteka , umjesto navođenja vlasništva s novi-vlasnik .
-R ,
--ponavljajući
Radite na datotekama i direktorijima rekurzivno . Unesite svaki odgovarajući direktorij i operirajte sa svim njegovim sadržajem.

Opcije

Sljedeće opcije mijenjaju način a hijerarhija se pređe kad -R ili --ponavljajući navedena je opcija.

Opcija Opis
--sačuvati-korijen Nikada nemojte raditi rekurzivno na korijenskom direktoriju / .

Ako --ponavljajući nije navedeno, ova opcija nema učinka.
-H Ako je datoteka navedena u naredbenom retku simbolična veza do direktorija, pređite je i radite i na tim datotekama i direktorijima.
-L Pređite preko svih simboličkih veza do direktorija.
-P Ne prelazite nikakve simboličke poveznice; operirati same simboličke veze. Ovo je zadano ponašanje.

Ako više njih -H , -L , ili -P je navedeno, samo konačna opcija stupa na snagu.

Opcije

Te opcije prikazuju informacije o programu i ne mogu se koristiti s drugim opcijama ili argumentima.

Opcija Opis
--Pomozite Prikažite kratku poruku pomoći i izađite.
--verzija Prikaz verzija informacije i izlaz.

Izlazni status

chown izlazi sa statusom 0 za uspjeh. Bilo koji drugi broj označava neuspješan rad.

Zašto promijeniti vlasništvo nad datotekom?

Trebali biste koristiti chown kada želite da se dopuštenja korisnika ili grupe datoteke primjenjuju na drugog korisnika ili grupu.

Hipotetski scenariji

Evo primjera kada biste mogli koristiti chown :

Možete li preuzeti filmove s YouTubea
  • Stvorite datoteku, myfile.txt , koristeći sudo ili dok ste prijavljeni kao root, pa je datoteka u vlasništvu korijen . Međutim, namjeravate datoteku koristiti vaš uobičajeni korisnički račun, myuser .

    Koristiti chown za promjenu vlasnika:
sudo chown myuser myfile.txt
  • Vi posjedujete myfile.txt , ali želite ga dati drugom korisniku u imenovanom sustavu nisam ja . Također želite promijeniti vlasničku grupu u grupu tog korisnika, notmygroup .

    Koristiti chown za promjenu vlasnika i grupe:
sudo chown notme:notmygroup myfile.txt
  • Upravo ste prenijeli cijeli direktorij datoteka, drugi dokumenti , s drugog računala. Sve su datoteke i direktoriji u vlasništvu vašeg korisničkog imena na drugom sustavu, a vi želite da ih svi imaju vaš trenutni korisnik i grupa.

    Promijenite vlasništvo nad direktorijom i svim njegovim sadržajem rekurzivno , s -R opcija:
sudo chown -R myuser:mygroup otherfiles

Gornja naredba mijenja vlasništvo nad svakom datotekom, poddirektorij , i poddirektoriji u drugi dokumenti .

Grupe u Linuxu

U Linuxu je korisnik član više grupa, ali ima samo jednu 'trenutnu grupu'. Trenutna grupa korisnika je korisnikova grupni identitet , ili GID .

Kada korisnik kreira novu datoteku, vlasništvo nad datotekom postavlja se na UID korisnika (identitet korisnika) i GID (identitet grupe). Pa kad korisnik Carla započinje pisati novi dokument, datoteka je u vlasništvu Carle, a također i njezine trenutne grupe. Ona može promijeniti vlasništvo grupe datoteke nad chown , ali samo root može koristiti chown da promijeni vlasnika u nekoga drugog.

Također, svaki korisnik može podesiti grupa za prijavu , koja može biti bilo koja od korisničkih grupa. Pa kad Carla prijavi se, njezina grupa za prijavu je njezina trenutna grupa. Grupu za prijavu možete promijeniti pomoću usermod naredba, koristeći -g opcija.

sudo usermod -g newlogingroup carla

Korisnik može promijeniti trenutnu grupu pomoću newgrp naredba. Promjena se događa u podljuska i traje sve dok se podljuska ne zatvori. Čak i ako Carla mijenja svoju trenutnu grupu s newgrp , bit će vraćen u njezinu grupu za prijavu sljedeći put kad se prijavi.

Možete provjeriti svoju trenutnu grupu pomoću iskaznica naredba s -g opcija:

id -g
1001

Ovo je vaš numerički GID (broj vaše trenutne grupe). Da biste vidjeli ime, navedite -n opcija:

id -ng
hope

Da biste pregledali sva članstva u grupi, upotrijebite kapital G :

id -nG
hope sudo neil libvirtd vboxusers usergroup

Prema zadanim postavkama svaki korisnik Linuxa ima privatnu grupu čiji je jedini član jedini korisnik. Dakle, kada je korisnički račun jeff je stvoren sa adduser naredba, skupina imenovana jeff je također stvoren. Skupina jeff je Jeffova zadana grupa za prijavu i ima samo jednog člana (jeff).

Ostale skupine operativnog sustava

Drugi operativni sustavi koriste chown , ali njihove skupine mogu funkcionirati drugačije.

U macOS X i BSD na primjer, korisnici nemaju privatne grupe. Umjesto toga, svi redovni korisnici pripadaju općoj grupi koja se zove korisnika .

U tim operacijskim sustavima, mogućnosti i funkcionalnost chown mogu biti slični, ali različiti. Ako upotrebljavate chown na ne-Linux operativnom sustavu, obavezno pokrenite čovjek chown naučiti koje su razlike.

prozori naredbenog retka upravljačke ploče 7

Primjeri

Pregled vlasništva

Prije upotrebe chown , možda ćete htjeti provjeriti trenutno vlasništvo nad datotekom. Vlasništvo, dozvole i druge važne informacije nad datotekom možete pregledati pomoću ls naredba, koristeći -l opcija:

ls -l myscript.sh
-rwxrw-r-- 1 hope hopeusers 12 Nov 5 13:14 myscript.sh

U izlazu vidite nekoliko navedenih podataka, uključujući dozvole i vlasništvo nad datotekom. Isprva možda nema smisla, pa ga opišimo detaljno.

Evo što informacije znače:

Podaci Položaj na terenu Opis
- Polje 1 , karakter 1 Vrsta datoteke : d za imenik , l (mala slova L) za simboličku vezu ili - (crtica) za redovitu datoteku.
rwx Polje 1 , znakova dva - 4 Korisnička dopuštenja . Vlasnik može čitati (' r '), piši na (' u ') i izvrši (' x ') ovu datoteku.
rw- Polje 1 , znakova 5 - 7 Grupna dopuštenja . Grupa koja posjeduje može čitati i pisati u ovu datoteku, ali je ne može izvršiti kao naredbu.
r-- Polje 1 , znakova 8 - 10 Ostala dopuštenja , također poznat kao svijet dozvole. Bilo koji drugi korisnik sustava može čitati datoteku samo.
1 Polje dva Broj simboličkih poveznica u ovu datoteku. Ako na datoteku nema simboličkih poveznica, ovaj je broj 1 , jer je izvorno ime datoteke uključeno u ovaj broj. Da postoji jedna simbolična veza do datoteke, ovaj bi broj bio dva , ili 3 za dvije simboličke poveznice itd.
nada Polje 3 Ime vlasnika . Ovo je ime korisnika koji je vlasnik datoteke. Kada ovaj korisnik pokuša pristupiti datoteci, pristup je ograničen prema korisnička dopuštenja .
uzdanici Polje 4 Naziv vlasničke grupe . Ovo je korisnička grupa koja je vlasnik datoteke. Kada korisnik koji je član ove grupe pokuša pristupiti datoteci, pristup je ograničen prema dopuštenja grupe .
12 Polje 5 Veličina . Ova datoteka sadrži 12 bajtova podataka.
Studenoga Polje 6 Mtime (mjesec) . Skraćeni naziv mjeseca kada je sadržaj datoteke zadnji put izmijenjen. Ova je datoteka zadnji put izmijenjena u mjesecu studenom.
5 Polje 7 Mtime (dan u mjesecu) . Ova je datoteka zadnji put izmijenjena petog dana studenoga.
13:14 Polje 8 Mtime (vrijeme ili godina) . Ova je datoteka posljednji put izmijenjena 13:14 (13.34 sati) 5. studenog ove godine. Ako je izmijenjeno prije više od godinu dana, ovo polje, na primjer, umjesto njega navodi godinu 2015. .
myscript.sh Polje 9 Naziv datoteke . Naziv datoteke.

Dakle, ovdje su važna polja 1, 3 i 4. Kažu nam tog korisnika nada mogu čitati, pisati ili izvršavati sadržaj datoteke i članove grupe uzdanici mogu čitati ili pisati na njega.

Promjena vlasništva

sudo chown hope file.txt

Promijenite vlasnika file.txt korisniku nada .

sudo chown hope file1 file2 file3

Promijenite vlasnika datoteka1 , datoteka2 , i datoteka3 korisniku nada .

sudo chown hope file*

Ovdje je zvjezdica (' * ') je zamjenski znak koju ljuska proširuje na popis svake datoteke čije ime počinje s ' datoteka '. Ako je trenutni direktorij sadrži četiri datoteke s imenom datoteka1 , datoteka2 , datoteka3 , i datoteka4 , imena svih ovih datoteka prosljeđuju se u chown naredbu, a njihovi vlasnici promijenili su se u korisnika nada .

sudo chown hope myfiles

Promijenite vlasnika datoteke ili direktorija moji dokumenti korisniku nada .

sudo chown -R hope myfiles

Promijenite vlasnika moji dokumenti korisniku nada . Ako moji dokumenti je direktorij, chown će rekurzivno ( -R ) pretražite taj direktorij i promijenite vlasnika svih datoteka, poddirektorijuma i sadržaja podmape.

sudo chown hope:admins file1 file2

Promijenite vlasnike datoteka1 i datoteka2 korisniku nada , a grupe koje posjeduju administratori .

sudo chown hope: file1

Promijenite vlasnika datoteka1 korisniku nada , i grupa koja posjeduje grupu za prijavu nade.

Windows naredbeni redak promjena direktorija
chown :othergroup file2

Promijenite grupu vlasnika datoteka2 grupirati druga skupina . Primijetite da je ovo jedina naredba u ovim primjerima koja se može izvoditi bez sudo .

Ako korisnik nada izvodi prethodnu naredbu, ali ne pripada grupi druga skupina , naredba ne uspije, osim ako se ne izvodi s sudo .

sudo chown 1000:1001 file1

Promijenite vlasništvo nad datoteka1 korisniku s numeričkim UID-om 1000 i grupa s numeričkim GID-om 1001 .

sudo chown +1000:+1001 file1

Isto kao i prethodna naredba. Ako korisnik nada ima UID 1000, a drugi se korisnik zove '1000', ali ima UID 1002, ovaj obrazac naredbe (s ' + 'znakovi) nedvosmisleno mijenja vlasnika u nada .

sudo chown -R hope:hope Documents

Rekurzivno promijenite vlasništvo nad direktorijom Dokumenti i sve datoteke i poddirektoriji u njima, korisniku nada , grupa nada .

sudo chown -Rc --reference /home/hope/inbox ~/Documents/work

Rekurzivno promijenite vlasništvo nad direktorijom ~ / Dokumenti / rad i sve datoteke i poddirektoriji u njima, kako bi odgovarali vlasništvu datoteke ili direktorija / home / nada / inbox .

U gornjoj naredbi, ~ (do oznaka naglaska ) je alias u bash koji predstavlja vaš kućni direktorij. Vaš kućni direktorij također može biti predstavljen znakom varijabla okoline $ HOME , kao u $ POČETNA / Dokumenti / rad .

Također, ako bilo koja datoteka promijeni vlasništvo ( -c opcija), podaci će se ispisati na standardni izlaz :

changed ownership of 'dir/file2' from neil:neil to hope:hope changed ownership of 'dir/dir1/file1' from susie:susie to hope:hope changed ownership of 'dir/dir1' from judy:judy to hope:hope changed ownership of 'dir/dir2/file2' from jeff:jeff to hope:hope changed ownership of 'dir/dir2' from carla:carla to hope:hope changed ownership of 'dir/file1' from steve:steve to hope:hope changed ownership of 'dir' from grace:grace to hope:hope

chgrp - Promijenite vlasništvo grupe nad datotekama ili direktorijima.
chmod - Promijenite dozvole datoteka ili direktorija.
ls - Popis sadržaja imenika ili direktorija.
iskaznica - Prikaži ID-ove grupa.
usermod - Izmijenite postavke korisničkog računa.