'Usermod' komutunun Kullanımına İlişkin Tam Kılavuz - Ekran Görüntüleriyle 15 Pratik Örnek


Unix/Linux dağıtımlarında, 'usermod' komutu, önceden oluşturulmuş bir kullanıcı hesabının herhangi bir özelliğini komut satırı aracılığıyla değiştirmek veya değiştirmek için kullanılır. 'usermod' komutu, 'useradd' veya 'adduser' komutuna benzer ancak giriş bilgisi mevcut bir kullanıcıya verilir.

Linux sistemlerinde kullanıcı hesapları oluşturmak için 'useradd' veya 'adduser' komutu kullanılır. Sistem kullanıcılarının nasıl oluşturulacağı hakkında daha fazla bilgi edinmek için aşağıdaki adresteki kılavuzumuzu okuyun:

  1. Linux'ta “useradd” Komutu İçin Tam Bir Kılavuz

Kullanıcı hesapları oluşturduktan sonra, mevcut bir kullanıcının, kullanıcının ana dizinini, oturum açma adını, oturum açma kabuğunu, parola son kullanma tarihini değiştirme vb. özelliklerini değiştirmemiz gereken bazı senaryolarda, bu durumda 'usermod' komutu kullanılır.

Terminalde ‘usermod’ komutunu çalıştırdığımızda aşağıdaki dosyalar kullanılır ve etkilenir.

  1. /etc/passwd – Kullanıcı hesabı bilgileri.
  2. /etc/shadow – Hesap bilgilerini güvenli hale getirin.
  3. /etc/group – Grup hesabı bilgileri.
  4. /etc/gshadow – Grup hesabı bilgilerinin güvenliğini sağlayın.
  5. /etc/login.defs – Gölge şifre paketi yapılandırması..

Komutun temel sözdizimi şöyledir:

usermod [options] username

Gereksinimler

  1. Usermod komutunu yürütmek için mevcut kullanıcı hesaplarımıza sahip olmamız gerekir.
  2. Yalnızca süper kullanıcının (root) usermod komutunu yürütmesine izin verilir.
  3. Usermod komutu herhangi bir Linux dağıtımında çalıştırılabilir.
  4. Seçeneklerle birlikte usermod komutu hakkında temel bilgiye sahip olmalı

Usermod Seçenekleri

'usermod' komutunun kullanımı kolaydır ve mevcut bir kullanıcıda değişiklik yapmak için birçok seçenek sunar. Aşağıdaki seçenekler yardımıyla Linux kutusundaki mevcut bazı kullanıcıları değiştirerek usermod komutunun nasıl kullanılacağını görelim.

  1. -c=Kullanıcı hesabı için yorum alanı ekleyebiliriz.
  2. -d=Mevcut herhangi bir kullanıcı hesabına ait dizini değiştirmek için.
  3. -e=Bu seçeneği kullanarak hesabın süresinin belirli bir sürede dolmasını sağlayabiliriz.
  4. -g=Bir Kullanıcının birincil grubunu değiştirin.
  5. -G=Tamamlayıcı gruplar eklemek için.
  6. -a=Gruptaki herhangi birini ikincil gruba eklemek için.
  7. -l=Oturum açma adını tecmint'ten tecmint_admin'e değiştirmek için.
  8. -L=Kullanıcı hesabını kilitlemek için. Bu, hesabı kullanamamamız için şifreyi kilitleyecektir.
  9. -m=giriş dizininin içeriğinin mevcut giriş dizininden yeni dizine taşınması.
  10. -p=Yeni şifre için şifrelenmemiş şifreyi kullanmak için. (Güvenli DEĞİLDİR).
  11. -s=Yeni hesaplar için Belirtilen bir kabuk oluşturun.
  12. -u=0 ile 999 arasında kullanıcı hesabına UID atamak için kullanılır.
  13. -U=Kullanıcı hesaplarının kilidini açmak için. Bu, şifre kilidini kaldıracak ve kullanıcı hesabını kullanmamıza izin verecektir.

Bu makalede, bu seçenekleri kullanarak komut satırı becerilerinizi öğrenmenize ve geliştirmenize yardımcı olacak '15 usermod komutunu' pratik örnekleri ve Linux'taki kullanımıyla birlikte göreceğiz.

1. Kullanıcı Hesabına Bilgi Ekleme

'-c' seçeneği kullanıcı hesabı hakkında kısa bir yorum (bilgi) belirlemek için kullanılır. Örneğin aşağıdaki komutu kullanarak ‘tecmint’ kullanıcısı hakkında bilgi ekleyelim.

usermod -c "This is Tecmint" tecmint

Kullanıcıya ait bilgiler eklendikten sonra aynı yorum /etc/passwd dosyasında görüntülenebilir.

grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2. Kullanıcı Ana Dizinini Değiştirin

Yukarıdaki adımda ana dizinimizin /home/tecmint/ altında olduğunu görebiliriz. Eğer onu başka bir dizine değiştirmemiz gerekirse -d komutunu kullanarak değiştirebiliriz. usermod komutuyla seçenek.

Mesela ana dizinimizi /var/www/ olarak değiştirmek istiyorum ama değiştirmeden önce aşağıdaki komutu kullanarak bir kullanıcının mevcut ana dizinini kontrol edelim.

grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

Şimdi ana dizini /home/tecmint yerine /var/www/ olarak değiştirin ve değiştirdikten sonra ana dizini onaylayın.

usermod -d /var/www/ tecmint
grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3. Kullanıcı Hesabı Son Kullanma Tarihini Ayarlayın

'-e' seçeneği, bir kullanıcı hesabının son kullanma tarihini YYYY-AA-GG tarih biçimiyle ayarlamak için kullanılır. Bir kullanıcıya son kullanma tarihi ayarlamadan önce, öncelikle 'chage' (kullanıcı şifresi son kullanma bilgisini değiştir) komutunu kullanarak mevcut hesabın son kullanma durumunu kontrol edelim.

chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

'tecmint' kullanıcısının son kullanma durumu 1 Aralık 2014'tür, 'usermod -e'yi kullanarak bunu 1 Kasım 2014 olarak değiştirelim ' seçeneğini seçin ve 'chage' komutuyla son kullanma tarihini onaylayın.

usermod -e 2014-11-01 tecmint
chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

4. Kullanıcı Birincil Grubunu Değiştirin

Bir kullanıcı birincil grubunu ayarlamak veya değiştirmek için usermod komutuyla birlikte '-g' seçeneğini kullanırız. Kullanıcının birincil grubunu değiştirmeden önce, tecmint_test kullanıcısı için geçerli grubu kontrol ettiğinizden emin olun.

id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

Şimdi babin grubunu tecmint_test kullanıcısına birincil grup olarak ayarlayın ve değişiklikleri onaylayın.

usermod -g babin tecmint_test
id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. Mevcut Bir Kullanıcıya Grup Ekleme

'tecmint' kullanıcısına 'tecmint_test0' adında yeni bir grup eklemek istiyorsanız usermod komutuyla '-G' seçeneğini kullanabilirsiniz. Aşağıda gösterildiği gibi.

usermod -G tecmint_test0 tecmint
id tecmint

Not: Dikkatli olun, mevcut bir kullanıcıya yeni bir grubu yalnızca '-G' seçeneğiyle eklerken, mevcut tüm grupların kaldırılacağına dikkat edin. kullanıcıya aittir. Bu nedenle, yeni gruplar eklemek veya eklemek için her zaman '-a' (ekleme) seçeneğini '-G' seçeneğiyle birlikte ekleyin.

6. Kullanıcıya Ek ve Birincil Grup Ekleme

Ek gruplardan herhangi birine kullanıcı eklemeniz gerekiyorsa '-a' ve '-G' seçeneklerini kullanabilirsiniz. Örneğin, burada tekerlek kullanıcısı ile birlikte tecmint_test0 kullanıcı hesabını ekleyeceğiz.

usermod -a -G wheel tecmint_test0
id tecmint_test0

Böylece, tecmint_test0 kullanıcısı birincil grubunda ve ayrıca ikincil grupta (tekerlek) kalır. Bu, normal kullanıcı hesabımın Linux kutusunda herhangi bir kök ayrıcalıklı komutu yürütmesini sağlayacaktır.

eg : sudo service httpd restart

7. Kullanıcı Giriş Adını Değiştirin

Mevcut herhangi bir kullanıcı giriş adını değiştirmek için ‘-l‘ (yeni giriş) seçeneğini kullanabiliriz. Aşağıdaki örnekte tecmint giriş adını tecmint_admin olarak değiştiriyoruz. Böylece tecmint kullanıcı adı, yeni tecmint_admin adıyla yeniden adlandırıldı.

usermod -l tecmint_admin tecmint

Şimdi tecmint kullanıcısını kontrol edin. Kullanıcıyı tecmint_admin olarak değiştirdiğimiz için mevcut olmayacak.

id tecmint

tecmint_admin hesabını kontrol edin, aynı UID ile ve daha önce eklediğimiz mevcut grupla orada olacaktır.

id tecmint_admin

8. Kullanıcı Hesabını Kilitle

Herhangi bir sistem kullanıcı hesabını kilitlemek için '-L' (kilitleme) seçeneğini kullanabiliriz. Hesap kilitlendikten sonra şifreyi kullanarak giriş yapamayız ve bir !< göreceksiniz. /etc/shadow dosyasındaki şifrelenmiş şifrenin önüne eklendi, şifrenin devre dışı olduğu anlamına gelir.

usermod -L babin

Kilitli hesabı kontrol edin.

grep -E --color 'babin' cat /etc/shadow

9. Kullanıcı Hesabının Kilidini Aç

'-U' seçeneği kilitli herhangi bir kullanıcının kilidini açmak için kullanılır; bu, şifrelenmiş şifrenin önündeki ! işaretini kaldıracaktır.

grep -E --color 'babin' /etc/shadow
usermod -U babin

Kilidi açtıktan sonra kullanıcıyı doğrulayın.

grep -E --color 'babin' /etc/shadow

10. Kullanıcı Giriş Dizinini Yeni konuma taşıyın

Diyelim ki '/home/pinky' ana dizinine sahip 'pinky' adında bir kullanıcı hesabınız var, '/var' diyerek yeni konuma geçmek istiyorsunuz /pinky'. Mevcut kullanıcı dosyalarını mevcut ana dizinden yeni bir ana dizine taşımak için '-d' ve '-m' seçeneklerini kullanabilirsiniz.

Hesabı ve mevcut ana dizini kontrol edin.

grep -E --color 'pinky' /etc/passwd

Daha sonra Pinky kullanıcısına ait olan dosyaları listeleyin.

ls -l /home/pinky/

Şimdi ana dizini /home/pinky'den /var/pinky'ye taşımamız gerekiyor.

usermod -d /var/pinky/ -m pinky

Daha sonra dizin değişikliğini doğrulayın.

grep -E --color 'pinky' /etc/passwd

'/home/pinky' altındaki dosyaları kontrol edin. Burada -m seçeneğini kullanarak dosyaları taşıdık, böylece dosya kalmayacak. Pinky kullanıcı dosyaları artık /var/pinky altında olacaktır.

ls -l /home/pinky/
ls -l /var/pinky/

11. Kullanıcı için Şifrelenmemiş Şifre Oluşturun

Şifrelenmemiş bir şifre oluşturmak için '-p' (şifre) seçeneğini kullanırız. Gösterim amacıyla, pinky kullanıcısına 'redhat' diyen yeni bir şifre ayarlıyorum.

usermod -p redhat pinky

Şifreyi ayarladıktan sonra, şifreli formatta mı yoksa şifrelenmemiş mi olduğunu görmek için gölge dosyasını kontrol edin.

grep -E --color 'pinky' /etc/shadow

Not: Yukarıdaki resimde şifrenin herkes tarafından açıkça görülebildiğini gördünüz mü? Bu nedenle, şifre tüm kullanıcılar tarafından görülebileceğinden bu seçeneğin kullanılması önerilmez.

12. Kullanıcı Kabuğunu Değiştirin

Kullanıcı oturum açma kabuğu, kullanıcı oluşturma sırasında useradd komutuyla değiştirilebilir veya tanımlanabilir veya '-s' seçeneği kullanılarak 'usermod' komutuyla değiştirilebilir ( kabuk). Örneğin, 'babin' kullanıcısı varsayılan olarak /bin/bash kabuğuna sahiptir, şimdi onu /bin/sh olarak değiştirmek istiyorum .

grep -E --color 'babin' /etc/passwd
usermod -s /bin/sh babin

Kullanıcı kabuğunu değiştirdikten sonra aşağıdaki komutu kullanarak kullanıcı kabuğunu doğrulayın.

grep -E --color 'babin' /etc/passwd

13. Kullanıcı Kimliğini (UID) değiştirin

Aşağıdaki örnekte, 'babin' kullanıcı hesabımın 502 UID'sine sahip olduğunu görebilirsiniz, şimdi bunu 888 olarak değiştirmek istiyorum UID'im olarak. 0 ile 999 arasında UID atayabiliriz.

grep -E --color 'babin' /etc/passwd
OR
id babin

Şimdi ‘-u’ (uid) seçeneğini kullanarak babin kullanıcısının UID’sini değiştirelim ve değişiklikleri doğrulayalım.

usermod -u 888 babin
id babin

14. Kullanıcı Hesabını Çoklu Seçeneklerle Değiştirme

Burada bir jack kullanıcımız var ve şimdi yukarıda tartıştığımız gibi tüm seçeneklerle birlikte tek bir komut kullanarak onun ana dizinini, kabuğunu, son kullanma tarihini, etiketini, UID'sini ve grubunu aynı anda değiştirmek istiyorum.

Jack kullanıcısının varsayılan ana dizini /home/jack var, Şimdi onu /var/www/html olarak değiştirmek ve ona atamak istiyorum kabuğunu bash olarak ayarlayın, son kullanma tarihini 10 Aralık 2014 olarak ayarlayın, yeni etiketi This is jack olarak ekleyin, UID'yi 555 olarak değiştirin ve Apple grubunun üyesi olacaktır.

Şimdi birden fazla seçeneği kullanarak jack hesabını nasıl değiştireceğimizi görelim.

usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

Ardından UID ve ana dizin değişikliklerini kontrol edin.

grep -E --color 'jack' /etc/passwd

Hesabın geçerlilik süresi kontrolü.

chage -l jack

Tüm Jack'lerin üye olduğu grubu kontrol edin.

grep -E --color 'jack' /etc/group

15. Kullanıcının UID'sini ve GID'sini değiştirin

Mevcut bir kullanıcının UID ve GID'sini değiştirebiliriz. Yeni bir GID'ye geçmek için mevcut bir gruba ihtiyacımız var. Burada zaten 777 GID'sine sahip turuncu adında bir hesap var.

Artık jack kullanıcı hesabıma 666 UID'si ve Orange GID'si (777) atanmak istiyor.

Değiştirmeden önce mevcut UID ve GID'yi kontrol edin.

id jack

UID ve GID'yi değiştirin.

usermod -u 666 -g 777 jack

Değişiklikleri kontrol edin.

id jack

Çözüm

Burada usermod komutunun nasıl kullanılacağını seçenekleriyle birlikte çok detaylı bir şekilde gördük. Usermod komutunu bilmeden önce useradd komutunu ve usermod kullanma seçeneklerini bilmek gerekir. Yazıda kaçırdığım bir nokta varsa yorum yoluyla bana bildirin ve değerli yorumlarınızı eklemeyi unutmayın.