Linux Yöneticisi - Dosya / Klasör Yönetimi

CentOS Linux'ta hem dizinler hem de dosyalar için geçerli olan izinleri tanıtmak için aşağıdaki komut çıktısına bakalım.

[centos@centosLocal etc]$ ls -ld /etc/yum* 
drwxr-xr-x. 6 root root 100 Dec  5 06:59 /etc/yum 
-rw-r--r--. 1 root root 970 Nov 15 08:30 /etc/yum.conf 
drwxr-xr-x. 2 root root 187 Nov 15 08:30 /etc/yum.repos.d

Note - Göreceğiniz üç ana nesne türü:

  • "-" - düz dosya için kısa çizgi

  • "d" - bir dizin için

  • "l" - sembolik bir bağlantı için

Her dizin ve dosya için üç çıktı bloğuna odaklanacağız -

  • drwxr-xr-x: kök: kök
  • -rw-r - r--: kök: kök
  • drwxr-xr-x: kök: kök

Şimdi bu satırları daha iyi anlamak için bunu parçalayalım -

d Nesne türünün bir dizin olduğu anlamına gelir
rwx Sahibe uygulanan dizin izinlerini gösterir
rx Gruba uygulanan dizin izinlerini gösterir
rx Dünyaya uygulanan dizin izinlerini gösterir
kök İlk örnek, dizinin sahibini gösterir
kök İkinci örnek, grup izinlerinin uygulandığı grubu gösterir

Arasındaki farkı anlama sahibi , grubun ve dünyanın önemli. Bunun anlaşılmaması, hizmetleri İnternet'e barındıran sunucular üzerinde büyük sonuçlar doğurabilir.

Gerçek dünyadan bir örnek vermeden önce, önce dizinlere ve dosyalara uygulanan izinleri anlayalım .

Lütfen aşağıdaki tabloya bir göz atın ve ardından talimatla devam edin.

Sekizli Simgesel Perm. Rehber
1 x Yürüt Dizini girin ve dosyalara erişin
2 w Yazmak Bir dizindeki dosyaları silin veya değiştirin
4 r Okuyun Dizindeki dosyaları listeleyin

Note- Dosyaların bir dizinde okumak için erişilebilir olması gerektiğinde, okuma ve yürütme izinlerinin uygulanması yaygındır . Aksi takdirde kullanıcılar dosyalarla çalışırken zorluk yaşayacaktır. Ayrılma yazma dosyaları sağlayacaktır devre dışı bırakılamaz: silinmiş, yeniden adlandırılmış üzerinde kopyalanamaz veya izinleri değiştirdiniz.

Dizinlere ve Dosyalara İzinlerin Uygulanması

İzinleri uygularken anlaşılması gereken iki kavram vardır:

  • Sembolik İzinler
  • Sekizli İzinler

Temelde, her biri aynıdır ancak dosya izinlerine atıfta bulunmanın ve atamanın farklı bir yoludur. Hızlı bir kılavuz için lütfen çalışın ve aşağıdaki tabloya bakın -

Okuyun Yazmak Yürüt
Octal 4 2 1
Symbolic r w x

Kullanarak izinler atarken octalyöntem için 3 baytlık bir sayı kullanın, örneğin: 760. 760 sayısı şu anlama gelir: Sahip: rwx; Grup: rw; Diğer (veya dünya) izin yok.

Başka bir senaryo: 733 şu dile çevirecektir: Sahip: rwx; Grup: wx; Diğer: wx.

Octal yöntemini kullanan izinlerin bir dezavantajı vardır. Mevcut izin setleri değiştirilemez. Yalnızca bir nesnenin tüm izin setini yeniden atamak mümkündür.

Şimdi, izinleri her zaman yeniden atamanın ne yanlış olduğunu merak edebilirsiniz. Büyük bir dizin yapısı düşünün, örneğin bir üretim web sunucusunda / var / www / . Diğer için tüm dizinlerde w veya write bitini özyinelemeli olarak kaldırmak istiyoruz . Bu nedenle, yalnızca güvenlik önlemleri için gerektiğinde proaktif olarak eklenmeye zorlanır. Tüm izin setini yeniden atarsak, her alt dizine atanan diğer tüm özel izinleri kaldırırız.

Dolayısıyla, sistemin hem yöneticisi hem de kullanıcısı için bir soruna neden olacaktır. Bir noktada, bir kişinin (veya kişilerin), her dizin ve nesne için tüm izin setini yeniden atayarak silinen tüm özel izinleri yeniden ataması gerekir.

Bu durumda, izinleri değiştirmek için Sembolik yöntemi kullanmak isteriz -

chmod -R o-w /var/www/

Yukarıdaki komut "izinlerin üzerine yazmaz", ancak mevcut izin setlerini değiştirir. Bu yüzden en iyi uygulamayı kullanmaya alışın

  • Yalnızca izinleri atamak için sekizli
  • İzin setlerini değiştirmek için sembolik

Bir CentOs Yönetici hem yetkin olması önemlidir Sekizli ve Sembolik izinler verilerin bütünlüğü ve bütün işletim sistemi için önemli olduğundan izinler. İzinler yanlışsa, sonuç hem hassas veriler olacak hem de tüm işletim sistemi tehlikeye atılacaktır.

Bununla birlikte, izinleri ve nesne sahibini / üyelerini değiştirmek için birkaç komuta bakalım -

  • chmod
  • chown
  • chgrp
  • umask

chmod: Dosya Modu İzin Bitlerini Değiştirin

Komut Aksiyon
-c Ayrıntılı gibi, ancak yalnızca yapılan değişiklikleri rapor edecek
-v Ayrıntılı, yapılan her istek için teşhis çıktıları
-R İşlemi dosyalara ve dizinlere yinelemeli olarak uygular

chmod, sekizlik veya sembolik izin setleri kullanarak dizinlerin ve dosyaların izinlerini değiştirmemize izin verecektir . Bunu atamamızı değiştirmek ve dizinleri yüklemek için kullanacağız.

chown: Dosya Sahibini ve Grubunu Değiştir

Komut Aksiyon
-c Ayrıntılı gibi, ancak yalnızca yapılan değişiklikleri rapor edecek
-v Ayrıntılı, yapılan her istek için teşhis çıktıları
-R İşlemi dosyalara ve dizinlere yinelemeli olarak uygular

chown , hem kullanıcıya hem de nesne grubuna sahip olmayı değiştirebilir. Bununla birlikte, her ikisini de aynı anda değiştirmek gerekmedikçe, chgrp kullanmak genellikle gruplar için kullanılır.

chgrp: Dosya veya Dizinin Grup Sahipliğini Değiştirin

Komut Aksiyon
-c Ayrıntılı gibi, ancak yalnızca değişiklikleri bildirecek
-v Ayrıntılı, yapılan her istek için teşhis çıktıları
-R Yinelemeli olarak, dosya ve dizinler üzerindeki işlemleri uygular

chgrp, grup sahibini sağlananla değiştirir.

Gerçek dünya uygulaması

/ Var / www / öğrenciler / içindeki tüm alt dizin atamalarını değiştirelim, böylece sahip olan grup öğrenci grubudur. Daha sonra öğrencilerin köklerini profesörler grubuna atayın . Daha sonra, okuldaki tüm Bilgisayar Bilimleri akademilerinden sorumlu olarak görevlendirildiği için Dr. Terry Thomas'ı öğrenci dizininin sahibi yapın .

Gördüğümüz gibi, dizin oluşturulduğunda oldukça ham kalıyor.

[root@centosLocal ~]# ls -ld /var/www/students/ 
drwxr-xr-x. 4 root root 40 Jan  9 22:03 /var/www/students/

[root@centosLocal ~]# ls -l /var/www/students/ 
total 0 
drwxr-xr-x. 2 root root 6 Jan  9 22:03 assignments 
drwxr-xr-x. 2 root root 6 Jan  9 22:03 uploads 

[root@centosLocal ~]#

Yöneticiler olarak kök kimlik bilgilerimizi asla kimseye vermek istemiyoruz . Ancak aynı zamanda, kullanıcılara işlerini yapmalarına izin vermemiz gerekiyor. Öyleyse Dr. Terry Thomas'ın dosya yapısını daha fazla kontrol etmesine ve öğrencilerin yapabileceklerini sınırlamasına izin verelim.

[root@centosLocal ~]# chown -R drterryt:professors /var/www/students/ 
[root@centosLocal ~]# ls -ld /var/www/students/ 
drwxr-xr-x. 4 drterryt professors 40 Jan  9 22:03 /var/www/students/

[root@centosLocal ~]# ls -ls /var/www/students/ 
total 0 
0 drwxr-xr-x. 2 drterryt professors 6 Jan  9 22:03 assignments 
0 drwxr-xr-x. 2 drterryt professors 6 Jan  9 22:03 uploads

[root@centosLocal ~]#

Şimdi, her dizinin ve alt dizinin bir drterryt sahibi vardır ve sahibi grup profesördür . Yana atamaları öğrencilerin iş atanan çevirmek için dizindir, en uzak listeye yeteneğini alıp değiştirmenize izin dosyaları gelen öğrenciler grubuna.

[root@centosLocal ~]# chgrp students /var/www/students/assignments/ && chmod 
736 /var/www/students/assignments/

[root@centosLocal assignments]# ls -ld /var/www/students/assignments/ 
drwx-wxrw-. 2 drterryt students 44 Jan  9 23:14 /var/www/students/assignments/

[root@centosLocal assignments]#

Öğrenciler ödevleri, ödevler dizinine kopyalayabilir . Ancak dizinin içeriğini listeleyemezler, geçerli dosyaların üzerine kopyalayamazlar veya atamalar dizinindeki dosyaları değiştiremezler . Böylece, öğrencilerin tamamlanmış ödevleri göndermelerine izin verir. CentOS dosya sistemi, ödevlerin ne zaman teslim edildiğine dair bir tarih damgası sağlayacaktır.

As atamaları dizin sahibi -

[drterryt@centosLocal assignments]$ whoami 
drterryt

[drterryt@centosLocal assignments]$ ls -ld /var/www/students/assignment 
drwx-wxrw-. 2 drterryt students 44 Jan  9 23:14 /var/www/students/assignments/

[drterryt@centosLocal assignments]$ ls -l /var/www/students/assignments/ 
total 4 
-rw-r--r--. 1 adama  students  0 Jan  9 23:14 myassign.txt 
-rw-r--r--. 1 tammyr students 16 Jan  9 23:18 terryt.txt

[drterryt@centosLocal assignments]$

Görebildiğimiz gibi, dizin sahibi dosyaları listeleyebilir, dosyaları değiştirebilir ve kaldırabilir.

umask Komutu: Oluşturuldukları Gibi Dosya ve Dizin İzinleri için Varsayılan Modları Sağlar

umask , oluşturulurken Dosya ve Dizin İzinleri için varsayılan modları sağlayan önemli bir komuttur.

umask izinleri tekli, olumsuzlanmış mantığı kullanır.

İzin Operasyon
0 Oku, yaz, çalıştır
1 Oku ve yaz
2 Oku ve çalıştır
3 Sadece oku
4 Oku ve çalıştır
5 Sadece yaz
6 Sadece yürüt
7 izin yokmu
[adama@centosLocal umask_tests]$ ls -l ./ 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt

[adama@centosLocal umask_tests]$ whoami 
adama

[adama@centosLocal umask_tests]$ umask 
0022

[adama@centosLocal umask_tests]$

Şimdi mevcut kullanıcımız için umask değerini değiştirelim ve yeni bir dosya ve dizin yapalım.

[adama@centosLocal umask_tests]$ umask 077

[adama@centosLocal umask_tests]$ touch mynewfile.txt

[adama@centosLocal umask_tests]$ mkdir myNewDir

[adama@centosLocal umask_tests]$ ls -l 
total 0 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt 
drwx------. 2 adama students 6 Jan 10 00:35 myNewDir 
-rw-------. 1 adama students 0 Jan 10 00:35 mynewfile.txt

Gördüğümüz gibi, yeni oluşturulan dosyalar öncekinden biraz daha kısıtlayıcı.

kullanıcılar için umask her ikisinde de değiştirilmelidir -

  • /etc/profile
  • ~/bashrc
[root@centosLocal centos]# su adama 
[adama@centosLocal centos]$ umask 
0022 
[adama@centosLocal centos]$

Genel olarak, CentOS'taki varsayılan umask tamam olacaktır. Varsayılan 0022 ile sorun yaşadığımızda , genellikle farklı gruplara ait farklı departmanların projeler üzerinde işbirliği yapması gerektiği zamandır.

CentOS işletim sisteminin işlemlerini ve tasarımını dengelemek için bir sistem yöneticisi rolü devreye girer.