top of page

Linux Dosya İzinleri ve Kullanıcılar-1

  • Yazarın fotoğrafı: Huseyin Şahan
    Huseyin Şahan
  • 20 Mar
  • 11 dakikada okunur

Linux dosya izinlerini anlayabilmemiz için öncelikle linuxdaki kullanıcıları, grupları ve diğer kullanıcıların ne anlama geldiğini ve bunları nasıl değiştirebileceğimizi ve yöneteceğimizi göreceğiz. Daha sonrasında bu bilgilerimiz sayesinde dosya izinlerine daha rahat bir bakış açısıyla yaklaşabiliriz. Örneğin bir dosya yalnızca bir kullanıcı tarafından veya bir grup tarafından erişilebilir veya bir dosyanın erişimi diğer kullanıcılara kapatılmış olabilir.


Bu blog yazımızda kullanıcıları görme, kullanıcı bilgilerini düzenleme , grup oluşturma ve kullanıcıları gruba ekleme konularını ele alacağız. O zaman başlayalım.


Sistemdeki Kullanıcıları ve Parolaları Görme


Sistemdeki kullanıcıları, /etc/passwd dosyasını okuyarak görebiliriz. cat veya more gibi araçlar ile bu dosyayı okuyabiliriz. Buradaki kullanıcı olarak gördüğünüz çoğu şey aslında sistemde çalışan yazılımlardır ve hepsi kabuğa erişimi olmaz. Bunun nedeni, örneğin bir ağ yazılımında güvenlik açığı ortaya çıktığını düşünün. Bu yazılımlar kendi alanında yani kök kullanıcı veya diğer kullanıcı bilgilerini kullanmadan kendi alanında çalışacaktır. Saldırgan aslında sizin diğer yazılımlarınıza müdahale edemez. Bu güvenlik açısından çok önemli bir özellik olarak karşımıza çıkmaktadır. Kısacası her yazılım aslında kendi alanında çalışan ayrı hesaplara sahiptir ve bu bilgisayardaki kullanıcı bilgilerinden soyut olup terminal erişimleri yoktur. Aşağıdaki komut yardımı ile dosyayı okuyalım.

darkside@debian:~$ cat /etc/passwd
ree

Burada root kullanıcısı normal bir kullanıcı hesabıdır ancak diğer hesaplar yazılım veya servislerin kullandığı kullanıcı adlarıdır. Burada root kullanıcısı /bin/bash yani bash kabuğunu kullanırken diğer hesaplarda /bin/false veya /user/sbin/nologin gibi kabuk erişimi vermeyen ifadeler var. Bu kabuk türlerinin ne olduğunu bilmiyorsanız

blogumuzu inceleyebilirsiniz. Bu blogda kullanıcı oluşturma ve engelleme gibi konuları ele almıştık. Ancak burada kullanıcı gruplarını göreceğimiz için de tekrardan kullanıcı ekleme yönetme ve silme gibi bu blogdan daha detaylı konuları ele alacağız.


Şimdi burada iki nokta(:) ile birbirinden ayrılan bölümleri görüyorsunuz. Toplam 7 bölümden oluşuyor. Şimdi bunların ne anlama geldiğini inceleyelim.

Örneğin aşağıdaki satırı ele alalım:

root:x:0:0:root:/root:/bin/bash

Bu satırın bölümlerini en soldan sağa doğru inceleyelim.

  • root

    • Kullanıcı Adı: Bu alan, hesabın adıyla ilgilidir. Burada root, en yüksek yetkilere sahip kullanıcıyı temsil eder. root kullanıcısı, tüm sistemi yönetme yetkisine sahip bir süper kullanıcıdır.

  • x

    • Parola: Bu alanda, x genellikle parolanın /etc/shadow dosyasındaki saklanmış bir şifreyle ilişkilendirildiğini belirtir. Eskiden burada şifre hash değeri bulunuyordu, ancak günümüzde güvenlik nedeniyle şifreler genellikle /etc/shadow dosyasında saklanır ve burada sadece bir işaret (genellikle x) bulunur.

  • 0

    • Kullanıcı ID (UID): Her kullanıcının sistemde bir numarası vardır ve bu numara UID olarak bilinir. root kullanıcısının UID'si 0'dır. UID 0, en yüksek yetkiyi simgeler, yani root kullanıcısının sisteme tam erişimi vardır.

  • 0

    • Grup ID (GID): Kullanıcının ait olduğu ana grup numarasını belirtir. Burada root kullanıcısının grup ID'si 0'dır, yani root kullanıcısı aynı adı taşıyan root grubunun üyesidir. UID ve GID genellikle aynı değerleri alır.

  • root

    • Kullanıcının Tam Adı (GECOS Alanı): Bu alan genellikle kullanıcının adı veya açıklama gibi ek bilgiler içerir. Burada, kullanıcı adıyla aynı şekilde root yazılmış. Bu alan, bazı sistemlerde kişinin gerçek adı veya başka bilgiler için kullanılabilir.

  • /root

    • Ana Dizin (Home Directory): Bu alan, kullanıcının ev dizinini belirtir. root kullanıcısının ev dizini /root'tur. Bu, root kullanıcısının tüm kişisel dosyalarını ve yapılandırma dosyalarını sakladığı yerdir.

  • /bin/bash

    • Kullanıcının Kabuk (Shell): Bu, kullanıcının giriş yaparken kullanacağı kabuk programını belirtir. Burada, root kullanıcısının kabuğu /bin/bash'tır, yani bu kullanıcı sisteme giriş yaptığında bash kabuğu çalıştırılır. bash (Bourne Again Shell) popüler bir komut satırı kabuğudur.


Aslında bu kategoride ilgileneceğimiz kısım kullanıcı ID ve grup ID değerleri olacaktır. Blogun ilerleyen kısımlarında bir grup oluşturacağı ve bu gruba kullanıcılar eklemeyi öğreneceğiz.


Aslında /etc/passwd dosyasındaki pass adı sizi yanıltmasın. Burada gördüğünüz gibi kullanıcıların parolaları hakkında bir bilgimiz yok. Bunun nedeni bu dosyanın her kullanıcı tarafından okunabilmesidir. Ancak geliştiriciler bu sorunu çözmek ve güvenliği sağlamak için parolaları başka dosyaya hashlenmiş bir şekilde koydular. Bu dosya /etc/shadow dosyasıdır. Bu dosyaya erişim kök yetkisi gerektir. Buradaki aşağıdaki komutla dosyayı okuyun ve çıktıları yorumlayalım.

root@debian:~# cat /etc/shadow

Burada kullanıcı parolalarını görebilirsiniz. Ancak birçoğu sistemdeki yazılımların kullandığı hesap olduğundan şifreleri yoktur. Burada " * " işareti varsa bu kullanıcı parolasının geçersiz olduğu ve giriş yapamayacağı söylenir. Yine " !* " işareti yine eski linux'ta kullanılan * işareti ile aynı anlama gelen bir işarettir. Her ikisinin anlamı aynıdır. Ancak yeni sistemlerde ünlem ve yıldız yerine sadece yıldız kullanılmaktadır.

ree

Burada root kullanıcısının şifresini hashlenmiş bir şekilde görebilirsiniz. Diğer sistem hesapları ise parolası yok yani kullanıcı giriş yapamaz. Burada root kullanıcısı üzerinden : ile ayrılan bölümlerin ne anlama geldiğine bakalım. En soldan sağa doğru:


  • root: Kullanıcı adı (root).

  • Parola Hash: Şifrenin hash'lenmiş hali.

  • 20129: Şifrenin son değiştirildiği gün sayısı (Unix epoch'tan).

  • 0: Şifreyi değiştirmek için minimum bekleme süresi (0 gün).

  • 99999: Şifrenin maksimum geçerlilik süresi (neredeyse sonsuza kadar geçerli).

  • 7: Şifre bitiminden 7 gün önce uyarı.

  • Boş: Şifrenin son kullanım tarihi belirtilmemiş.

  • Boş: Hesap kilitlenme tarihi belirtilmemiş.

  • Boş: Rezerv alan.


Buradaki değerleri kullanıcı hesabımız için parola oluştururken göreceğiz.


Sisteme Yeni Kullanıcı Ekleme


Yeni kullanıcı eklemek için useradd komutunu kullanacağız. Ancak bu komut kullanıcı oluştururken bir yapılandırma dosyasını kullanır. Yani yeni oluşturulan kullanıcı bu yapılandırma dosyasına göre oluşturulur.Bu ayarları görüntülemek için /usr/sbin/useradd -D komutu ile default yani varsayılanı görebiliriz.

root@debian:~# /usr/sbin/useradd -D

Bir kullanıcı oluşturulduğunda sistemde bu yapılandırma kullanılacak.

ree

Buradaki anahtar ve değerlerin ne anlama geldiğini açıklayalım:

  1. GROUP=100

    • Varsayılan Grup: Yeni kullanıcıların varsayılan olarak hangi gruba ait olacağını belirtir. Burada 100 numaralı grup belirtilmiştir. Bu durumda, yeni bir kullanıcı oluşturulduğunda, otomatik olarak 100 numaralı grup ile ilişkilendirilecektir. Eğer belirli bir grup belirtilmezse, bu varsayılan grup kullanılacaktır.

  2. HOME=/home

    • Ev Dizini: Yeni kullanıcıların ev dizini için varsayılan yol. Burada /home belirtilmiş, yani yeni kullanıcılar için varsayılan olarak ev dizini /home/kullanici_adi olarak oluşturulacaktır. Örneğin, alice adında bir kullanıcı eklendiğinde, ev dizini /home/alice olacaktır.

  3. INACTIVE=-1

    • Hesap Pasif Hale Getirme Süresi: Bu, kullanıcının hesabının ne zaman devre dışı bırakılacağını belirler. Eğer INACTIVE değeri -1 olarak ayarlanmışsa, bu, hesabın hiçbir zaman devre dışı bırakılmayacağı anlamına gelir. Bu durumda, kullanıcı hesabı aktif kalacaktır ve otomatik olarak kapanmaz.

  4. EXPIRE=

    • Hesap Geçerlilik Süresi: Bu, kullanıcının hesabının ne zaman sona ereceğini belirtir. Eğer burada bir tarih (YYYY-MM-DD formatında) belirtilirse, belirtilen tarihten sonra kullanıcı bu hesaba erişemez. Burada boş bırakıldığı için, kullanıcı hesabının geçerliliği süresizdir.

  5. SHELL=/bin/sh

    • Varsayılan Kabuk (Shell): Yeni kullanıcılar için varsayılan olarak kullanılacak kabuk programıdır. Burada /bin/sh belirtilmiş, yani yeni kullanıcıların sisteme giriş yaptıklarında kullanılacak kabuk sh olacaktır. sh, Unix/Linux sistemlerinde yaygın olarak kullanılan bir kabuktur.

  6. SKEL=/etc/skel

    • Sistem Şablon Dizin Yolu: Yeni kullanıcılar için ev dizinleri oluşturulurken, ev dizinlerine kopyalanacak başlangıç dosyalarının bulunduğu dizindir. Bu dizin, genellikle kullanıcıya ait bazı başlangıç dosyalarını (örneğin .bashrc, .profile) içerir. Burada, /etc/skel belirtilmiş, yani yeni bir kullanıcı oluşturulduğunda, /etc/skel dizinindeki dosyalar kullanıcının ev dizinine kopyalanacaktır.

  7. CREATE_MAIL_SPOOL=no

    • Posta Kutu (Mail Spool) Oluşturma: Bu seçenek, yeni kullanıcıların bir posta kutusu (mail spool) oluşturulup oluşturulmayacağını belirler. Burada no olarak ayarlanmış, yani yeni kullanıcılar için posta kutusu oluşturulmayacak.

  8. LOG_INIT=yes

    • Giriş Günlüğü Başlatma: Bu, kullanıcıların giriş yaptığı zaman giriş (login) günlüklerinin tutulup tutulmayacağını belirler. Eğer yes olarak ayarlanmışsa, bu, her yeni kullanıcı hesabı oluşturulduğunda giriş günlüğü kaydının başlatılacağı anlamına gelir. Bu seçenek, sistemdeki kullanıcı etkinliklerini izlemek ve denetlemek için önemlidir.


Ancak buradaki ayarları değiştirebiliriz. Bu ayarları değiştirmek için /etc/default/useradd dosyasını açn ve düzenleyelim. Örneğin yeni oluşturulan bir kullanıcı hesabının kullanacağı kabuk /bin/sh değilde /bin/bash olsun veya siz istediğiniz gibi düzenleyin. Dosyayı açtığınız zaman şu satırı değiştirin.

SHELL=/bin/bash

Burada kullanıcı oluşunca bash kabuğunu kullanabilecek.


Tamam buradaki değerlerin ne anlama geldiğini biliyorsunuz ve değerleri istediğiniz gibi değiştirebilirsiniz. Artık bir kullanıcı oluşturalım. Aşağıdaki gibi useradd ile yeni kullanıcı ekleyin. Ancak bu işlemi kök kullanıcı olarak yapmalısınız.

root@debian:~# useradd -m linuxsh

Burada linuxsh kullanıcısını oluşturdum. Değişikliği kontrol etmek için /etc/passwd dosyasını okuyabilirsiniz. Bu komutta -m ile kullanıcının ana dizinini home dizininde oluşturduk. bu parametre olmasa oluşmazdı. Yani /home/linuxsh dizini artık mevcut oldu. Bu komutun diğer parametrelerini aşağıda listeledik.


useradd parametreleri

1. -c comment

  • Açıklama: Kullanıcı hesabına bir yorum ekler. Bu, genellikle kullanıcı hakkında bilgi veya not eklemek için kullanılır.

  • Örnek: useradd -c "John Doe, Developer" john

2. -d home_dir

  • Açıklama: Kullanıcının ev dizini için farklı bir ad belirtir. Varsayılan olarak, bu dizin /home/kullanici_adi şeklinde oluşturulur.

  • Örnek: useradd -d /data/home/john john

3. -e expire_date

  • Açıklama: Hesabın son kullanma tarihini belirler. Bu tarih geçtikten sonra kullanıcı hesabı devre dışı olur.

  • Format: YYYY-MM-DD

  • Örnek: useradd -e 2025-12-31 john

4. -f inactive_days

  • Açıklama: Şifre süresi dolduktan sonra hesap ne kadar süre sonra devre dışı bırakılacağını belirtir.

  • Değerler:

    • 0: Şifre süresi bittiği anda hesap devre dışı olur.

    • -1: Bu özellik devre dışı bırakılır.

  • Örnek: useradd -f 30 john (Şifre bitiminden 30 gün sonra hesap devre dışı olur)

5. -g initial_group

  • Açıklama: Kullanıcı için ilk grup adı veya GID (Group ID) belirtir.

  • Örnek: useradd -g developers john

6. -G group,...

  • Açıklama: Kullanıcının üye olacağı ek grupları belirtir. Birden fazla grup, virgülle ayrılarak belirtilir.

  • Örnek: useradd -G admins,developers john

7. -k skel_dir

  • Açıklama: Kullanıcının ev dizinine /etc/skel dizinindeki dosyaları kopyalar. Bu, yeni kullanıcının başlangıç dosyalarını oluşturmak için kullanılır. -m parametresiyle birlikte kullanılmalıdır.

  • Örnek: useradd -k /etc/skel -m john

8. -m

  • Açıklama: Kullanıcının ev dizinini oluşturur. Bu, -d parametresiyle birlikte kullanılabilir.

  • Örnek: useradd -m john

9. -M

  • Açıklama: Kullanıcı için ev dizini oluşturmaz (varsayılan ayar ev dizini oluşturur).

  • Örnek: useradd -M john

10. -n

  • Açıklama: Kullanıcı adıyla aynı adı taşıyan yeni bir grup oluşturur.

  • Örnek: useradd -n john

11. -r

  • Açıklama: Kullanıcıyı sistem hesabı olarak oluşturur. Sistem hesapları genellikle servis ve sistem işlemleri için kullanılır.

  • Örnek: useradd -r -s /bin/false apache

12. -p passwd

  • Açıklama: Kullanıcı için varsayılan şifre belirler (şifre şifrelenmiş olmalıdır).

  • Örnek: useradd -p '$6$abcdef' john

13. -s shell

  • Açıklama: Kullanıcı için varsayılan giriş kabuğu belirler. Örneğin, /bin/bash veya /bin/sh.

  • Örnek: useradd -s /bin/bash john

14. -u uid

  • Açıklama: Kullanıcı için benzersiz bir UID (User ID) belirler.

  • Örnek: useradd -u 1500 john


useradd ile Varsayılan Ayarları Değiştirme: Bu aslında varsayılan ayarları kullanan dosya haricinde parametre ile bu dosya yerine doğrudan verdiğimiz değerlerle kullanıcı oluşturur.

  • -b default_home: Kullanıcıların ev dizinlerinin oluşturulacağı yolu değiştirir.

  • -e expiration_date: Yeni hesapların sona erme tarihini belirler.

  • -f inactive: Şifre sona erdikten sonra kaç gün içinde hesap devre dışı bırakılacağını belirtir.

  • -g group: Kullanıcı için varsayılan grup adı veya GID belirtir.

  • -s shell: Yeni kullanıcılar için varsayılan kabuğu belirtir.


Sistemden Kullanıcıyı Kaldırma


Sisteme çeşitli ayarlar ve parametre kullanarak yeni kullanıcı ekleyebileceğimizi gördük. Ancak kullanıcıyı nasıl kaldırabileceğimizde görelim. Bunun için userdel komutunu kullanacağız.

root@debian:~# userdel -r linuxsh

veya

root@debian:~# /usr/sbin/userdel -r linuxsh

Bu komut ile kullanıcıyı sistemden kaldırdık.


Kullanıcı Bilgilerini Düzenleme


Kullanıcı oluşturmayı zaten öğrendik. Ancak var olan kullanıcı hesaplarını düzenlemek isteyebilirsiniz. Burada birkaç araç ile kullanıcının hesabını düzenleyebiliriz.

usermod

Kullanıcı hesabı üzerinde düzenlemeler yapar (giriş adı, grup üyeliği gibi).

passwd

Mevcut bir kullanıcının şifresini değiştirir.

chpasswd

Bir dosyadaki kullanıcı adı ve şifre çiftlerini okuyarak şifreleri topluca günceller.

chage

Kullanıcı şifresinin sona erme tarihini ayarlamak için kullanılır.

chfn

Kullanıcı hesabının yorum (comment) bilgisini değiştirir.

chsh

Kullanıcı hesabının varsayılan kabuğunu değiştirir.


Şimdi her aracın nasıl kullanılacağını tek tek ele alalım ve komut satırında nasıl uygulayabileceğinizi gösterelim.


usermod

Bu araç kullanıcı bilgilerini düzenleyebilen çok güçlü bir araçtır. Burada bu aracın işe yarar birkaç parametresini kullanacağız.


  • -l: Kullanıcı adını değiştirir.

  • -L: Kullanıcı hesabını kilitler, yani kullanıcı giriş yapamaz.

  • -p: Kullanıcının şifresini değiştirir.

  • -U: Kilitli olan hesabı açar, yani kullanıcı tekrar giriş yapabilir.


Şimdi komutları tek tek ele alalım.


Kullanıcı hesabını değiştirmek için:

root@debian:~# usermod -l linuxch linuxsh

Burada linuxsh kullanısının ismini linuxch olarak değiştirdik.Ancak kullanıcının home dizini hala linuxsh olarak görünebilir.


Kullanıcı hesabını kilitlemek için:

root@debian:~# usermod -L linuxsh

linuxsh artık terminal oturumu açamayacak. Şifresini doğru girse bile yetkilendirme hatası verecektir.


Kullanıcının parolasını oluşturmek veya değiştirmek için:

root@debian:~# usermod -p linuxsh123  linuxsh

Burada şifrenin güvenli olmadığını biliyorum. Ama yinede test amaçlı kullanılabilir :). Burada şifrenizin oluşup oluşmadığını /etc/shadow dosyasından kontrol edebilirsiniz.Ancak dosyaya bakığınızda bu şifrenin hashlenmemiş olduğunu görürsünüz. Şifre oluşturmak için bu yöntemi kullanmayın. Eğer kullanacaksanız şifrenizi bir hash olarak verin. İşte bu şifrenin gözükmesi büyük sorun.

linuxsh:linuxsh123:20167:0:99999:7:::

Burada şifre kabak gibi ortada. Bu istemediğimiz bir durum ve şifreyi doğru girseniz bile giriş yaparken doğrulama hatası alırsınız Biraz sonra şifreyi daha güvenli olarak oluşturacağız.


Kilitlediğimiz hesabımızı tekrar açmak için aşağıdaki komutu kullanın.

root@debian:~# usermod -U linuxsh

passwd

Kullanıcı parolasını değiştirmek için güçlü bir araçtır. Eğer kök kullanıcı değilseniz sadece kendi şifrenizi değiştirir. Eğer kök kullanıcıysanız tüm hesapların şifresini değiştirebilirsiniz. Basit bir yazımı vardır:

root@debian:~# passwd linuxsh

passwd komutundan sonra kullanıcı adını verin. İşte tekrardan /etc/shadow dosyasına bakın bu sefer şifreyi hashleyecek ve giriş yaparken hata vermeyecek.

linuxsh:$y$j9T$rQXJ9/kCaIPOkID3hJSZv.$b18g3r/068UUat1ANFZ1iOoE1Zmq6H54ZgxLkLHYjZ0:20167:0:99999:7:::

Yeni hashlenmiş şifreye bakın ne kadarda güvenli :). Burada -e seçeneğini kullanırsanız kullanıcıyı bir sonraki seferde girişinde şifresini değiştirmeye zorlar.


Lütfen şifre oluşturmak için usermod kullanmayın eğer kullanacaksanız şifreyi düz metin olarak vermeyin. Şifre oluşturmak ve değiştirmek için passwd komutunu kullanın.


chpasswd

chpasswd ise toplu olarak kullanıcı şifrelerini değiştirmek için metin dosyasını kullanılır. Metin dosyası her kullanıcı için

kullanıcı_adı:parola

formatında olacak. Her kullanıcıyı yeni satıra ekleyin. Bu otomatik olarak kullanıcı adı varsa parolasını değiştirebilir. Aşağıda basit kullanımı verilmiştir.

root@debian:~# chpasswd < users.txt

< işareti verinin akış yönünü gösterir. Bu chpasswd aracına doğru akıyor. Eğer kullanıcı adı varsa bunun parolasını değiştirir. Yine kök kullanıcı iseniz tüm hesapları değiştir. Ancak kök kullanıcı değilseniz sadece sizin hesabınızı değiştirir.


chage

Bu komutta yine parola ve hesapların yönetimi için kapsamlı araçtır. Bu aracın parametrelerine hızlıca göz atalım:


  • -l komutu kullanıcı bilgilerini listeler:

root@debian:~# chage -l linuxsh

Bu parametre size kullanıcı hakkında bilgiler verir.


  • -m: Minimum gün sayısı (Şifre değiştirme için en az beklenmesi gereken gün sayısı)

    Kullanıcının şifresini değiştirmesi için minimum gün sayısını belirtir. Şifreyi daha erken değiştirmek engellenir.

root@debian:~# chage -m 7 linuxsh
  • -M: Maksimum gün sayısı (Şifre geçerlilik süresi)


    Kullanıcının şifresinin geçerlilik süresinin ne kadar olacağını belirler. Bu sürenin sonunda şifre değiştirilmeli.

root@debian:~# chage -M 30 linuxsh

  • -I: Şifre geçerliliği sonrası hesabın kilitlenmesi için geçerli gün sayısı

    Şifre geçerliliği sona erdikten sonra belirtilen süreyi aşan bir durumda hesap kilitlenir.

root@debian:~# chage -I 15 linuxsh

  • -E: Hesap sonlandırma tarihi

    Kullanıcının hesabının sonlanacağı tarihi belirtir. Bu tarihten sonra kullanıcı sisteme giriş yapamaz.

root@debian:~# chage -E 2025-12-31 linuxsh
  • -W: Şifre geçerliliği bitmeden önce uyarı gün sayısı

    Şifrenin süresi bitmeden önce kullanıcıya verilecek uyarı gün sayısını belirler.

root@debian:~# chage -W 7 linuxsh
  • Kullanıcının şifresini en son ne zaman değiştirdiğini belirtir. Şifre yaşlandırma işlemi için bu tarih önemlidir.Şifre yaşlandırma, şifrenin geçerlilik süresinin bitmeden önce düzenli aralıklarla şifrenin değiştirilmesi gerektiğini hatırlatan bir güvenlik önlemidir.

root@debian:~# chage -d 2025-03-01 linuxsh

Kullanıcı şifresinin geçerliliğini 90 gün yapmak, 10 gün önce uyarı vermek ve şifresinin değişmesinden sonra hesabı kilitlemek:

root@debian:~# chage -M 90 -W 10 -I 15 linuxsh

Bu kapsamlı aracın parametrelerini ihtiyacınız olduğunda gerekli parametreleri birleştirerek kullanabilirsiniz.


chfn

Kullanıcı hakkında parmak izi oluşturma veya değiştirme işlemini sağlar. Burada kullanıcının tam ismi , çalıştığı departman ve telefonu gibi bilgileri burada ekleyebilir ve değiştirebilirsiniz. Komutun kullanımı aşağıdaki gibidir.

root@debian:~# chfn linuxsh

Bu bilgileri görüntülemek için finger aracını kullanın. Eğer bu araç mevcut değilse paket yönetim aracınız(dpkg, apt, aptitude) gibi araçlarla kurun.

root@debian:~# finger linuxsh

Bu komut size girdiğiniz bilgileri gösterecektir.


chsh

Bu araç kullanıcının kabuğunu değiştirir. Yani bash kabuğu yerine sh kabuğu kullanabilirsiniz.Aşağıdaki komut ile kabuğu değiştirin.

root@debian:~# chsh -s /bin/sh linuxsh

Burada chsh ile kullanıcıların terminaldeki girişlerini kısıtlayabilir ve engelleyebiliriz. Ancak bu konuyu

blogumuzda ele almıştık. Bu blogu okuyarak bunu nasıl yapacağınızı görebilirsiniz.

Sistemdeki Grupları Görüntüleme ve Grup Oluşturma


Gruplar, birden fazla kullanıcının ortak kaynaklara erişimini kontrol etmek için kullanılır. Bir grup, aynı kaynağa (dosya, dizin veya cihaz gibi) erişim hakkı verir ve bu sayede birden fazla kullanıcı, belirli bir kaynağa aynı izinlere sahip olabilir. Bu, grup üyelerinin kolektif şekilde kaynakları yönetmesine olanak tanır.


Burada öncelikle sistemdeki grupları nasıl görebiliriz onu gösterelim.Bunun için /etc/group dosyasını cat ile terminale basalım:

root@debian:~# cat /etc/group

Burada yine servislerin kullandığı gruplar mevcuttur. Burada çıktı aşağıdaki gibi 4 bölümden oluşur.


ree

Burada soldan sağa doğru:

  • Grup Adı: Grup ismi (örneğin, rich, mama, test gibi). Örneğin burada root bir grup ismi.

  • Grup Parolası: Eski sistemlerde grup üyeleri için parola kullanılabilirdi, ancak genellikle bu alan boş bırakılır.

  • GID: Grup Kimlik Numarası (Group ID), her grubun benzersiz bir sayısal değeri vardır.Örneğin root için GID değeri 0 olarak verlmiştir.

  • Grup Üyeleri: Bu gruba ait kullanıcıların listesi. Örneğin cdrom ve floppy grubuna darkside kullanıcısı dahildir.


Yeni Grup Oluşturma

Yeni grup oluşturmak için groupadd komutunu veya /usr/sbin/groupadd çalıştırılabilir dosyasını kullanabiliriz.

root@debian:~# groupadd newgroup

veya

root@debian:~# /usr/sbin/groupadd newgroup2

şeklinde komutu kullanarak yeni grubu oluşturun ve /etc/group dosyasını kontrol edin.


Kullanıcıları gruba ekleme

Kullanıcıları gruba eklemek için usermod komutunu kullanacağız. Aşağıdaki komut gruba bir kullanıcıyı ekler:

root@debian:~# usermod -G newgroup linuxsh

Burada -G ile grup adını verin ve sonra eklemek istediğiniz kullanıcı adını verin. /etc/group dosyasını kontrol edin. Kullanıcının gruba eklendiğini göreceksiniz.

newgroup:x:1004:linuxsh

Ancak dikkat edin -g komutu kullanıcının varsayılan grubunu değiştirecektir. Ancak -G komutu kullanıcıyı bir gruba dahil edecektir. Bu farka dikkat edin. Eğer kullanıcının varsayılan grubunu değiştirmek istiyorsanız -g ama kullanıcıyı bir gruba dahil etmek için -G komutunu kullanabilirsiniz.


Grupları modifiye etme

Var olan grubun Id'sini veya adını değiştirmek için groupmod komutunu kullanın.

root@debian:~# groupmod -n newgroupv2 newgroup

newgroup adını newgroupv2 olarak değiştirdik.


Grupları Silme

Bir grubu silmek için groupdel komutunu kullanın.

root@debian:~# groupdel newgroupv2

Bu blog yazısında kullanıcı ve gruplar hakkında detaylı komutlar ve önemli dosyaların detaylı incelemesini yaptık. bu bilgiler dosya izinlerini anlamanız için değerlidir.


Bir blog yazısının daha sonuna geldik. Detaylı bir blog yazısı sunduğumuzu düşünüyoruz. Eğer aklınıza takılan bir nokta olursa yorularda bunu belirtmekten çekinmeyin. Görüşmek üzere ...

Comments


bottom of page