Linux Kullanıcı Hesaplarını Düzenlemek (usermod)

İçerik:

  1. Kullanıcı ID Değerini Değiştirmek (usermod -u)
  2. Hesap Kilitlemek (usermod -L)
  3. Hesap Kilidini Açmak (usermod -U)
  4. Kullanıcı Adı Değiştirmek (usermod -l)
  5. Kullanıcı için Açıklama Eklemek (usermond -c)
  6. Home Dizinini Değiştirmek (usermod -d)
  7. Hesaba Son Kullanma Tarihi Eklemek (usermod -e)

Kullanıcı hesaplarını düzenlemek için usermod komutu kullanılabilir. Ayrıca bir kullanıcı hesabını düzenleyebilmek için root yetkisine sahip olmanız gerekmektedir.

Kullanıcı ID Değerini Değiştirmek (usermod -u <id> <kullanıcı>)

Kullanıcının id bilgileri id komutu kullanılarak öğrenilebilir.

manual@pc:~$ id
uid=1002(manual) gid=1002(manual) gruplar=1002(manual)

manual@pc:~$ id root
uid=0(root) gid=0(root) gruplar=0(root)

Parametre olarak kullanıcı adı verilebilir eğer parametre verilmez ise bulunduğunuz kullanıcının id ve gid değerlerini verir.


Bir kullanıcının id değerini değiştirmek için usermod -u <id> <kullanıcı> komutu kullanılabilir. manual adında bir kullanıcımız olsun.

root@pc:~$ tail -1 /etc/passwd
manual:x:1001:1001:manual,,,:/home/manual:/bin/bash

root@pc:~$ usermod -u 2000 manual

root@pc:~$ id manual
uid=2000(manual) gid=1001(manual) gruplar=1001(manual)

Yukarıdaki örnekte manual kullanıcısının 1001 olan id değerini 2000 değeri ile değiştirdik.

Hesap Kitlemek (usermod -L <kullanıcıadı>)

Kullanıcı hesabını kilitlemek için usermod -L <kullanıcıadı> komutunu verebiliriz.

root@pc:/home# tail -1 /etc/passwd; tail -1 /etc/shadow
manual:x:1001:1001:manual,,,:/home/manual:/bin/bash
manual:$6$8SOeat1v$AR1ATAosLnhUV3sMKpfTvwP.aR/O9cz.a0PfwBGBaoE2hM24qXeKwrhCTJ5MyZI6DjzaVh2Hq1YLHpu5/arsP0:17507:0:99999:7:::

root@pc:/home# usermod -L manual

root@pc:/home# tail -1 /etc/passwd; tail -1 /etc/shadow
manual:x:1001:1001:manual,,,:/home/manual:/bin/bash
manual:!$6$8SOeat1v$AR1ATAosLnhUV3sMKpfTvwP.aR/O9cz.a0PfwBGBaoE2hM24qXeKwrhCTJ5MyZI6DjzaVh2Hq1YLHpu5/arsP0:17507:0:99999:7:::

root@pc:/home# login manual
Parola:

Giriş geçersiz

Yukarıdaki örnekte ilk önce shadow ve passwd dosyalarının son satırını ekrana yazdırdık daha sonra bu hesabı kilitledik ve tekrar bu dosyalarının son satırını ekrana yazdırdık. Hesabı kilitledikten sonra hesaba giriş yapmayı denesekte hesaba giriş başarısız.

Bir kullanıcı hesabını kilitlemek için /etc/shadow dosyasında kitlenmek istenen hesabın şifre alanının başına !(ünlem) işareti koyularak hesap kilitlenebilir. Ancak yukarıdaki örnekte olduğu gibi bu işlemi usermod komutu ile de yapabiliyoruz.

Hesap Kilidini Açmak (usermod -U <kullanıcıadı>)

Kilitlediğimiz hesabı usermod komutunu kullanarak açabiliriz.

root@pardus:/home# tail -1 /etc/passwd; tail -1 /etc/shadow
manual:x:1001:1001:manual,,,:/home/manual:/bin/bash
manual:!$6$8SOeat1v$AR1ATAosLnhUV3sMKpfTvwP.aR/O9cz.a0PfwBGBaoE2hM24qXeKwrhCTJ5MyZI6DjzaVh2Hq1YLHpu5/arsP0:17507:0:99999:7:::

root@pardus:/home# usermod -U manual

root@pardus:/home# tail -1 /etc/passwd; tail -1 /etc/shadow
manual:x:1001:1001:manual,,,:/home/manual:/bin/bash
manual:$6$8SOeat1v$AR1ATAosLnhUV3sMKpfTvwP.aR/O9cz.a0PfwBGBaoE2hM24qXeKwrhCTJ5MyZI6DjzaVh2Hq1YLHpu5/arsP0:17507:0:99999:7:::

root@pc:/home# login manual
Parola:

The programs included with the Pardus GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Pardus GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

manual@pc:~$ whoami
manual

usermod -U manual komutunu çalıştırdıktan sonra hesabın kilidinin açıldığını hem shadow dosyasında şifre alanının başından ! işaretinin kalkmasıyla anlıyoruz hemde hesabımıza sorunsuz giriş yapabildiğimiz için anlıyoruz.

Kullanıcı Adı Değiştirmek (usermod -l <yeniisim> <eskiisim>)

Kullanıcı adı değiştirmek içinde usermod komutu kullanılabilir.

root@pc:/home# ls
manual

root@pc:/home# tail -1 /etc/passwd
manual:x:1001:1001:manual,,,:/home/manual:/bin/bash

root@pc:/home# usermod -l blabla manual

root@pc:/home# tail -1 /etc/passwd
blabla:x:1001:1001:manual,,,:/home/manual:/bin/bash

root@pc:/home# ls
manual

Yukarıdaki örnekte de görüldüğü gibi bu komut kullanıcı adını değiştirdi ancak kukllanıcı home dizininin adı aynı kaldı.

Home Dizinini Değiştirmek (usermod <kullanıcı> -d /home/yenihomedizini)

Usermod komutu ile kullanıcıların home dizinlerini değiştirebiliriz. Ancak bu home dizininde yeni bir dizin oluşturmayacaktır. Sadece passwd dosyasında kullanılacak home dizinini değiştirir. Home dizini el ile oluşturulmalıdır ya da -m parametresi kullanılarak eski home dizini yeni home dizinine kopyalayabiliriz.

root@pc:/home# ls
manual

root@pc:/home# tail -1 /etc/passwd
blabla:x:1001:1001:manual,,,:/home/manual:/bin/bash

root@pc:/home# usermod -d /home/yenihomedizini blabla

root@pc:/home# ls
manual

root@pc:/home# tail -1 /etc/passwd
blabla:x:1001:1001:manual,,,:/home/yenihomedizini:/bin/bash

Çıktıda görüldüğü gibi /etc/passwd dosyasında home dizinini değiştirdik ancak /home klasörü altında bu dizin oluşmadı şimdi iki seçeneğimiz var ya el ile bu home dizinini oluşturacağız ya da -m parametresi ile eski dizindeki verileri bu dizine taşıyacağız.

root@pc:/home# ls
manual

root@pc:/home# tail -1 /etc/passwd
blabla:x:1001:1001:manual,,,:/home/manual:/bin/bash

root@pc:/home# usermod -m -d /home/yenihomedizini blabla

root@pc:/home# ls
yenihomedizini

root@pc:/home# tail -1 /etc/passwd
blabla:x:1001:1001:manual,,,:/home/yenihomedizini:/bin/bash

-m parametresi kullanıldığında eski home dizininin adınında değiştiğini görebiliyoruz.

Kullanıcı için Açıklama Eklemek (usermod -c <açıklama> <kullanıcıadı>)

Kullanıcıların passwd dosyasındaki açıklama alanlarına istenilen değer eklenebilir.

root@pardus:/home# tail -1 /etc/passwd
blabla:x:1001:1001:manual,,,:/home/yenihomedizini:/bin/bash

root@pc:/home# usermod blabla -c acıklama

root@pc:/home# tail -1 /etc/passwd
blabla:x:1001:1001:acıklama:/home/yenihomedizini:/bin/bash

root@pc:/home# usermod blabla -c acıklama,dunya

root@pc:/home# tail -1 /etc/passwd
blabla:x:1001:1001:acıklama,dunya:/home/yenihomedizini:/bin/bash

Yukarıdaki örnekte önce tek bir sonra iki farklı açıklama ekledik.

Hesabın Son Kullanma Tarihini Eklemek (usermod -e <sonkullanmatarihi> <kullanıcıadı>)

Kullanıcı hesaplarına son kullanma tarihi eklenebilir bu hesaba erişilebilecek gun sayısını belirler. Yani hesap belirtilen gün sonra kapatılır.

root@pc:/home# tail -1 /etc/shadow
blabla:$6$8SOeat1v$AR1ATAosLnhUV3sMKpfTvwP.aR/
O9cz.a0PfwBGBaoE2hM24qXeKwrhCTJ5MyZI6DjzaVh2Hq1YLHpu5/arsP0:17507:0:99999:7:::

root@pc:/home# man usermod

root@pc:/home# usermod blabla -e 2017-12-29

root@pc:/home# tail -1 /etc/shadow
blabla:$6$8SOeat1v$AR1ATAosLnhUV3sMKpfTvwP.aR/
O9cz.a0PfwBGBaoE2hM24qXeKwrhCTJ5MyZI6DjzaVh2Hq1YLHpu5/arsP0:17507:0:99999:7::17529:

Shadow dosyasına baktığımızda ilgili kullanıcının olduğu satırın son alanına baktığımızda 17529 sayısının eklendiğini görüyoruz bu 1 Ocak 1970 tarihinden sonra belirttiğimiz tarih arasıdaki gün sayısıdır.