unix permissions file permissions unix with examples
Unix İzinleri: Unix'teki Farklı Dosya İzinlerinin neler olduğunu öğrenin
Unix, aynı kaynakların farklı kullanıcılar tarafından paylaşılabildiği çok kullanıcılı bir sistemdir.
Unix'teki tüm izinler, belirli dosyalara ve klasörlere erişimi belirli kullanıcılar veya kullanıcı gruplarıyla sınırlamaya dayanır.
=> Tam Unix Eğitim serisi için buraya tıklayın
Ne öğreneceksin:
- Unix İzinleri: Örneklerle Dosya İzinleri
- Erişim izinlerini değiştirmek için Unix komut satırı araçları
- Sonuç
- Önerilen Kaynaklar
Unix İzinleri: Örneklerle Dosya İzinleri
Bir dosyaya erişimin üç düzeyi vardır:
- Okuma izni - Yetki verilirse, kullanıcı dosyanın içeriğini okuyabilir.
- Yazma izni - Yetki verilirse, kullanıcı dosyayı değiştirebilir.
- Yürütme izni - Yetki verilirse, kullanıcı dosyayı bir program olarak çalıştırabilir.
Her dosya, dosyaya kimlerin erişebileceğini belirlemek için kullanılan bir dizi tanımlayıcıyla ilişkilendirilir:
- Kullanıcı Kimliği (UID) - Dosyanın sahibi olan kullanıcıyı belirtir. Varsayılan olarak bu, dosyanın yaratıcısıdır.
- Grup Kimliği (GID) - Dosyanın ait olduğu kullanıcı grubunu belirtir.
Son olarak, her dosyayla ilişkili üç erişim izni seti vardır:
- Kullanıcı izni - Dosyanın UID'siyle eşleşen kullanıcıya verilen erişim düzeyini belirtir.
- Grup izni - Dosyanın GID'siyle eşleşen gruplar halinde kullanıcılara verilen erişim düzeyini belirtir.
- Diğerleri izni - Eşleşen bir UID veya GID olmayan kullanıcılara verilen erişim düzeyini belirtir.
Birlikte, bu erişim kontrol şeması, Unix sistemini son derece güvenli hale getirirken aynı zamanda çok kullanıcılı bir sistem için gereken esnekliği sağlar.
ls -l komutu, geçerli klasördeki dosyaların her biriyle ilişkili izinleri görüntülemek için kullanılabilir.
Bu komutun örnek çıktısı aşağıda verilmiştir.
Misal:
bayraklar bağların sahibi grup boyutu değiştirilme tarihi adı
total of 24 drwxr-xr-x 7 user staff 224 Jun 21 15:26 . drwxrwxrwx 8 user staff 576 Jun 21 15:02. -rw-r--r-- 1 user staff 6 Jun 21 15:04 .hfile drwxr-xr-x 3 user staff 96 Jun 21 15:17 dir1 drwxr-xr-x 2 user staff 64 Jun 21 15:04 dir2 -rw-r--r-- 1 user staff 39 Jun 21 15:37 file1 -rw-r--r-- 1 user staff 35 Jun 21 15:32 file2
Bu çıktıda, 'toplam 24', listelenen dosyaların kapladığı toplam blok sayısını gösterir.
Kalan sütunlar:
- bayraklar - Dosya modunu ve dosya izinlerini gösteren bir bayrak koleksiyonu.
- bağlantılar - Dosyayla ilişkili bağlantıların sayısı.
- sahip - Dosyanın sahibi olan UID.
- grup - Dosyayla ilişkili GID'ler.
- boyut - Bayt cinsinden dosyanın boyutu.
- değiştirilme tarihi - Dosyada yapılan son değişikliğin ayı, tarihi, saati ve dakikası.
- isim - Dosya veya dizinin adı.
İlk sütundaki bayraklar, dosya modunu ve farklı izin kümelerini belirtir:
# 1) İlk karakter dosyanın türünü gösterir:
c ++ char * ile int
- -: sıradan bir dosyayı temsil eder
- d: bir dizini temsil eder
- c: bir karakter aygıt dosyasını temsil eder
- b: bir blok aygıt dosyasını temsil eder
# 2) Sonraki üç karakter kullanıcı izinlerini gösterir:
- Bu üçünden ilki, kullanıcının okuma iznine sahip olup olmadığını gösterir:
-
- -: Kullanıcının okuma iznine sahip olmadığını gösterir.
- r: Kullanıcının okuma iznine sahip olduğunu gösterir.
-
- İkinci karakter, kullanıcının yazma izni olup olmadığını gösterir:
-
- -: Kullanıcının yazma iznine sahip olmadığını gösterir.
- w: kullanıcının yazma izni olduğunu gösterir.
-
- Son karakter, kullanıcının izni uygulayıp uygulamadığını gösterir:
-
- -: Kullanıcının izni yürütmek zorunda olmadığını gösterir.
- x: kullanıcının izni yürüttüğünü gösterir.
-
# 3) Sonraki üç karakter, yukarıdaki kullanıcı izinlerine benzer şekilde grup izinlerini gösterir.
# 4) Son üç karakter, yukarıdaki kullanıcı izinlerine benzer şekilde genel izinleri gösterir.
Dosyanın sıradan bir dosya olması durumunda, okuma izni kullanıcının dosyayı açmasına ve içeriğini incelemesine izin verir. Yazma izni, kullanıcının dosyanın içeriğini değiştirmesine izin verir. Ve yürütme izni, kullanıcının dosyayı bir program olarak çalıştırmasına izin verir.
Dosyanın bir dizin olması durumunda, okuma izni kullanıcının dizinin içeriğini listelemesine izin verir. Yazma izni, kullanıcıların dizinde yeni bir dosya oluşturmasına ve buradan bir dosya veya dizini kaldırmasına izin verir. Yürütme izni, kullanıcının dizinde arama yapmasına izin verir.
Erişim izinlerini değiştirmek için Unix komut satırı araçları
Unix, erişim izinlerini değiştirmek için bir dizi komut satırı aracı sağlar:
Erişim izinlerini yalnızca dosyanın sahibinin değiştirebileceğini unutmayın.
1. chmod : dosya erişim izinlerini değiştir
- açıklama: Bu komut, dosya izinlerini değiştirmek için kullanılır. Bu izinler, sahip, grup ve diğerleri için okuma, yazma ve yürütme iznidir.
- sözdizimi (sembolik mod) :
chmod (ugoa)((+-=)(mode)) file
- İlk isteğe bağlı parametre kimin - bu (u) ser, (g) grup, (o) thers veya (a) ll olabilir
- İkinci isteğe bağlı parametre opcode'u belirtir - bu, izin eklemek (+), kaldırmak (-) veya atamak (=) için olabilir.
- Üçüncü isteğe bağlı parametre modu gösterir - bu (r) ead, (w) rite veya e (x) ecute olabilir.
Misal :Dosya1 için kullanıcı, grup ve diğerleri için yazma izni ekleyin
$ ls -l
-rw-r – r– 1 kullanıcı personeli 39 Haz 21 15:37 dosya1
-rw-r – r– 1 kullanıcı personeli 35 Haz 21 15:32 dosya2
$ chmod ugo+w file1 $ ls -l
-rw-rw-rw- 1 kullanıcı personeli 39 Haz 21 15:37 dosya1
-rw-r – r– 1 kullanıcı personeli 35 Haz 21 15:32 dosya2
$ chmod o-w file1 $ ls -l
-rw-rw-r– 1 kullanıcı personeli 39 Haz 21 15:37 dosya1
-rw-r – r– 1 kullanıcı personeli 35 Haz 21 15:32 dosya2
- sözdizimi (sayısal mod) :
chmod (mode) file
- Mod, üç rakamın birleşimidir - ilk rakam kullanıcı için izni, grup için ikinci rakam ve diğerleri için üçüncü rakamdır.
- Her basamak, ilişkili izinler eklenerek hesaplanır. Okuma izni '4', yazma izni '2' ve yürütme izni '1' dir.
- Misal :Kullanıcıya okuma / yazma / yürütme izni verin, gruba okuma / yürütme izni verin ve diğerlerine yürütme izni verin.
$ ls -l
-rw-r – r– 1 kullanıcı personeli 39 Haz 21 15:37 dosya1
-rw-r – r– 1 kullanıcı personeli 35 Haz 21 15:32 dosya2
$ chmod 777 file1 $ ls -l
-rwxrwxrwx 1 kullanıcı personeli 39 Haz 21 15:37 dosya1
-rw-r – r– 1 kullanıcı personeli 35 Haz 21 15:32 dosya2
2. chown : dosyanın sahipliğini değiştir.
- açıklama : Yalnızca dosyanın sahibi, dosya sahipliğini değiştirme hakkına sahiptir.
- sözdizimi : chown (sahip) (dosya)
- Misal :Şu anda mevcut kullanıcıya ait olduğunu varsayarak dosya1'in sahibini kullanıcı2 olarak değiştirin
$ chown user2 file1
3. chgrp : dosyanın grup sahipliğini değiştirmenizi sağlar.
- açıklama : Yalnızca dosyanın sahibi, dosya sahipliğini değiştirme hakkına sahiptir.
- sözdizimi : chgrp (grup) (dosya)
- Misal :Şu anda geçerli kullanıcıya ait olduğunu varsayarak dosya1 grubunu grup2 olarak değiştirin.
$ chgrp group2 file1
Yeni bir dosya oluştururken, Unix varsayılan dosya izinlerini belirler. Unix, varsayılan izinlere karar vermek için umask adlı bir değişkende depolanan değeri kullanır. Umask değeri Unix'e üç izin kümesinden hangisinin devre dışı bırakılması gerektiğini söyler.
Bayrak, her biri kullanıcı, grup ve diğerleri için izin maskelerini temsil eden üç sekizlik rakamdan oluşur. Varsayılan izinler, umask değerinin dizinler için '777' den ve dosyalar için '666' dan çıkarılmasıyla belirlenir. Umask'in varsayılan değeri '022' dir.
4. umask : varsayılan erişim izinlerini değiştir
en iyi veritabanı yazılımı nedir
- açıklama: Bu komut, varsayılan dosya izinlerini ayarlamak için kullanılır. Bu izinler, sahip, grup ve diğerleri için okuma, yazma ve yürütme izinleridir.
- sözdizimi : umask (mod)
- Mod, üç rakamın birleşimidir - ilk rakam kullanıcı için izni, grup için ikinci rakam ve diğerleri için üçüncü rakamdır.
- Her basamak, ilişkili izinler eklenerek hesaplanır. Okuma izni '4', yazma izni '2' ve yürütme izni '1' dir.
Misal :Kullanıcıya okuma / yazma / yürütme izni verin ve gruba veya başkalarına izin vermeyin. yani dosyalar için izin 600, dizinler için ise 700 olacaktır.
$ umask 077
- Misal :Kullanıcıya okuma / yazma / yürütme izni verin, gruba veya diğerlerine dizinler için okuma / yürütme izinleri ve diğer dosyalar için gruba veya diğerlerine salt okunur izin verin. yani dosyalar için izin 644, dizinler için ise 755 olacaktır.
$ umask 022
Sonuç
Unix'teki izinler 'kullanıcı', 'grup' ve 'Diğer' olarak adlandırılan tüm kullanıcılar için olabilir.
İzin bayrakları, bağlantı sayısı, sahip, grup, boyut, son değişiklik tarihi, dosya vb. Gibi ayrıntılar, 'ls-l' komutuyla kolayca elde edilebilir.
=> Tam Unix Eğitim serisi için buraya tıklayın
PREV Eğitimi | SONRAKİ Eğitici
Önerilen Kaynaklar
- Unix Dosya Erişim İzinleri: Unix Chmod, Chown ve Chgrp
- Örneklerle Unix'te Kesme Komutu
- Unix'te Dosya Manipülasyonu: Unix Dosya Sistemine Genel Bakış
- Unix Komutları: Örneklerle Temel ve Gelişmiş Unix Komutları
- Unix'te Bul Komutu: Unix Find Dosyası ile Dosyaları Bul (Örnekler)
- Yeni Başlayanlar İçin UNIX Eğitimi (20'den Fazla Kapsamlı Unix Eğitim Videosu)
- Unix Metin İşleme Komutları: Örneklerle Unix Filtreleri
- Dosya Manipülasyonu için Unix Özel Karakterleri veya Metakarakterleri