Bu dersimizde Linux Grup Yönetimi ve Komutları, Dosya izinleri konusunu ele alacağız. addgroup komutu ile grup eklemeyi, chmod komutu ile dosya izinlerini değiştirmeyi, chgrp komutu ile grup değiştirmeyi, chown komutu ile de dosya sahipliğini değiştirmeyi uygulamalı ve görsel olarak sizlere sunacağız.

Linux hakkında hiçbir fikriniz yoksa, bu derse başlamadan önce “Temel Linux Komutları” adlı makaleyi okumanızı tavsiye ederiz.

addgroup Komutu (Grup Ekleme)

 

Linux’ta addgroup komutu ile grup ekleyebilirsiniz. Ancak komutun kullanımı, admin yetkisi gerektirir. Haliyle sudo komutu ile beraber kullanmanız gerekir.

komutu ile yazilim adında bir grup oluşturduk. Oluşturulan grubun ID si 1001 dir. (GID – Group ID)

Linux Grup Yonetimi dersleri addgroup komutu kullanimi

Oluşturduğumuz grubun kontrolünü yapalım. Linux’da oluşturulan grup bilgileri etc dizininin altındaki group dosyasında yer alır. (etc/group)

İlk olarak “ cd / ” komutu ile root dizinine geçelim. Sonra ” ls ” komutunu çalıştırdığımızda bu dizindeki etc dizinini görebiliriz. ” cd etc ” diyerek etc dizinine geçelim. Sonra

komutunu çalıştırarak group dosyasının içeriğini kontrol edelim. Aşağıdaki resimde  gördüğünüz gibi yazilim grubu en alt satırda bulunmaktadır.

Linux Grup Yonetimi dersleri group dosyasi icerigi

Şimdi de oluşturduğumuz gruba kullanıcı ekleyelim.

Linux’ta kullanıcı nasıl eklenir, silinir ve benzeri detayları bilmiyorsanız “Linux Kullanıcı Yönetimi ve Komutları” makalesini okuyabilirsiniz.

İlk olarak elektro adında bir kullanıcı ekleyelim.

komutu ile elektro adında bir kullanıcı ekledik.

linux grup yonetimi dersleri kullanici ekleme

Kullanıcımızın eklenip eklenmediğini kontrol etmek için “ cat passwd ” komutunu çalıştırdık. elektro kullanıcısının eklenmiş olduğunu gördük.

linux grup yonetimi dersleri kullanici bilgileri goruntule

Yukarıdaki resme göre elektro kullanıcımızın UID(User ID) ‘si 1001 iken grup ID’si 1002 olarak gözüküyor. 1001 nolu grup ID’si (GID), yazilim grubu için ayrılmıştı.

elektro kullanıcısını 1001 ID li yazilim grubuna eklemek için gereken kod ise

komutudur. Komut uygulaması aşağıdaki gibidir.

linux grup yonetimi gruba kullanıcı ekleme

elektro kullanıcısının bilgilerini kontrol edelim. tail komutu ile passwd içeriğinin son satırı olan elektro kullanıcısına ait olan satırı yazdıralım.

komutu ile elektro kullanıcısının bilgilerini getirmiş olduk.

linux grup yonetimi tail komutu kullanimi passwd dosyasi

Resimde elektro kullanıcısının GID sinin hala 1002 olarak kaldığını görüyoruz. ” cat /etc/group ” komutu ile grup içeriklerine bakalım. Komutu çalıştırdığımızda aşağıdaki gibi bir sonuç karşımıza geldi :

Linux Grup Yonetimi dersleri group dosyasi icerigi 2

Sondan ikinci satıra bakarsanız, yazilim grubu içerisinde elektro kullanıcısı gözüküyor. Ama elektro kullanıcısı aynı zamanda  1002 ID li grup içerisinde de yer alıyor. Yani elektro kullanıcısı hem 1001, hem de 1002 ID li grupların üyesidir. tail komutu ile gördüğümüz sonuç ise ilk üye olduğu gruptur.

Şimdi ” sudo adduser python” komutu ile python adında bir kullanıcı ekleyelim. Sonrasında

komutu ile python kullanıcısını yazilim grubuna ekledik. Şimdi de tail komutunu kullanarak group dosyasının son 4 satırını getirelim.

linux grup yonetimi tail komutu kullanimi group dosyasi

Görüldüğü gibi elektro ve python kullanıcıları yazilim grubunun içerisinde yer alıyor.

Şimdi aklınıza grup yapmanın ne esprisi var gibi bir şeyler geçebilir. Mesela elektro kullanıcısının elinde kodlar.txt adında bir dosya olmuş olsun.

linux grup yonetimi dosya erisimi avantaji

Resimde dosya bilgisinin en solunda rw- rw- r– şeklinde bir ifade yer alıyor. Bunların ne anlama geldiğini “ Linux Dosya Klasör İşlemleri ve Komutları” makalemizde ayrıntılı olarak ele almıştık.

Kısaca ifade edecek olursak, kodlar.txt dosyasına erişim yetkisini ifade ediyor. İlk üçlü kullanıcı erişim bilgisini (rw- : read, write, -), ikinci üçlü grup erişim bilgisini (rw- : read, write, -) ve son üçlü de kullanıcı ve grup dışındakilerin erişim bilgisini verir. (r–)

kodlar.txt dosyasına kullanıcı ve grup okuma, yazma yetkisine sahipken bunların dışındakiler sadece okuma yetkisine sahipler.

 

chmod Komutu (Dosya İzinlerini Değiştirme)

 

kodlar.txt dosyasından bahsetmiştik. Bu dosyanın kullanıcı ve grup dışındakilerin okuma izinleri olduğunu söylemiştik. Peki biz bu izinleri değiştirebilir miyiz?

chmod Komutu, change mod kelimelerinden kısaltılmıştır.

Dosya hakları bazı sayılarla ifade ediliyor. Bunlar :

  • 1 : Execute yani çalıştırma hakkıdır.
  • 2 : Write yani yazma hakkıdır.
  • 4 : Read yani okuma hakkıdır.

Şimdi kodlar.txt dosyası üzerinde bu sayıları kullanarak chmod komutunu uygulayalım.

komutu ile kodlar.txt dosyasının erişim iznini değiştirmiş olduk. Yeni izinler şu şekildedir : Kullanıcı izni (  -w- : okuyamaz, yazabilir ve uygulayamaz), Grup İzni ( — : hiç bir şey yapamaz, ne okuyabilr ne yazabilir ne uygulayabilir) Kullanıcı ve Grup dışındakiler (—: hiç bir izin verilmemiş)

linux grup yonetimi dosya izinleri degistirme chmod komutu 1

1,2 ve 4 rakamlarını onluk sistemdeki sayılar olarak düşünürsek, bir kullanıcıya Çalıştırma ve Yazma hakkı vermek istiyorsanız 1+2=3 değerini alırken, Hem çalıştırma hem yazma hem de okuma izni vermek istiyorsanız 1+2+4= 7 değerini vermelisiniz.

200 sayısı için düşünürsek; ABC şeklinde ele alırsak, A:2 dir (kullanıcı iznidir) ve yazma hakkını ifade eder. B ve C nin sıfır olması da grup ve diğerlerinin hiçbir hakka sahip olmadığını ifade eder.

3 tip kullanıcımızın üçüne de tüm izinleri vermek istersek 777 sayısını vermemiz gerekir.

1, 2, ve 4 rakamlarını decimal değil de binary olarak düşünerek,  200 rakamını irdeleyelim. ABC şeklinde basamakları ifade edersek; A basamağı kullanıcı yetkisini, B basamağı grup yetkisini ve C basamağı da grup ve kullanıcı dışındaki herkesin yetkisini ifade eder.

Binary olarak : 1 – 001, 2 – 010, 3 – 011, 4 -100, 5 -101, 6- 110 ve 7 – 111 şeklinde ifade edilir. Bu rakamları rwx basamaklarına uyarlarsak rwx -111 olduğu durum 7 durumudur. ve tüm yetkilere sahiptir.

Mesela kodlar.txt dosyası üzerindeki kullanıcı yetkisinin Read ve Write yani okuyabilir ve yazabilir olmasını istiyorsak. rwx  olarak düşündüğümüzde r ve w ‘nun 1 olması gerekir : 110 sayısını elde ederiz. Bu sayının decimal karşılığı ise 6 dır.

Gruptakilere yetki olarak sadece Write ve Execute yetkisi verelim. rwx olarak düşündüğümüzde , r – 0, w – 1 ve x -1 olmalıdır. 011 sayısını vereceğiz. Bu sayının decimal karşılığı ise 3’tür.

Diğer kullanıcılara da yetki olarak sadece Read  ve Execute yapabilsinler. rwx olarak düşündüğümüzde; r -1, w – 0 ve x -1 olmalıdır. 101 sayısını vereceğiz. Bu sayının decimal karşılığı ise 5’tir.

Toparlayacak olursak ABC şeklinde A (kullanıcımız) – 6 , B (grubumuz) – 3 ve C (Diğerleri) -5 olacak şekilde 635 sayısını vermeliyiz.

komutu ile

linux grup yonetimi dersleri dosya izni degistirme chmod komutu kullanimi

Şimdi izinleri kontrol edelim. Üçlümüz şöyle : rw- , -wx , r-x şeklinde olmalıdır.  Yukarıda hesapladığımız değerlerle örtüşüyor.

Bir dosyaya tüm izinleri vermek istiyorsak yani okuma, yazma ve uygulama izinlerini vermek istersek, rwx değerlerinin üçünün de 1 olması gerekiyor.

Yani binary sistemde 111 olması gerekir. Bu da decimal’a çevirirsek 7 sayısına karşılık gelir. ABC şeklinde 3 kullanıcı grubunu ifade edersek 777 değeri ile herkese her izni vermiş oluruz.

 

chgrp Komutu (Grup Değiştirme)

 

kodlar.txt dosyası için gruptakilere  yazma izni verdik. Ancak “ su python ” komutu ile python kullanıcısına geçtiğimizde yazma işlemini yapamadık.

linux grup yonetimi dersleri dosya izni degistirme chmod komutu kullanimi

Bunun sebebi  kodlar.txt dosyasının kullanıcı ve grup bilgisinin ikisinin de elektro olmasıdır. elektro grubu python kullanıcısı için yabancı bir gruptur. Bu sebeple yazma iznine sahip değildir.

Bu durumda elektro kullanıcısı,  dosyanın grubunu yazilim olarak değiştirirse sorun çözülecektir. Bunun için dosyanın grubunun değiştirilmesi gerekiyor.

Grup değiştirmek için chgrp komutu kullanılır. chgrp ; change group kelimelerinin kısaltılmış halidir.

chgrp [degisecekGrp] [dosyaDizinismi]

diyerek elektro kullanıcısı kodlar.txt dosyasının grubunu yazilim yapmış olduk. Artık bu gruptakiler bu dosyaya yazma hakkına sahip oldular.

linux grup yonetimi dersleri chgrp komutu kullanimi

 

chown Komutu (Dosya Sahibini Değiştirme)

 

chown Komutu ; change owner kelimelerinden kısaltılmıştır. chown Komutu ile bir dosyanın sahibini değiştirebilirsiniz.

chown [yeniSahipKullaniciAdı] [DosyaAdı]

şeklinde kullanabilirsiniz.

Uygulamasını kodlar.txt dosyamız üzerinde yapalım. Biliyorsunuz kodlar.txt dosyasının sahibi elektro kullanıcısı idi. elektro kendisi sahiplik iznini devredebiliyor mu? Hayır yapamadığını kontrol edebilirsiniz.

komutunu çalıştırdığımızda elektro kullanıcısı kendi dosyasının yeni kullanıcısı olarak python’u belirleyemedi. Biz de admin yetkisine sahip olan elektroyazilim kullanıcısına geçiş yapıp admin yetkisi ile bu kodu çalıştırdık. Sonuç aşağıdaki gibidir.

linux grup yonetimi chown komutu kullanimi

Makalemizi burada noktalıyoruz. Konuyla alakalı herhangi bir sorunuz olursa aşağıdaki yorum panelinden bizlerle paylaşabilirsiniz. İyi çalışmalar

 

Pin It on Pinterest

Daha fazla Linux
Linux Kullanıcı Yönetimi ve Komutları
Linux Kullanıcı Yönetimi ve Komutları

Bu makalemizde Linux Kullanıcı Yönetimi ve komutları üzerinde duracağız. Basitçe Linux'ta kullanıcıları listelemeyi, kullanıcı eklemeyi, kullanıcıların şifresini değiştirmeyi, kullanıcılar arası...

Kapat