Linux’ta komut satırından bir komut dosyası çalıştırmayı denediyseniz ve yürütülebilir olmadığını söyleyen bir hata mesajı aldıysanız veya yalnızca sistem tarafından engellenecek bir dizine girmeye çalıştıysanız, muhtemelen bunları yapma izniniz yoktur. şeyler. Neyse ki, uygun haklara veya süper kullanıcı olarak hareket etme yeteneğine sahipseniz (sudo kullanılarak erişilebilir), dosya ve dizinlerdeki izinleri değiştirebilirsiniz.
Bu nasıl yapılır konusuna bakacağız chmod komut, sahip, kullanıcı grubu üyeleri ve diğerleri için dosya ve dizin izinlerini değiştirebilen güçlü bir komuttur. Aşağıdaki bir bölümde, kullanıcınızın hangi grupta olduğunu ve Linux’un “diğerleri” ile tam olarak ne anlama geldiğini nasıl söyleyeceğinizi de açıklayacağız.
Bu komutlara alışmış olsanız da, örnek boş dosyalar ve dizinlerle çalışmak iyidir ve talimatları dikkatlice uyguladığınızdan emin olmak için ekstra özen göstermelisiniz.
Bu nasıl yapılırdaki tüm komutlar çoğu Linux makinesinde çalışacaktır. Bir Ubuntu 20.04 kurulumu kullandık, ancak bu nasıl yapılır Ahududu Pi. Tüm nasıl yapılır, Terminal aracılığıyla gerçekleştirilir. Çoğu Linux makinesinde düğmesine basarak bir terminal penceresi açabilirsiniz. ctrl, alt ve T.
Linux’ta Dosya İzinleri Nasıl Kontrol Edilir
Başlamak için, bir test dizininde bir test dosyası oluşturalım ve varsayılan izinlerine bir göz atalım. Kullanacağımız izinleri görmek için ls ile -l argüman eklendi.
1. adlı yeni bir dizin oluşturun. test_dizini
$ mkdir test_directory
2. Yeni oluşturulan dizine gidin.
$ cd test_directory
3. adlı yeni bir test dosyası oluşturun. test1.txt.
$ touch test1.txt
4. kullanarak dizinin içeriğini listeleyin ls -l.
$ ls -l
kullanma ls -l listede iade edilen ürünler hakkında bize çok daha fazla bilgi verir. bunu görmeliyiz test1.txt yaratıldı. Test dosyamız için okunan listedeki ilk 10 karakterle ilgileniyoruz – rw- rw- r–.
Birincisi – listedeki nesnenin bir dosya olduğunu belirtir. eğer koşarsak ls -l ve bir dizin listelendi, bu ilk karakter bir D. Sonraki 9 karakter 3’lü 3 set halinde düzenlenmiştir.
İlk 3’lü grup sahibine, ikinci 3’lü grup kullanıcı gruplarına ve son üçlü grup diğerlerine atıfta bulunur. Her 3 karakterlik set – veya r, w ve x karakterlerini içerebilir. Kümede bir r görebiliyorsanız, o kümeye verilen okuma izinleri vardır. Bu kümenin bir dosyaya yazabildiğini görebiliyorsanız ve kümede bir x görebiliyorsanız, o küme dosyayı bir komut dosyası veya program olarak çalıştırabilir.
görebiliriz ki bizim test1.txt şu anda sahip ve grup üyesi izinleri, yalnızca okuma izni olan diğerleriyle birlikte okumak ve yazmak için ayarlanmış. Hiç kimsenin dosyayı yürütme izni yok.
Linux Dosya / Dizin İzinleri Nasıl Hızlı Bir Şekilde Değiştirilir
kullanabiliriz chmod sahip, grup ve diğerleri için okuma, yazma ve yürütme izinlerini açıp kapatmak için komut. Sahip ve grup için tek izinleri değiştirerek başlayalım.
1. içinde test_dizini, için geçerli izinleri listele test1.txt.
$ ls -l
Bunlar, oluşturduğumuz andan itibaren değişmemelidir test1.txt ve okumalı -rw-rw-r– .
2. Sahibin iznini salt okunur olarak değiştirin.
$ chmod u-w test1.txt
3. Dizin içeriğini listeleyin Yeni izin ayarlarını görüntülemek için Şimdi izinlerin olduğunu görmeliyiz. test1.txt read -r–rw-r– dosyanın sahibi için artık salt okunur olduğunu belirtir.
$ ls -l
4. Grupların izinlerini salt okunur olarak değiştirin. Sahip için izinleri değiştirmeye benzer şekilde, gruplar için izin ayarlarını değiştirebiliriz. Yazma izinlerini iptal etmek için argümanı kullanabiliriz gw.
$ chmod g-w test1.txt
5. Dizin içeriğini listeleyin yeni izin ayarlarını görüntülemek için.
$ ls -l
Şimdi izinlerin olduğunu görmeliyiz. test1.txt read -r–r–r– gruplar için dosyanın artık salt okunur olduğunu belirtir.
6. Sahip için yazma izinlerini etkinleştirin. Kullanmak yerine uw sezgisel olarak kullanabileceğimiz yazma izinlerini kaldırmak için u+w sahibine yazma izni vermek için.
$ chmod u+w test1.txt
7. Dizin içeriğini listeleyin Yeni izin ayarlarını görüntülemek için Şimdi izinlerin olduğunu görmeliyiz. test1.txt read -rw-r–r– sahip için yazma izinlerinin verildiğini belirtir.
$ ls -l
Linux’ta Birden Çok Dosya / Dizin İzin Değişikliği Nasıl Uygulanır?
Ayrıca, Linux dosya izinlerinde birden çok değişiklik yapmak için önceki bölümde kullandığımız argümanları tek bir komutta birleştirebiliriz. Bu bölümde, boşluklara fazladan boşluk eklememek önemlidir. chmod Bu, komutun başarısız olmasına neden olacağından bağımsız değişkenler.
İlk bölümde kullandığımız sen ve G için mal sahibi ve grup ve bu bölümde ayrıca kullanacağız Ö için izin değişikliklerini hedeflemek için diğerleri. Aynı şekilde, kullandık r ve w için okuman ve yazı yazmak ve bu bölümde ekleyeceğiz x yürütülebilir izinlerde değişiklik yapmak için.
1. Dizin içeriğini listeleyin Yeni izin ayarlarını görüntülemek için izinlerinin verildiğini görmeliyiz. test1.txt -rw-r–r– vardır.
$ ls -l
2. İzinleri, ek olarak sahibin yürütebileceği ve grubun ek olarak yazabileceği ve yürütebileceği şekilde değiştirin. Virgülden sonra boşluk olmadığına dikkat edin ve ayrıca birleştirebileceğinize dikkat edin. r,w,x tek bir argümanda.
$ chmod u+x,g+wx test1.txt
3. Yeni izin ayarlarını görüntülemek için dizin içeriğini listeleyin. izinlerinin verildiğini görmeliyiz. test1.txt -rwxrwxr– . Bunun anlamı şudur: mal sahibi ve grup diğerleri sadece okuyabilirken dosyayı okuyabilir, yazabilir ve çalıştırabilir.
$ ls -l
Linux’ta Dosya / Dizin İzinlerini Tekrarlı Olarak Değiştirme
bu chmod komutu, bir dizinde yinelemeli olarak değişiklikler oluşturmak için kullanılabilir; bu, değişikliklerin dizinde bulunan dosyalara da uygulanacağı anlamına gelir. Şimdiye kadar öğrendiklerimizi kullanalım ve ek olarak özyinelemeyi kullanalım. -R Bunun nasıl çalıştığını görmek için argüman.
1. Ana dizininize gidin ve içeriği listeleyin.
$ cd
$ ls -l
Bu nasıl yapılır bölümünün önceki bölümlerinde listelenmiş test_dizini görmeliyiz. test_directory izinleri drwxrwxr-x şeklinde okunmalıdır.
2. Hem dizinin hem de içeriğinin sahibi ve grup izinlerini değiştirin. Bu komutu çalıştırmak, her ikisi için de sahip ve grup yazma izinlerini iptal edecektir. test_dizini ve dosya, test1.txt Bu içerir.
$ chmod -R u-w,g-w test_directory
3. Ev dizini içeriğini listeleyin izinlerini kontrol etmek için test_dizini.
$ ls -l
Sahip ve grup izinlerinin okuma ve yürütmeye izin verdiğini ancak şimdi dizine yazmaya izin vermediğini görmeliyiz.
4. Taşınmak test_dizini izinlerini kontrol etmek için test1.txt.
$ cd test_directory
$ ls -l
Bunun için sahip ve grup izinlerinin olduğunu görmeliyiz.test1.txt ana dizindeki özyinelemeli değişikliklerle eşleşecek şekilde değiştirildi ve yazma izinleri kaldırıldı.
Linux Grubunuzu Nasıl Görüntüleyebilirsiniz?
Kullanıcılardan, gruplardan ve diğerlerinden bahsettiğimizde kastettiğimiz, kullanıcımızın tipik olarak bir grup kullanıcıya ait olmasıdır. Bir kullanıcı ve grup aynı veya çok farklı izinlere sahip olabilir. Örneğin, bir ekip üyesinin belirli bir görevi gerçekleştirmek için daha fazla izne ihtiyacı olabilir. Bir kullanıcıya ve bir gruba verdiğimiz izinler, grupta olmayan diğer kullanıcılara verdiğimiz izinlerden farklı olacaktır.
Kullanıcımızın dahil olduğu grupları şuradan görebiliriz: gruplar emretmek.
1. Bir terminal açın ve yazın gruplar. Bu, kurulumumuzda mevcut olan tüm grupları listeleyecektir.
groups
2. Bir terminal açın ve yazın gruplar ardından kullanıcının adı gelir. Örneğin burada “Tom” un hangi gruplara ait olduğunu kontrol ediyoruz ve onun tom ve sudo gruplarına ait olduğunu buluyoruz.
groups tom
Bu komutun çıktısı şuna benzer.
tom : tom sudo
Diğerleri bir grup değildir. Bunun yerine “diğerleri”, sahibi olmayan veya bir dosyaya veya dizine erişimi olan bir gruptaki kişileri ifade eder. Tipik olarak diğerleri herhangi bir dizin dosyasına yalnızca okuma erişimine sahip olacaktır, ancak bu değiştirilebilir ve bunu daha sonra inceleyeceğiz.
Sayısal Kodlarla Linux Dosya İzinleri Nasıl Değiştirilir
Linux dosya izinleri için r,w veya x kullanımını hatırlamak daha kolay olsa da, birçok kişi bunun yerine chmod ile bir dizi sayısal kod kullanır. chmod komutuna üç basamaklı bir sayı beslersiniz ve her basamak şu sırayla farklı bir gruba uygulanır: kullanıcı, grup, diğerleri. Yani mesela, chmod 777 üç türe de tam okuma, yazma ve yürütme izinleri verir. chmod 740 kullanıcıya tam izinler verir, gruba okuma izinleri verir ve diğerlerine hiç izin vermez.
Aşağıdaki tablo, her bir sayının ne anlama geldiğini gösterir.
Numara | izinler |
---|---|
0 | Hiçbiri |
1 | Uygulamak |
2 | Yazı yazmak |
3 | Yürüt ve Yaz |
4 | Okumak |
5 | Oku ve Çalıştır |
6 | Oku ve yaz |
7 | Tümü: Oku, Yaz ve Yürüt |
Bu temel kullanımlar ile chmod komut, dosya ve dizin izinleri üzerinde çok fazla kontrol sahibi olursunuz. Eklemek için birçok farklı argüman var chmod farklı yaklaşımlarla çalışmanıza izin verir.
Örneğin, kullanımını araştırmaya değer = + ve – yerine izinleri açıp kapatmak yerine, bazı veya tüm kullanıcılar için doğrudan izinler tanımlayabilirsiniz. Araştırdıkça ve öğrendikçe chmod Güvendiğiniz bir dosyadaki tüm izinleri yanlışlıkla kaldırırsanız sinir bozucu olabileceğinden, test dosyaları ve dizinleri üzerinde pratik yapmayı hatırlamaya değer.