Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Linux'da Dizin-Dosya İzinlerini "Özelleştirerek" Kullanımı

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,275
  • MFC Puanı
    15,970
Merhabalar

Linux izinleri, her kullanıcının kendisini geliştirmesinin ilk aşamalarında yakından aşina olduğu bir kavramdır. Sistemleri etkili bir şekilde yönetmek için komut dosyalarını yürütmemiz, dosyaları değiştirmemiz ve süreçleri çalıştırmamız gerekir, ancak İzin reddedildiğini gördüğümüzde ne olur ? Bu mesajı neden gördüğümüzü biliyor musunuz? Sorunun nedenini biliyorsanız, çözümü nasıl uygulayacağınızı biliyor musunuz?

Sembolik yöntem

Sembolik yöntem aşağıdaki sözdizimini kullanır:

Kod:
$ chmod WhoWhatWhich file | directory

WhoWhatWhich anlamı sırası ile....

Kim(Who) - kimlikleri temsil eder: u, g, o, a (kullanıcı, grup, diğer, tümü)
Ne(What) - eylemleri temsil eder: +, -, = (ekleme, kaldırma, tam olarak ayarlama)
Hangi(Which) - erişim seviyelerini temsil eder: r, w, x (okuma, yazma, yürütme)

Örnek olarak aşağıdaki hayali sözdizgesine bakın.

Kod:
$ chmod ug+rw linux'da özel izinlerin ayarlanması.pdf

Sayısal yöntem:

Sayısal yöntem, deneyimlerime göre, izinleri öğrenmenin ve uygulamanın en iyi yoludur. Aşağıdaki söz dizimine dayanmaktadır:

Kod:
$ chmod ### file | directory

Burada, soldan sağa, # karakteri bir erişim seviyesini temsil eder. Üç erişim seviyesi vardır - kullanıcı, grup ve diğerleri. Her basamağın ne olduğunu belirlemek için aşağıdakileri kullanırız:

0'dan başla
Eğer okuma izni ayarlanmalıdır eklemek 4 (r)
Eğer yazma izni ayarlanmalıdır eklemek 2 (w)
Eğer yürütme izni ayarlanmalıdır ekleyin 1 (x)

Bu, erişim düzeyine göre hesaplanır. Bu izin örneğini yorumlayalım:

-rw-r-x--- ifadesinin sayısal izin numarası 650 olarak temsil edilir . Bu 650 sayısına nasıl ulaştık?

Kullanıcının izinleri: rw- veya 4 + 2 = 6 (r = 4 + w=2 + -=0)
Grubun izinleri: rx veya 4 + 1 = 5 (r =4 + -=0 + x=1 )
Diğerlerinin izinleri: --- veya 0 (- =0 + - =0 + -=0)

Kod:
$ chmod 650 linux'da özel izinlerin ayarlanması.pdf

Artık Linux'ta izin hesaplamasının temellerini anladığınıza göre , işletim sistemindeki özel izinlere bakalım .

Özel izinler, kullanıcı , grup ve diğerlerine ek olarak dördüncü bir erişim düzeyini oluşturur . Özel izinler, standart izin setleri üzerinde (adından da anlaşılacağı gibi) ek ayrıcalıklara izin verir. Daha önce tartışılan her erişim seviyesi için özel bir izin seçeneği vardır. Set UID ile başlayarak her birine ayrı ayrı bakalım:

kullanıcı + s (özel) (SUID)

Yaygın olarak SUID olarak belirtilen , kullanıcı erişim düzeyi için özel iznin tek bir işlevi vardır: SUID'li bir dosya, komutu geçen kullanıcıdan bağımsız olarak her zaman dosyanın sahibi olan kullanıcı olarak yürütülür. Dosya sahibinin yürütme izinleri yoksa, burada büyük harf S kullanılır. .

Şimdi, bunu pratik bir örnekte görmek için, /usr/bin/passwdkomuta bakalım . Bu komut varsayılan olarak SUID izin setine sahiptir:

Kod:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 62024 Mar 22  2019 /usr/bin/passwd

s harfi, X kullanıcısının izinlerini yürütmek için gereklidir.

grup + s (özel) (SGID)

Genellikle SGID olarak belirtilen bu özel iznin birkaç işlevi vardır:

Bir dosya üzerinde ayarlanırsa, dosyanın, dosyanın sahibi olan grup olarak yürütülmesine izin verir (SUID'e benzer).Bir dizinde ayarlanmışsa, dizinde oluşturulan tüm dosyaların grup sahipliği, dizin sahibinin sahipliğine ayarlanır.

LINUX adında bir dizine sahip olduğumuz farzı misal sayalım

Kod:
$ ls -l
total 0
drwxrws---. 2 ayamutura ayamutura  81 Eki  7 11:31 LINUX

Bu izin kümesi bir küçük harf tarafından belirtilmektedir . Ayrıca, bir grubun üyeleri arasındaki işbirliği çabalarında sıklıkla kullanılan dizinler için özellikle yararlıdır. Grubun herhangi bir üyesi herhangi bir yeni dosyaya erişebilir. Bu, dosyaların yürütülmesi için de geçerlidir. Doğru kullanıldığında SGID çok güçlüdür.SUID için daha önce belirtildiği gibi , sahip grubun yürütme izinleri yoksa, büyük harf S kullanılır.

diğer + t (yapışkan)

Son özel izin "yapışkan bit" olarak adlandırılmıştır. Bu izin, tek tek dosyaları etkilemez. Bununla birlikte, dizin düzeyinde, dosya silinmesini kısıtlar. Bir dosyanın yalnızca sahibi (ve kökü ) o dizindeki dosyayı kaldırabilir. Bunun yaygın bir örneği /tmp dizindir:

Kod:
~$ ls -ld /tmp/
drwxrwxrwt 20 root root 4096 Eki 28 23:42 /tmp/

İzin seti küçük t harfiyle belirtilir , burada x normalde yürütme ayrıcalığını gösterir.

Şimdi konuyu toparlama zamanı (altın vuruş....!)

LINUX'DA İLERİ SEVİYE DOSYA/DİZİN ÖZEL İZİN SEVİYESİNİ BELİRLEYEBİLME....

Bir dosya veya dizinde özel izinler ayarlamak için, yukarıda standart izinler için belirtilen iki yöntemden birini kullanabilirsiniz: Sembolik veya sayısal.

Dizin üzerinde SGID ayarlamak istediğimizi varsayalım (LINUX klasörü)

Bunu sembolik yöntemi kullanarak yapmak için aşağıdakileri yapıyoruz:

Kod:
$ chmod g+s LINUX\

Sayısal yöntemi kullanarak, chmod komutuna dördüncü, önceki bir rakamı geçmemiz gerekir. Kullanılan rakam, standart izin rakamlarına benzer şekilde hesaplanır:

0'dan başla
SUID = 4
SGID = 2
Yapışkan = 1

Sözdizimi şöyledir:

Kod:
$ chmod X### file | directory

X'in özel izinleri içeren rakamdır. (0.............9' a kadar)

Komutsal SGID üzerinde LINUX dizini sayısal yöntem kullanarak:

Kod:
$ chmod 2770 LINUX/
$ ls -ld LINUX/
drwxrws---. 2 ayamutura ayamutura 113 Ekim  28 01:32 LINUX/

Sonuçta;

chmod komutunu kullanarak izinleri belirlemenin tanımlanmış iki yolu vardır : Sembolik ve sayısal. Her iki yöntem için gerekli söz dizimini ve hesaplamaları yukarıda irdeledik. Özel izinleri ve sistemdeki rollerini de değerlendirdik. Artık izinleri ve temel kavramları anladığınıza göre, işinizi engellemeye çalışan sistemin, sürekli sinir bozucu hal alan, İzin reddedildi hatasını çözebilirsiniz .
 
Üst Alt