Linux'ta dosya ve dizin kullanımı, sunucularda veya masaüstü bilgisayarlarda günlük olarak çalıştığımız bir görevdir ve bu konuda bilmemiz gereken önemli bir şey, Linux işletim sistemlerindeki dosya ve dizinlerin her birinin sahibi olan bir sahibi olmasıdır. söz konusu nesneyi oluşturan ve üzerinde özel izinlere sahip olan kişi, bu, başkalarının üzerinde değişiklik yapmasını engelleyen bir güvenlik önlemidir.
Linux ortamlarındaki en yaygın güvenlik sorunu, çok kullanıcılı bir sistem olduğu için istediğimiz kullanıcı hesaplarını oluşturabiliyoruz ve bu kişiler sisteme erişebilecek ve gerekli bilgi birikimi ile diğer kullanıcıların dosyalarına erişebilecekler. sistem, bunu önlemek için, Linux sistemi, dosyaları oluşturan ve düzenleyen kullanıcılar ve gruplardan oluşan bir nesnenin özelliğini kullanır, bu özellik bir kullanıcı tanımlayıcısı ve bir grup tanımlayıcısı (GID) olarak kabul edilebilir.
Bazı özel durumlarda bir nesnenin özelliğini değiştirmek isteyebiliriz ve bunun için chown komutu idealdir çünkü yeni bir sahip, yeni bir grup veya her ikisini aynı anda (yeni bir sahip ve yeni bir grup) tanımlamamıza izin verir.
NotYalnızca bir dosyanın sahibi grubun sahipliğini değiştirebilir, ancak yalnızca kök kullanıcı kullanıcının sahipliğini değiştirebilir.
Çok önemli bir konu gibi görünmeyebilir, ancak belirli durumlarda bir dosyanın özelliğini düzenlemek ideal olacaktır, örneğin:
- Tatile giderseniz ve bir arkadaşınızdan dosyaları sizin için düzenlemesini istemeniz gerekir.
- Bir kullanıcı şirketten ayrılırsa, bu sahipliği yeni kullanıcıya devretmek gerekir.
- Belirli bir kullanıcı tarafından yürütülecek komut dosyalarının oluşturulması.
- Nesnelerin transferi vb.
Linux'ta dosyalarla ilişkili üç ana izin tipine sahibiz:
- Kullanıcı izinleri: Bu izinler, dosyaya tam erişimi olan tek bir kullanıcıya uygulanır, bu sahip kullanıcıdır.
- Grup izinleri: Bu izinlerle bir grup kullanıcının dosyaya erişmesine izin verebiliriz, buna sahip grubu denir.
- Diğer izinler, belirli kısıtlamalarla sistemin diğer kullanıcılarına uygulanabilir.
Bu şekilde bakıldığında, bir dosya oluşturulduğunda, sahibi onu oluşturan kullanıcıdır ve sahip olan grup, dosyayı oluşturan kullanıcının geçerli grubudur.
chown komutunu kullanmak için genel sözdizimi aşağıdaki gibidir:
chown [-c | --değişiklikler] [-v | --verbose] [-f | --silent | --quiet] [--dereference] [-h | --no-dereference] [--preserve-root ] [--from = mevcutsahip: mevcutgrup] [--no-preserve-root] [-R | --recursive] [--preserve-root] [-H] [-L] [-P] {yeni sahip | --reference = ref-file} dosyası…
1. Linux'ta gruplar, UID ve GID nasıl görüntülenir?
Aşama 1
İşletim sisteminde mevcut olan grupları, UID'yi ve GID'yi belirlemek olan temel şeyle başlayalım, mevcut grupları listelemek için sadece aşağıdakileri yürütün:
gruplar
Adım 2
Şimdi, grupların listesine, sayısal kimliklerine ve ilgili UID ve GID'lerine erişmek için id komutunu kullanmalıyız:
Git
Aşama 3
id komutuyla kullanılacak bazı parametreler şunlardır:
veyaUID'yi listeleyin.
-GMevcut GID'yi listele
- yaban arısıKullanıcı adını listeleyin.
-ngGenel geçerli grup adı.
2. Bir Linux dosyasının sahibi ve izinleri nasıl görüntülenir?
Bir dosyanın veya dizinin sahibini görüntülemek istiyorsak, sadece -l (uzun liste) parametresini ls ile kullanın:
ls -l (Dosya)
Atanan bazı harf ve sayıları görebilirsiniz, bunlar şu anlama gelir:
Erişim yok
0 = ---
Uygulamak
1 = --x
yazı
2 = -w-
Yazma ve yürütme
3 = -wx
Okuma
4 = r--
Okuma ve yürütme
5 = r-x
Okuma ve yazma
6 = rw-
Oku, yaz ve çalıştır
7 = rwx
Görüntülenen satırda, soldaki isim dosyanın sahibini, sağdaki isim ise dosyanın görüntülenen ada sahip bir gruba ait olduğu gerçeğini ifade eder.
3. Linux dosyasının sahibi nasıl değiştirilir
Aşama 1
Bir dosyanın sahibini değiştirmek için kullanıcı adını bilmeli ve ardından aşağıdaki sözdizimini uygulamalıyız:
sudo chown "yeni sahip" "dosya"
Adım 2
Tekrar ls -l kullanırsak, söz konusu dosyanın sahibinin değiştirilip değiştirilmediğini kontrol ederiz:
Aşama 3
Aynı yöntemle birden fazla dosyanın sahibini aynı anda değiştirebiliriz:
sudo chown "Yeni kullanıcı" "Dosya" "Dosya1" "Dosya2"Yeni sahipler oluşturmanın pratik bir yolu, örneğin yürüttüğümüz "s" harfiyle başlayan tüm dosyaların sahibini değiştirmek istiyorsak, dosya gruplarını seçmemize izin veren joker karakterlerin kullanılmasıdır:
sudo chown "Yeni kullanıcı" s *. *4. Adım
Ardından, aşağıdakileri yürüterek söz konusu kullanıcının izinlerini kontrol edebiliriz:
ls -l çözücü1 S *.*
Adım 5
Şimdi hedefimiz bir dizinin sahipliğini değiştirmekse, chown komutuyla birlikte dizin adını aşağıdaki gibi girmeliyiz:
sudo chown "kullanıcı" "./directory/"
6. Adım
Dizinin sahip düzeyindeki özellikleri doğrulamak için, dizinin özelliklerini listelemek için ls parametresini -d (dir) seçeneğiyle birleştireceğiz, ancak içinde barındırılan dosyaları değil:
ls -l -d ./Solvetic3/
7. Adım
Linux'ta bir dizindeki tüm dosyaların sahipliğini değiştirmek istiyorsak, seçilen dizindeki dosyalara atanan kullanıcının sahipliğini değiştirecek -R (özyinelemeli) seçeneğini kullanmalıyız:
sudo chown -R çözücü ./Solvetic3/
4. Linux sahiplik grubu nasıl değiştirilir
chown komutunun sunduğu başka bir seçenek de bir dosya veya dizinin grubunu değiştirmektir.
Aşama 1
Örneğin, kullanıcı ile aynı anda grubun sahipliğini değiştirebiliriz, bunun için sahibinin yeni adını ve grubun yeni adını iki nokta üst üste ":" ile aşağıdaki gibi giriyoruz:
sudo chown çözücü: SolveticTest Solvetic.docxAşağıdakileri yürüterek izinleri kontrol edebiliriz:
ls -l Solvetic.docx
Adım 2
Yeni bir sahip grubu tanımlamak için kullanılabilecek başka bir seçenek, iki nokta üst üste girip grup adını şu şekilde atlamaktır:
sudo chown çözücü: Solvetic.docxBu, geçerli kullanıcının varsayılan grubunu verecektir:
Aşama 3
Kullanıcıyı değil, yalnızca grubun özelliğini değiştirmek için iki nokta üst üste girmeli ve kullanıcının adını çıkarmalıyız:
sudo chown: SolveticTest Solvetic.docx
UID ve GID'yi kullanarak sahibi değiştirinSahipleri değiştirmenin bir başka yolu da, id komutunu yürüterek bildiğimiz kullanıcı veya grubun UID'sini veya GID'sini kullanmaktır, örneğin, Solvetic kullanıcısı ve grubu, her iki nesnede de UID 1000 atanmıştır, böylece gerçekleştirmek için bu eylemi aşağıdakileri gerçekleştireceğiz:
sudo chown 1000: 1000 Solvetic.docx
5. chown Linux komutunu kullanmak için genel seçenekler
Komutun kullanımını optimize etmek için Linux'ta chown ile kullanabileceğimiz bazı parametreler şunlardır:
Değiştirilen dosyalar hakkındaki bilgileri görüntüler
-c, - değişiklikler
İşlenen her dosyanın ayrıntılı bilgilerini görüntüler
-v, - ayrıntılı
Herhangi bir çıktı oluşturmaz
-f, --sessiz, --sessiz
Sembolik bağlantılara herhangi bir referans uygulamaz
--başvuru
Sembolik bağları asla reddetme
-h, --no-referans
Her dosyanın sahibini veya grubunu yalnızca mevcut sahip veya grup mevcut sahip ve/veya mevcut grupla eşleşiyorsa değiştirin
--from = geçerlisahip: geçerligrup
Kök dizini etkilemez
--no-koruyucu-kök
Mülkü yeni sahiple atamak yerine, ref dosyası dosyasındaki sahibi ve grubu kullanın.
--reference = ref dosyası
Dosyalar ve dizinler üzerinde yinelemeli olarak hareket eder
-R, --özyinelemeli
Komut satırındaki bir dosyanın bir dizine sembolik bir bağlantı olması durumunda, bu dosya ve dizinlerde de çalışacaktır.
-H
Kullanılan chown sürümünü görüntüler
--versiyon
Komut yardımını görüntüler
--Yardım
chown sayesinde Linux'ta kullanıcı veya nesne grubunun sahibini düzenlemenin ne kadar basit olduğunu görebiliriz.