Faýl eýeçiligini üýtgetmek üçin 11 Linux Chown buýruk mysallary


Gysgaça: Bu başlangyç gollanmasynda, çown buýrugynyň käbir amaly mysallaryny ara alyp maslahatlaşarys. Bu gollanmany ýerine ýetirensoň, ulanyjylar Linux-da faýl eýeçiligini netijeli dolandyryp bilerler.

Linux-da hemme zat faýl bolup, faýllar, kataloglar, disk diskleri, printerler we ş.m. ýaly ähli giriş/çykyş çeşmeleri faýl ulgamynyň at giňişliginde faýl hökmünde açylýar. Bulardan başga-da, Linux-daky her bir faýl bilen baglanyşykly eýeçilik bar.

Eýeçilik iki gurama - ulanyjy we topar tarapyndan görkezilýär. Giriş rugsatlarynyň we eýeçiligiň utgaşmasy Linux-a giriş dolandyryş mehanizmini netijeli durmuşa geçirmäge mümkinçilik berýär.

Bu gollanmada, çown buýrugy barada öwreneris. Adyndan görnüşi ýaly, “chown” buýrugy faýllaryň eýeçiligini üýtgetmek üçin ulanylýar. Bu gollanmany ýerine ýetirensoň, täze başlanlar Linux ulgamlary bilen işleýän wagtynda çown buýrugyny netijeli ulanyp bilerler.

Çown buýrugynyň sintaksisi aşakdaky ýaly:

$ chown [OPTION]... [OWNER][:[GROUP]] [FILE-1] [FILE-2]...[FILE-N]

Indi Linux-da käbir amaly mysallar bilen çown buýrugynyň ulanylyşyna düşüneliň.

1. Faýlyň eýeçiligini nädip tapmaly

Faýlyň eýesini tapmagyň iň aňsat usuly, faýlyň ulanyjysyny we toparyny sanawlaşdyrjak ls buýrugyny ulanmakdyr.

$ touch file-1.txt
$ ls -l file-1.txt 

Aboveokardaky çykyşda, faýlyň tecmint ulanyjysyna we toparyna degişlidigini görüp bileris. Bu maglumatlar degişlilikde üçünji we dördünji sütünler bilen görkezilýär.

2. Faýlyň eýeçiligini nädip üýtgetmeli

Çown buýrugy faýlyň eýeçiligini üýtgetmäge mümkinçilik berýär. Ulanyjy narendrany faýlyň eýesi hökmünde bellemek bilen ulanylyşyna seredeliň:

$ sudo chown narendra file-1.txt

Indi, faýlyň eýeçiliginiň üýtgedilendigini barlalyň:

$ ls -l file-1.txt 

3. Faýlyň topar eýeçiligini nädip üýtgetmeli

Ulanyja meňzeşlikde, “chown” buýrugyny ulanyp, faýlyň topar eýeçiligini hem üýtgedip bileris. Şeýlelik bilen, faýlyň topara eýeçiligini topara belläliň - narendra:

$ sudo chown :narendra file-1.txt

Toparyň eýeçiligini üýtgedenimizde, toparyň ady bilen (:) sütünini ulanmalydygymyzy bellemelidiris.

Indi, faýlyň topar eýeçiligini barlalyň:

$ ls -l file-1.txt

4. Eýeçiligi we faýl toparyny nädip üýtgetmeli

Öňki mysallarda çown buýrugyny iki gezek ulanýardyk. Ilki bilen ulanyjynyň eýeçiligini üýtgetmek, soň bolsa toparyň eýeçiligini üýtgetmek. Şeýle-de bolsa, bir buýrugy ulanyp, ulanyjyny we toparyny üýtgedip bileris.

Aşakdaky buýrugy ulanyp, faýlyň eýeçiligini ulanyja we topar tekmintine täzeden dikeliň:

$ sudo chown tecmint:tecmint file-1.txt

Bu mysalda ulanyjyny we toparyny aýyrmak üçin (:) belgisini ulanýarys. Içegäniň öňündäki baha ulanyjyny aňladýar, içegäniň yzyndaky baha topara degişlidir.

Indi täzelenen faýl eýeçiligini barlalyň:

$ ls -l file-1.txt 

5. Simwoliki baglanyşygyň eýeçiligini nädip üýtgetmeli

Düzgüne görä, “chown” buýrugy simwoliki baglanyşygy aňladýar, ýagny giriş faýly simwoliki baglanyşyk bolsa, simwoliki baglanyşygyň ýerine derek salgylanma faýlynyň eýeçiligini üýtgedýär.

Şeýle-de bolsa, aşakdaky mysalda görkezilişi ýaly -h opsiýasyny ulanyp, adaty hereketi ýok edip bileris.

Ilki bilen simwoliki baglanyşyk dörediň we onuň dogry salgylanma faýlyny görkezýändigini barlaň:

$ ln -s file-1.txt symlink
$ ls -l symlink 

Ondan soň, -h opsiýasyny ulanyp, simwoliki baglanyşygyň eýeçiligini üýtgediň:

$ sudo chown -h narendra:narendra symlink

Ahyrynda, simwoliki baglanyşygyň eýeçiligini we salgylanma faýlyny barlaň:

$ ls -l symlink file-1.txt

6. Faýl eýeçiligini ulanyja nädip geçirmeli

Käwagt, faýlyň eýeçiligini diňe häzirki eýeçiligini tassyklandan soň täzelemeli bolýarys. Şeýle ýagdaýlarda, görkezilişi ýaly çown buýrugynyň --from opsiýasyny ulanyp bileris.

$ sudo chown -h --from narendra:narendra tecmint:tecmint symlink

Bu mysalda, --from opsiýasy faýlyň häzirki eýesini görkezýär, indiki argument täze eýeçiligi görkezýär. Şeýlelik bilen ýokardaky buýruk faýlyň eýeçiligini täzeleýär - simlink, diňe faýl ulanyjy we topara degişli bolsa - narendra.

Indi, faýlyň täzelenen eýeçiligini barlalyň:

$ ls -l symlink

Bu mysalda, (:) belgisini ulanyp, ulanyjyny we toparyny kesgitledik. Şeýle-de bolsa, olaryň ikisini-de öňki mysallarda görkezilişi ýaly kesgitläp bileris.

7. Başga bir faýldan eýeçiligi nädip göçürmeli

Käwagt, buýruk setirinden şol bir zady bermegiň ýerine bar bolan faýldan eýeçiligi göçürmek amatly. Şeýle ssenariýalarda, eýeçiligiň göçürilmeli faýlyny görkezýän çown buýrugy bilen --reference opsiýasyny ulanyp bileris.

Ilki bilen täze faýl dörediň we eýeçiligini üýtgediň:

$ touch file-2.txt
$ sudo chown narendra:narendra file-2.txt

Indi, iki faýlyň häzirki eýeçiligini barlap göreliň:

$ ls -l file-1.txt file-2.txt 

Ondan soň, 2.txt faýlynyň eýeçiligini aşakdaky buýrugy ulanyp, 1.txt faýly bilen deňleşdiriň:

$ sudo chown --reference=file-1.txt file-2.txt

Ahyrynda, eýeçiligiň üstünlikli täzelenendigini barlaň:

$ ls -l file-1.txt file-2.txt 

Aboveokardaky çykyşda, indi iki faýlyň hem eýeçiliginiň bardygyny görüp bileris.

8. Katalogyň eýeçiligini nädip üýtgetmeli

Katalonyň eýeçiligini üýtgetmek üçin “chown” buýrugyny ulanyp bileris. Şeýle-de bolsa, buýrugyň deslapky hereketi gaýtalanmaýar.

Çown buýrugynyň diňe giriş katalogynyň eýeçiligini üýtgetjekdigini aňladýar. Şeýle-de bolsa, aşakdaky mysalda görkezilişi ýaly -R opsiýasyny ulanyp, bu adaty hereketi ýok edip bileris.

Ilki bilen bir katalog we oňa iki faýl dörediň:

$ mkdir dir-1
$ touch dir-1/demo-1.txt dir-1/demo-2.txt

Ondan soň, katalogyň eýeçiligini we faýllaryny barlaň:

$ ls -ld dir-1
$ ls -l dir-1

Soňra, katalogyň we faýllarynyň eýeçiligini gaýtalap üýtgediň:

$ sudo chown -R narendra:narendra dir-1

Ahyrynda, katalogyň we faýllarynyň eýeçiligini barlaň:

$ ls -ld dir-1
$ ls -l dir-1

9. Çown buýruk prosesi jikme-jikliklerini nädip çap etmeli

Düzgüne görä, “chown” buýrugy eýeçiligi üýtgedensoň terminalda hiç zat çap etmeýär. Şeýlelik bilen, şu wagta çenli täzelenen eýeçiligi barlamak üçin ls buýrugynyň -l opsiýasyny ulanýarys.

Bu çäklendirmäni ýeňip geçmek üçin, her işlenen faýl üçin diagnostikany çap edýän buýrugyň sözleýiş re modeimini açyp bileris. Bu opsiýa, -R opsiýasy bilen ulananymyzda manyly maglumat berýär:

Şeýlelik bilen, söz düzümini işjeňleşdirmek üçin buýrugyň -v opsiýasyny ulanalyň:

$ sudo chown -Rv tecmint:tecmint dir-1

Indi buýrugyň netijesini barlap göreliň:

10. Çown buýruk ýalňyşlyklaryny nädip basyp ýatyrmaly

Beýleki Linux buýruklary ýaly, chown hem ssenariýa bolan ýagdaýynda manyly maglumat berýär. Erroralňyşlyk dürli sebäplere görä bolup biler, meselem, ýok faýllar, toparlar ýa-da ulanyjylar, belli bir amallary ýerine ýetirmek üçin ýeterlik ygtyýarlyk we ş.m.

Şeýle-de bolsa, käwagt bu ýalňyş habarlary görkezmek islemeýäris. Şeýle ýagdaýlarda säwlik habarlaryny basmak üçin buýrugyň -f opsiýasyny ulanyp bileris.

Muňa has gowy düşünmek üçin, gelmeýän faýlyň eýeçiligini üýtgetmäge synanyşalyň:

$ sudo chown -f narendra:narendra non-existing-file.txt
$ echo $?
1

Indi buýrugyň netijesini göreliň:

Görşümiz ýaly ýokardaky buýruk hiç hili ýalňyşlyk görkezmeýär. Şeýle-de bolsa, buýruk nol däl gaýtarma bahasyny ulanyp şowsuzlygy habar berýär.

11. Faýl ulanyjysyny we topar belgisini nädip üýtgetmeli

Şu wagta çenli faýlyň eýeçiligini üýtgetmek üçin ulanyjy we topar atlaryny ulandyk. Şeýle-de bolsa, şol bir netijäni gazanmak üçin ulanyjy we topar şahsyýetnamalaryny ulanyp bileris.

Ilki bilen, ulanyjynyň we toparyň şahsyýetini tapmak üçin id buýrugyny ulanyň - narendra:

$ id narendra

Indi, “chown” buýrugy bilen ulanyjy we topar ID 1001 ulanalyň:

$ ls -l file-1.txt
$ sudo chown 1001:1001 file-1.txt

Ahyrynda, eýeçiligiň üstünlikli täzelenendigini barlaň:

$ ls -l file-1.txt

Bu makalada, çown buýrugynyň käbir amaly mysallaryny ara alyp maslahatlaşdyk. Linux ulgamlary bilen işleýän wagtyňyz öndürijiligi ýokarlandyrmak üçin bu mysallary gündelik durmuşda ulanyp bilersiňiz.

Linux-da çown buýrugynyň başga bir gowy mysalyny bilýärsiňizmi? Aşakdaky teswirlerde pikirleriňizi bize habar beriň.