16.09.2019

Linux komut satırından kullanıcı yönetimi

Yeni kullanıcı oluşturmak için:
# useradd  <username>
Bu şekilde /etc/passwd dosyasına aşağıdaki gibi bir satır eklenir:

username:x:user-id:group-id:userinfo:homedirectory:shell

Her ne kadar dosyanın adı passwd olsa da parolalar x ile gösterilir. useradd komutu varsayılan olarak etkinleştirilmemiş bir kullanıcı yaratır. Etkinleştirmek için kullanıcı parolası değiştirimelidir:
# passwd <username>
Daha fazla veri ile kullanıcı yaratmak için
# useradd -m # home klasörünü yarat
          -d /data/projects # home klasörünün konumunu
          -c "Tam Adı" # kullanıcının tam adı
          -e 2019-10-01 # hesap son kullanma tarihi, ya da -f 45 ile kaç gün kullanılabileceği
          -G webadmin,powerusers # kullanıcının üye olacağı grupları
          -g developers # birincil üye olacağı grup

          <username> kullanıcı adı
Yaratılan hesabın kullanıcı ve grup ID'lerini görmek için
# id
uid=1015(username) gid=1039(developers),...
Aynı amaçla kullanılabilecek, bu bilgileri anahtarlarla değil, sorulara verilecek yanıtlarla girebileceğimiz benzer bir komut daha var:
#  adduser <username>

Ya da birden fazla kullanıcıyı bir dosyadan bakarak yaratmak için
# newusers kullanicilar
kullanicilar dosyasının içinde şunun gibi satırlar olmalı:

ahmet:HcZ600a9:1008:1000:Ahmet Özhan:/home/ahmet:/bin/bash


Var olan bir kullanıcı hesabını silmek için
# userdel <username>
Bu komut ile kullanılabilecek bazı anahtarlar:

-r: home klasörünü de sil
-f: sahibinin <username> olmadığı da silmeye zorla
-Z: tüm SELinux bağlantılarını kaldır

Silme öncesinde kullanıcının sahibi olduğu dosyaları aramak için
# find /mnt/shared -user <username> -print
Hatta bulunan dosyaların sahibini değiştirmek için
# find /mnt/shared -user <username> -exec chown mehmet:mehmet {} \;
userdel komutuna alternatif de deluser var:
# deluser <username> -force # silmeye zorla
-remove-home # home klasörünü de sil
-remove-all-files # tüm dosyalarını sil
-backup-to /backup/2018 # silmeden önce yedeğini /backup/2018'e al
Bir grup yaratmak için
# groupadd muhendislik
Bu komut da /etc/groups dosyasına aşağıdaki gibi bir satır ekler

muhendislik:x:1009:

Bir kullanıcıyı bu grubun üyesi yapmak için
# usermod -aG muhendislik ahmet
ya da (kullanıcı ve grup isimlerinin yer değiştirdiğine dikkat!)
# gpasswd -a ahmet muhendislik
Grubu silmek için
# groupdel muhendislik
Kullanıcımızın üyesi olduğu tüm grupların listesini almak için
$ groups
Kullanıcıyı grup üyeliğinden çıkarmak için
# gpasswd -d ahmet muhendislik
Kullanıcıyı grubun yöneticisi yapmak için
# gpasswd -A ahmet muhendislik

2023-07-17 Ek: Linux'ta bir kullanıcının admin yetkilerine sahip olması, sudo veya wheel gruplarına üye olması ile mümkün olur. Debian ve türevlerinde sudo grubu üyeliği, Fedora ve CentOS ailesinde ise wheel grubu ile. Ahmet adlı bir kullanıcıyı admin yapmak için örneğin Fedora'da

    # usermod -aG wheel ahmet 

ya da Debian tüvevlerinde bir kullanıcının admin olup olmadığını sorgulamak için 

    # id ahmet

komutunun çıktısında sudo grubunun varlığını kontrol etmek gerek.

2024-08-25 Ek: Bir grubun kullanıcılarını sorgulamak için de (örneğin libvirt grubunun üyelerini)

getent group libvirt

 

 

Hiç yorum yok: