Android

Chown-komento linuxissa (tiedoston omistus)

pääte - Ubuntu - ls, chmod, less, clear, cp, cd, date, df, diff, du, echo, emacs - opastusvideo 3

pääte - Ubuntu - ls, chmod, less, clear, cp, cd, date, df, diff, du, echo, emacs - opastusvideo 3

Sisällysluettelo:

Anonim

chown komennon avulla voit muuttaa tietyn tiedoston, hakemiston tai symbolisen linkin käyttäjän ja / tai ryhmän omistajuutta.

Linuxissa kaikki tiedostot liitetään omistajaan ja ryhmään, ja niille annetaan luvan käyttöoikeudet tiedoston omistajalle, ryhmän jäsenille ja muille.

Tässä opetusohjelmassa näytämme sinulle, kuinka käyttää chown komentoa käytännön esimerkkien avulla.

Kuinka käyttää chown

Ennen kuin aloitamme chown komennon käytön, aloitamme tarkistamalla perussintaksi.

chown komentolausekkeet ovat seuraavassa muodossa:

chown USER FILE(s)

USER on uuden omistajan käyttäjänimi tai käyttäjätunnus (UID). GROUP on uuden ryhmän nimi tai ryhmätunnus (GID). FILE(s) on yhden tai useamman tiedoston, hakemiston tai linkin nimi. Numeeriset tunnukset on etuliitettävä + -merkillä.

  • USER - Jos määritetään vain käyttäjä, määritetystä käyttäjästä tulee annettujen tiedostojen omistaja, ryhmän omistajuutta ei muuteta. USER: - Kun käyttäjänimeä seuraa kaksoispiste : eikä ryhmän nimeä anneta, käyttäjästä tulee tiedostojen omistaja ja tiedostoryhmän omistajuus vaihdetaan käyttäjän kirjautumisryhmäksi. USER:GROUP - Jos sekä käyttäjä että ryhmä on määritetty (ilman tilaa niiden välillä), tiedostojen käyttäjän omistajuus vaihdetaan annettuun käyttäjään ja ryhmän omistajuus muuttuu annettuun ryhmään. :GROUP - Jos käyttäjä jätetään pois ja ryhmälle on etuliite kaksoispisteellä:, vain tiedostojen ryhmänomistus vaihdetaan annettuun ryhmään. : Jos annetaan vain kaksoispiste:, määrittelemättä käyttäjää ja ryhmää, muutosta ei tehdä.

Oletuksena onnistumisen yhteydessä chown ei tuota mitään tulosta ja palauttaa nollan.

Käytä ls -l komentoa selvittääksesi kuka omistaa tiedoston tai mihin ryhmään tiedosto kuuluu:

ls -l filename.txt

-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner

Vain pääkäyttäjä tai käyttäjä, jolla on sudo oikeudet, voivat muuttaa tiedoston ryhmäomistusta.

Kuinka muuttaa tiedoston omistajaa

Tiedoston omistajan vaihtamiseksi käytä argumenttina chown komentoa, jota seuraa uuden omistajan käyttäjänimi ja kohdetiedosto:

chown USER FILE

Esimerkiksi seuraava komento muuttaa tiedoston nimeltä file1 omistajuuden uudelle omistajalle nimeltä linuxize :

chown linuxize file1

Jos haluat muuttaa useiden tiedostojen tai hakemistojen omistajuutta, määritä ne välilyönnillä luettelona. Alla oleva komento muuttaa tiedoston nimeltä file1 ja hakemiston dir1 uudelle omistajalle nimeltä linuxize :

chown linuxize file1 dir1

Numeerista käyttäjätunnusta (UID) voidaan käyttää käyttäjänimen sijasta. Seuraava esimerkki muuttaa tiedosto2-nimisen file2 omistajuuden uudeksi omistajaksi, jonka UID on 1000 :

chown 1000 file2

Jos numeerinen omistaja on olemassa käyttäjänimenä, omistusoikeus siirretään käyttäjänimeen. Välttääksesi tämän etuliitteen tunnuksella + :

chown 1000 file2

Tiedoston omistajan ja ryhmän vaihtaminen

Voit muuttaa sekä tiedoston omistajaa että ryhmää käyttämällä chown komentoa, jota seuraa uusi omistaja ja ryhmä erotettuna kaksoispisteellä (:) ilman välilyöntejä ja kohdetiedostoa.

chown USER:GROUP FILE

Seuraava komento muuttaa tiedoston nimeltä file1 omistajuuden uudelle omistajalle, jonka nimi on linuxize ja ryhmittele users :

chown linuxize:users file1

Jos jätät ryhmän nimen kaksoispisteen (:) jälkeen, tiedoston ryhmä vaihdetaan määritetyn käyttäjän kirjautumisryhmään:

chown linuxize: file1

Kuinka muuttaa tiedostoryhmää

Jos haluat muuttaa vain tiedostoryhmää, käytä chown komentoa, jota seuraa kaksoispiste ( chown ja uutta ryhmän nimeä (ilman välilyöntiä niiden välillä) ja kohdetiedostoa argumenttina:

chown:GROUP FILE

Seuraava komento muuttaa tiedoston, jonka nimi on file1 www-data :

chown:www-data file1

Toinen komento, jolla voit muuttaa tiedostojen chgrp on chgrp .

Kuinka muuttaa symbolisten linkkien omistajuutta

Kun rekursiivista vaihtoehtoa ei käytetä, chown komento muuttaa niiden tiedostojen ryhmäomistusta, joihin symbolit osoittavat, eivät symbolisia linkkejä.

Jos esimerkiksi yrität muuttaa omistajaa ja symbolisen linkin symlink1 joka osoittaa symlink1 /var/www/file1 , chown muuttaa tiedoston tai hakemiston, johon linkkiosoitteet symlink1 , omistajuuden:

chown www-data: symlink1

On mahdollista, että sen sijaan, että muutat kohteen omistajuutta, saat virheilmoituksen "ei voi poistua" symlink1: "Lupa evätty" -virheen.

Virhe ilmenee, koska oletuksena useimmissa Linux-jakeluissa linkit on suojattu, etkä voi toimia kohdetiedostoissa. Tämä vaihtoehto on määritetty /proc/sys/fs/protected_symlinks . 1 tarkoittaa käytössä ja 0 pois käytöstä. Suosittelemme, että et poista käytöstä linkkisuojausta.

Voit muuttaa itse linkin ryhmäomistusta käyttämällä -h vaihtoehtoa:

chown -h www-data symlink1

Kuinka rekursiivisesti muuttaa tiedoston omistajuutta

Voit käyttää rekursiivisesti kaikkia tiedostoja ja hakemistoja annetussa hakemistossa käyttämällä -R (- --recursive ) -vaihtoehtoa:

chown -R USER:GROUP DIRECTORY

Seuraava esimerkki muuttaa kaikkien /var/www hakemistossa olevien tiedostojen ja alihakemistojen omistajuuden uudelle omistajalle ja ryhmälle nimeltä www-data :

chown -R www-data: /var/www

Jos hakemisto sisältää symbolisia linkkejä, -h vaihtoehto:

chown -hR www-data: /var/www

Muut vaihtoehdot, joita voidaan käyttää hakemiston omistajuuden rekursiivisessa vaihdossa, ovat -H ja -L .

Jos chown komennolle välitetty argumentti on symbolinen linkki, joka osoittaa hakemistoon, -H asetus saa komennon kulkemaan sen läpi. -L käskee chown kulkemaan jokaisen symbolisen linkin kohtaamasi hakemistoon. Yleensä sinun ei pitäisi käyttää näitä vaihtoehtoja, koska saatat hämmentää järjestelmääsi tai luoda tietoturvariskin.

Viitetiedoston käyttäminen

--reference=ref_file -asetuksen avulla voit muuttaa annettujen tiedostojen käyttäjän ja ryhmän omistajuuden olemaan sama kuin määritetyn viitetiedoston ( ref_file ). Jos viitetiedosto on symbolinen linkki, valittu käyttää kohdetiedoston käyttäjää ja ryhmää.

chown --reference=REF_FILE FILE

Esimerkiksi seuraava komento määrittää file1 käyttäjän ja ryhmän omistajuuden file2

chown --reference=file1 file2

johtopäätös

chown on Linux / UNIX-komentoriviohjelma tiedoston käyttäjän ja / tai ryhmän omistajuuden muuttamiseksi.

Lisätietoja chown komennosta on chown man -sivulla tai kirjoita man chown omaan päätteeseesi.

chown terminaali