OnWorks Linux ve Windows Çevrimiçi İş İstasyonları

Logo

İş İstasyonları için Çevrimiçi Ücretsiz Barındırma

<Önceki | İçerik | Sonraki>

chmod – Dosya Modunu Değiştir

Bir dosyanın veya dizinin modunu (izinlerini) değiştirmek için, chmod komutu kullanılır. Yalnızca dosyanın sahibinin veya süper kullanıcının bir dosya veya dizinin modunu değiştirebileceğini unutmayın. chmod mod değişikliklerini belirtmenin iki farklı yolunu destekler: sekizli sayı gösterimi veya sembolik gösterim. İlk önce sekizli sayı gösterimini ele alacağız.

görüntü


Octal Nedir?

Sekizli (taban 8) ve kuzeni, onaltılık (taban 16), bilgisayarlarda sayıları ifade etmek için sıklıkla kullanılan sayı sistemleridir. Biz insanlar (ya da en azından çoğumuz) on parmakla doğduğumuz için, 10 tabanlı bir sayı sistemi kullanarak sayarız. Bilgisayarlar ise sadece bir parmakla doğdular ve böylece tüm sayımlarını ikili (taban 2) olarak yapıyorlar. Sayı sistemlerinde yalnızca 0 ve 1 olmak üzere iki sayı vardır. Yani ikili sistemde sayma şöyle görünür:

0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011...

Sekizli olarak, sayma 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20 gibi sıfırdan yediye kadar olan sayılarla yapılır. 21...

Onaltılı sayma, sıfırdan dokuza kadar olan rakamları ve "A" ile "F" arasındaki harfleri kullanır:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13...

Anlamı ikili olarak görebilsek de (bilgisayarların yalnızca bir parmağı olduğundan), sekizli ve onaltılık ne işe yarar? Cevap, insan rahatlığı ile ilgilidir. Çoğu zaman, verilerin küçük bölümleri bilgisayarlarda şu şekilde temsil edilir: bit desenleri. Örneğin bir RGB rengi alın. Çoğu bilgisayar ekranında, her piksel üç renk bileşeninden oluşur: sekiz bit kırmızı, sekiz bit yeşil ve sekiz bit mavi. Güzel bir orta mavi, 24 haneli bir sayı olacaktır:

010000110110111111001101

Bütün gün bu tür sayıları okuyup yazmaya ne dersiniz? Ben öyle düşünmedim. Başka bir sayı sisteminin yardımcı olacağı yer burasıdır. Onaltılık bir sayıdaki her basamak, ikili sistemde dört basamağı temsil eder. Sekizli olarak, her basamak üç ikili basamağı temsil eder. Böylece 24 haneli orta mavimiz altı haneli onaltılık bir sayıya indirgenebilir:

436FCD

Onaltılık sayıdaki rakamlar ikili sayıdaki bitlerle “sıralandığından”, rengimizin kırmızı bileşeninin 43, yeşil 6F ve mavi CD olduğunu görebiliriz.

Bu günlerde, onaltılık gösterim (genellikle "altılık" olarak konuşulur), sekizliden daha yaygındır, ancak yakında göreceğimiz gibi, sekizlinin üç bit ikiliyi ifade etme yeteneği çok faydalı olacaktır...


Sekizli gösterimle, istenen izinlerin modelini ayarlamak için sekizli sayıları kullanırız. Sekizlik bir sayıdaki her basamak üç ikili basamağı temsil ettiğinden, bu,


dosya modunu saklamak için kullanılan şema. Bu tablo ne demek istediğimizi gösterir:


Tablo 9-4: İkili ve Sekizli Dosya Modları


Sekizli

İkili

Dosya Modu

0

000

---

1

001

-X

2

010

-W-

3

011

-wx

4

100

r--

5

101

rx

6

110

rw

7

111

rwx

Üç sekizlik basamak kullanarak, sahip, grup sahibi ve grup sahibi için dosya modunu ayarlayabiliriz.

dünya:



[ben@linuxbox ~]$ > foo.txt

[ben@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 ben ben 0 2016-03-06 14:52 foo.txt [me@linuxbox ~]$ chmod 600 foo.txt

[ben@linuxbox ~]$ ls -l foo.txt

-rw------- 1 ben ben 0 2016-03-06 14:52 foo.txt

[ben@linuxbox ~]$ > foo.txt

[ben@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 ben ben 0 2016-03-06 14:52 foo.txt [me@linuxbox ~]$ chmod 600 foo.txt

[ben@linuxbox ~]$ ls -l foo.txt

-rw------- 1 ben ben 0 2016-03-06 14:52 foo.txt


“600” argümanını geçerek, grup sahibinden ve dünyadan tüm izinleri kaldırırken, sahibinin okuma ve yazma izinlerini ayarlayabildik. Sekizliden ikiliye eşlemeyi hatırlamak uygunsuz görünse de, genellikle sadece birkaç yaygın olanı kullanmanız gerekecektir: 7 (rwx), 6 (rw), 5 (rx), 4 (r--) ve 0 (---).

chmod ayrıca dosya modlarını belirtmek için bir sembolik gösterimi de destekler. Sembolik gösterim üç bölüme ayrılmıştır: değişikliğin kimleri etkileyeceği, hangi işlemin gerçekleştirileceği ve hangi izinlerin belirleneceği. Kimin etkilendiğini belirtmek için “u”, “g”, “o” ve “a” karakterlerinin bir kombinasyonu aşağıdaki gibi kullanılır:


Tablo 9-5: chmod Sembolik Gösterim


Sembol Anlamı

Sembol Anlamı

u “Kullanıcı”nın kısaltmasıdır ancak dosya veya dizin sahibi anlamına gelir.


görüntü

g Grup sahibi.


görüntü


görüntü

o “Diğerleri”nin kısaltmasıdır, ancak dünya anlamına gelir.


görüntü

"hepsi"nin kısaltması. “u”, “g” ve “o” kombinasyonu.


görüntü


Herhangi bir karakter belirtilmezse, "tümü" kabul edilecektir. İşlem, bir iznin ekleneceğini belirten bir “+”, bir iznin alınacağını belirten bir “-” veya yalnızca belirtilen izinlerin uygulanacağını ve diğer tüm izinlerin uygulanacağını belirten bir “=” olabilir. kaldırılmak üzeredir.

İzinler “r”, “w” ve “x” karakterleriyle belirtilir. İşte bazı sembolik gösterim örnekleri:


Tablo 9-6: chmod Sembolik Gösterim Örnekleri


Notasyon Anlamı

Notasyon Anlamı

u+x Sahip için yürütme izni ekleyin.


görüntü

ux Sahibinden yürütme iznini kaldırın.


görüntü

+x Sahip, grup ve dünya için yürütme izni ekleyin.

Eşittir a + x.


görüntü

o-rw Sahip ve grup sahibi dışındaki herkesten okuma ve yazma iznini kaldırın.


görüntü

go=rw Grup sahibini ve grup sahibi dışındaki herkesi okuma ve yazma iznine sahip olacak şekilde ayarlayın. Grup sahibi veya dünya daha önce yürütme izinlerine sahipse, bunlar kaldırılır.


görüntü

u+x,go=rx Sahip için yürütme izni ekleyin ve grubun ve diğerlerinin okuma ve yürütme izinlerini ayarlayın. Birden çok özellik virgülle ayrılabilir.


görüntü


Bazı insanlar sekizli gösterimi kullanmayı tercih eder, bazıları ise sembolik gösterimi gerçekten sever. Sembolik gösterim, diğerlerini bozmadan tek bir nitelik belirlemenize izin verme avantajını sunar.

Bir göz atın chmod Daha fazla ayrıntı ve bir seçenekler listesi için man sayfası. “--özyinelemeli” seçeneğiyle ilgili bir uyarı: hem dosyalar hem de dizinler üzerinde etkilidir, bu nedenle umulduğu kadar yararlı değildir, çünkü nadiren dosya ve dizinlerin aynı izinlere sahip olmasını isteriz.


OnWorks'te En İyi OS Bulut Bilişimi: