Acemi bir Linux kullanıcısı olarak, dosya ve dizinlerle ilişkili izinleri ve sahipliği öğrenirsiniz. Linux/Unix benzeri işletim sistemleri, diğer kullanıcıların gereksiz dosya/dizin erişimini önlemek için dokuz bitlik bir izin kombinasyonu ayarlamanıza izin verir. Bunlara benzer şekilde set UID, set GID ve yapışkan bitler olarak bilinen yürütülebilir dosyalar için özel izinler vardır.

Özel izinleri anlamak, hevesli Linux yöneticileri için biraz bunaltıcı olabilir. Burada normal dosya izinleri hakkında biraz bilgi edinecek ve özel izinlerden nasıl farklı olduklarını açıklayacaksınız. Kapsamlı bir anlayış için örneklerle SetID, GetID ve yapışkan bit işlevlerini de gösteriyoruz.

Normal Linux Dosya İzinleri

Linux kullanır chmod komutu okuma atamak/değiştirmek için (r=4), yazı yazmak (w=2) ve yürütün (x=1) dosya ve klasörlerdeki izinler. Yani, yukarıda bahsedilen dokuz bit, izin gruplarının üç ana kategorisi için geçerlidir. İlk üçü dosyanın sahibi olan kullanıcı içindir, ikinci grup dosya/dizine atanan grup içindir ve son üçü diğer tüm kullanıcıları temsil eder.

instagram viewer

Örneğin, normal bir dosya, tüm kullanıcı kategorileri için tüm izin türleri -rwxrwxrwx olarak görünecektir. Harflerin yerine - ise bu iznin bulunmadığını gösterir. Şimdi chmod komutu, izinleri aşağıdaki gibi değiştirmek için sayıları ve harfleri kullanır:

sudo chmod 755 dosyası # rwxr-xr-x için 
sudo chmod 644 dosyası #rw-r--r-- için 
sudo chmod a-w dosyası #r-xr-xr-x için 
sudo chmod a+x dosyası #for --x--x--x

Özel Linux Dosya İzinleri

bu setuid bit, sahibinin yetkisiyle diğer kullanıcılar tarafından çalıştırılabilen yürütülebilir bir dosya üzerindeki izni temsil eder. Örneğin, kullanıcı ne zaman maksimum kullanıcı olarak vi komutunu çalıştırır John, okuma/yazma izinlerine sahip olacaksınız. John.

Setuid ile dosyaları tanımlamak için ls komut verin ve arayın s yürütülebilir bit yerine bit x, aşağıdaki gibi.

UID Bitini Ayarla

bu setuid bit, sahibinin yetkisiyle diğer kullanıcılar tarafından çalıştırılabilen yürütülebilir bir dosya üzerindeki izni temsil eder. Örneğin, kullanıcı ne zaman maksimum vi komutunu şu şekilde çalıştırır: kök, okuma/yazma izinlerine sahip olacaktır. kök. Setuid ile dosyaları tanımlamak için ls komut verin ve arayın s yürütme bitinin yerine bit x, aşağıdaki gibi:

ls -la /etc/passwd 
-rwsr-xr-x 1 kök kök 88464 14 Aralık 12:46 passwd

Diğer bazı örnekler şunlardır:

ls -la /bin/gpasswd
-rwsr-xr-x 1 kök kök 88464 14 Temmuz 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 kök kök 67816 21 Tem 2020 su
ls -la /newgrp
-rwsr-xr-x 1 kök kök 44784 14 Temmuz 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 kök kök 166056 19 Ocak 2021 sudo

Yürütülebilir dosyalar için setuid bitini ayarlamak için chmod komutunu aşağıdaki gibi kullanın:

chmod u+s /etc/passwd

Kök olmayan kullanıcılardan veya sahiplerden dosyaları yürütme iznini kaldırmak için:

chmod u-s /etc/passwd

GID Bitini Ayarla

Tartışıldığı gibi, set uid biti diğer kullanıcılara dosya erişimini kontrol ederken setgid (GID) biti ortak dizinler oluşturur. Bu, o dizinde oluşturulan herhangi bir dosyaya dizinin grubu tarafından erişilebilir olduğu anlamına gelir. Bu nedenle, tüm grup üyelerinin, sahibinin ayrıcalıkları olmadan yürütülebilir dosyaları çalıştırmasına izin verir ve bunları diğer kullanıcılardan korur.

Linux sisteminizde ortak bir dizin oluşturmak için şu adımları izleyin:

kullanarak bir grup oluşturun. grup ekle işbirliği için grup kimliği 415 olan komut:

groupadd -g 415 yöneticiler

eklemek için usermod komutunu kullanın. Johndosya erişimi/yürütme için gruba.

usermod -aG yöneticileri john

Kullan mkdir bir dizin oluşturma komutu:

mkdir /tmp/collaborative_dir

Kullan chgrp dizine atama komutu yöneticiler grup:

chgrp yöneticileri /tmp/collaborative_dir

Kullan chmod dizin iznini 2775 olarak değiştirme komutu. 2 bit, kullanıcıya ve gruba tam rwx atamak için set gid'i açar, 7, diğerleri için 5 (r-w).

chmod 2775 /tmp/collaborative_dir

Son olarak, kullanıcı hesabınızı şu şekilde değiştirin: John ve dosya oluştur dosya izinlerini kontrol etmek için ortak dizinde.

su - john
/tmp/collaborative_dir/file.txt öğesine dokunun

su komutu size bir kimlik doğrulama hatası verebilir. Bu durumda, şunu yazın sudo su köke geçme ve yeniden çalıştırma komutu su - john kullanıcı hesabını değiştirmek için

Şimdi dizin ve yeni oluşturulan dosya için ayarlanan GID bit(ler)ini kontrol etmek için izinleri listeleyin.

ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt 

Tipik bir senaryoda, john tarafından oluşturulan bir dosyaya atanmış bir john grubu olacaktır. Dosyayı belirli bir GID bit dizini içinde oluşturduğunuz için, dosyaya izinler atar. yöneticiler grup, gruba ait olan herkes, kullanıcı gibi Chris, buna erişimi olacak.İlişkili: Dokunma Kullanarak Linux'ta Yeni Dosyalar Nasıl Oluşturulur

Yapışkan Uçlar

SID ve GID bitlerinin aksine, yapışkan bitler, dosyaları ve dizinleri diğer kullanıcılar tarafından yeniden adlandırılmaya ve silinmeye karşı koruduğu için işlevsellik açısından farklılık gösterir. Normal dosya izni, yazma erişimi olan herhangi bir kullanıcının dosyayı silmesine veya yeniden adlandırmasına izin verir. Yapışkan bit seti ile dosyanın kök kullanıcısı veya sahibi değilseniz bu mümkün değildir.

Yapışkan bitleri kullanmak için ideal durum senaryosu, dosya oluşturma için tüm kullanıcıların erişebildiği dizindir. Örneğin, ls -ld kontrol etmek için komut \tmp dizin izinleri aşağıdaki gibidir:

Yapışkan bit olduğunu fark edebilirsiniz. T yürütme bitini değiştirir x. Kısıtlı bir silme dizini oluşturmak için verilen talimatları izleyin:

Şimdi başka bir dizin oluşturun /tmp Klasör:

mkdir /tmp/yeni_dir

Dosya izinlerini şu şekilde değiştirin: 1777 yapışkan biti ayarlamak için (T) ve tam dizin erişimi:

chmod 1777 /tmp/new_dir

Şimdi herhangi bir dosyayı kopyalayın /etc klasör /tmp/new_dir ve izinlerini şu şekilde değiştir 666:

cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/hizmetler

İzinleri görüntülemek için dizini ve tüm içeriğini listeleyin:

ls -ld /tmp/new_dir /tmp/new_dir/services

Yürütme biti yerine yapışkan biti fark edebilirsiniz; bu, dosya yapışkan bit dizininin içinde olduğu için yalnızca kök veya kullanıcı john'un dosyayı sebileceği anlamına gelir.

Linux'ta Özel Dosya İzinlerini Anlama

Makale, paylaşılan dosyalar ve dizinler üzerinde işbirliğini geliştirmek ve bunları yetkisiz erişime, yürütmeye ve silmeye karşı korumak için bu bitlerin nasıl ayarlanacağını gösterir. Bu bitlerle dosya/dizin oluşturmasanız bile, özel dosya izinlerini anlamak, özellikle sorun gidermede veya sistem yöneticisi olarak birçok durumda yardımcı olur. Oysa bu bitlerin akılsızca kullanılması çeşitli güvenlik açıklarına neden olabilir.

Linux'ta Dosya Kopyalarken Dosya İzinleri Nasıl Korunur?

Linux'ta dosya kopyalarken dosya izinlerini korumak ister misiniz? Bunu cp ve rsync kullanarak nasıl yapacağınız aşağıda açıklanmıştır.

Sonrakini Oku

PaylaşCıvıldamakE-posta
İlgili konular
  • Linux
  • Dosya yönetimi
  • Linux
Yazar hakkında
Rumaisa Niazi (3 Makale Yayınlandı)

Rumaisa, MUO'da serbest yazar. Bir Matematikçiden bir Bilgi Güvenliği meraklısına kadar uzun bir yol kat etti ve bir SOC Analisti olarak çalışıyor. İlgi alanları arasında yeni teknolojiler, Linux dağıtımları ve Bilgi Güvenliği ile ilgili her şey hakkında okuma ve yazma yer almaktadır.

Rumaisa Niazi'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın