2019-09-16

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

Ya da oturum açmış kullanıcıdan başka bir kullanıcının üye olduğu grupları görmek için

groups ahmet

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: