Linux'ta Örneklerle 15 Faydalı Kullanıcı Ekleme Komutu


Linux'ta 'useradd' veya 'adduser' adı verilen en popüler komutların hepimiz farkındayız. Bir Linux Sistem Yöneticisinden Linux'ta belirli özelliklere, sınırlamalara veya yorumlara sahip kullanıcı hesapları oluşturmasının istendiği zamanlar vardır.

Linux'ta, 'useradd' komutu, Linux ve diğer Unix benzeri işletim sistemlerinde kullanıcı hesapları eklemek veya oluşturmak için kullanılan düşük düzeyli bir yardımcı programdır. 'adduser' komutu, yalnızca sembolik bir bağlantı olduğundan 'useradd' komutuna çok benzer.

Bazı Linux dağıtımlarında 'useradd' komutunun biraz farklı bir sürümü olabilir. Linux'ta yeni kullanıcı hesapları oluşturmak için talimatlarımızı kullanmadan önce belgelerinizi okumanızı öneririm.

Linux terminalinde ‘useradd‘ komutunu çalıştırdığımızda aşağıdaki ana görevleri yerine getirir:

  • /etc/passwd, /etc/shadow, /etc/group ve /etc/gshadow'u düzenler. yeni oluşturulan kullanıcı hesaplarına ait dosyalar.
  • Yeni kullanıcı için bir giriş dizini oluşturur ve doldurur.
  • Giriş dizinine ilişkin izinleri ve sahiplikleri ayarlar.

Kullanıcı Ekleme Komut Sözdizimi

'useradd' komutunun temel sözdizimi şöyledir:

useradd [options] username

Bu yazımızda Linux'ta en sık kullanılan 15 'useradd' komutunu pratik örneklerle göstereceğiz.

1. Linux'ta Yeni Kullanıcı Nasıl Eklenir

Yeni bir kullanıcı eklemek veya oluşturmak için 'useradd' veya 'adduser' komutunu ve ardından 'kullanıcı adı'nı kullanmanız gerekir. 'Kullanıcı adı', kullanıcının sisteme giriş yapmak için kullandığı giriş adıdır.

Yalnızca bir kullanıcı eklenebilir ve kullanıcı adı benzersiz olmalı ve sistemde mevcut olmamalıdır.

Örneğin, 'tecmint' adında yeni bir kullanıcı eklemek için aşağıdaki komutu kullanın:

useradd tecmint

Linux'ta 'useradd' komutuyla yeni bir kullanıcı eklediğimizde kilitli durumda oluşturulur. Bu kullanıcı hesabının kilidini açmak için 'passwd' komutunu kullanarak o hesap için bir şifre belirlememiz gerekir.

passwd tecmint

Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Yeni bir kullanıcı oluşturulduğunda girişi otomatik olarak '/etc/passwd' dosyasına eklenir. Bu dosya kullanıcının bilgilerini depolamak için kullanılır ve giriş yapılmalıdır.

tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash

Yukarıdaki giriş, her biri kendi anlamı olan, iki nokta üst üste ile ayrılmış yedi alandan oluşan bir dizi içerir.

Bu alanların neler olduğuna bakalım:

  • Kullanıcı adı – Kullanıcı oturum açma adı, sisteme giriş yapmak için kullanılır. 1 ila 32 karakter uzunluğunda olmalıdır.
  • Şifre – Kullanıcı şifresi (veya 'x' karakteri) '/etc/shadow' dosyasında şifrelenmiş biçimde saklanır.
  • Kullanıcı Kimliği (UID) – Her kullanıcının, Kullanıcı Kimlik Numarası anlamına gelen bir Kullanıcı Kimliğine (UID) sahip olması gerekir. Varsayılan olarak, UID 0 kök kullanıcı için ayrılmıştır ve 1 ile 99 arasındaki UID'ler önceden tanımlanmış diğer hesaplar için ayrılmıştır. Ayrıca 100 ile 999 arasında değişen UID'ler sistem hesapları ve gruplar için ayrılmıştır.
  • Grup Kimliği (GID)Grup Kimlik Numarası anlamına gelen birincil Grup Kimliği (GID), ''de saklanır. /etc/group' dosyası.
  • Kullanıcı Bilgileri – Bu alan isteğe bağlıdır ve kullanıcının tam adı gibi kullanıcı hakkında ek bilgiler tanımlamanıza olanak tanır. Bu bilgiler parmak komutu kullanılarak doldurulabilir.
  • Ana Dizin – Kullanıcının ana dizininin mutlak konumu.
  • Kabuk – Bir kullanıcının kabuğunun mutlak konumu, yani /bin/bash.

2. Farklı Giriş Dizini ile Kullanıcı Nasıl Oluşturulur

Varsayılan olarak, 'useradd' komutu, kullanıcı adını içeren '/home' dizini altında bir kullanıcının ana dizinini oluşturur. Örneğin yukarıda görüldüğü gibi ‘tecmint’ kullanıcısının varsayılan ana dizini ‘/home/tecmint’dir.

Ancak bu davranış, yeni ana dizinin konumuyla birlikte '-d' seçeneği (ör. '/data/projects') kullanılarak değiştirilebilir. Örneğin, aşağıdaki komut, ana dizini '/data/projects' olarak ayarlanmış bir 'anusha' kullanıcısı yaratacaktır.

useradd -d /data/projects anusha
passwd anusha

Aşağıdaki cat komutunu kullanarak kullanıcının ana dizinini ve kullanıcı kimliği, grup kimliği, kabuk ve yorumlar gibi kullanıcıyla ilgili diğer bilgileri görüntüleyebilirsiniz.

cat /etc/passwd | grep anusha

anusha:x:1001:1001::/data/projects:/bin/bash

3. Belirli bir Kullanıcı Kimliğine Sahip Kullanıcı Nasıl Oluşturulur

Linux'ta her kullanıcının kendi UID'si (Benzersiz Kimlik Numarası) vardır. Varsayılan olarak, Linux'ta yeni bir kullanıcı hesabı oluşturduğumuzda, 500, 501, 502 vb. kullanıcı kimliklerini atar.

Ancak '-u' seçeneğini kullanarak özel kullanıcı kimliklerine sahip kullanıcılar oluşturabiliriz. Örneğin, aşağıdaki komut, '1002' özel kullanıcı kimliğine sahip bir 'navin' kullanıcısı oluşturacaktır.

useradd -u 1002 navin

Şimdi aşağıdaki komutu kullanarak kullanıcının tanımlı userid (1002) ile oluşturduğunu doğrulayalım.

cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash

NOT: Kullanıcı kimliğinin değerinin, sistemde önceden oluşturulmuş diğer kullanıcılardan benzersiz olması gerektiğinden emin olun.

4. Belirli Grup Kimliğine Sahip Kullanıcı Nasıl Oluşturulur

Benzer şekilde, her kullanıcının kendi GID'si (Grup Tanımlayıcı) vardır. '-g' seçeneğini kullanarak da belirli grup kimliklerine sahip kullanıcılar oluşturabiliriz.

Bu örnekte, ' yardımıyla belirli bir UID ve GID'ye sahip bir 'tarunika' kullanıcısını aynı anda ekleyeceğiz. u' ve '-g' seçenekleri.

useradd -u 1005 -g tecmint tarunika

Şimdi '/etc/passwd' dosyasında atanan kullanıcı kimliğini ve grup kimliğini kontrol edin.

cat /etc/passwd | grep tarunika

tarunika:x:1005:1000::/home/tarunika:/bin/bash

Kullanıcının GID'sini doğrulamak için id komutunu kullanın:

id -gn tarunika

5. Bir Kullanıcı Birden Çok Gruba Nasıl Eklenir?

'-G' seçeneği, bir kullanıcıyı ek gruplara eklemek için kullanılır. Her grup adı, aralarında boşluk olmayacak şekilde virgülle ayrılır.

Bu örnekte, yöneticiler, web yöneticisi ve geliştiriciler gibi birden çok gruba 'tecmint' kullanıcısını ekliyoruz. güçlü>.

groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy

Daha sonra, id komutuyla birden fazla grubun kullanıcıya atandığını doğrulayın.

id tecmint

uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. Ana Dizini Olmadan Kullanıcı Nasıl Eklenir?

Güvenlik nedeniyle kullanıcıya home dizini atamak istemediğimiz bazı durumlarda, kullanıcı yeni başlatılan bir sisteme giriş yaptığında home dizini root olacaktır. Böyle bir kullanıcı 'su' komutunu kullandığında, giriş dizini önceki kullanıcının ana dizini olacaktır.

Ana dizinleri olmayan kullanıcılar oluşturmak için '-M' seçeneği kullanılır. Örneğin, aşağıdaki komut ana dizini olmayan bir 'shilpi' kullanıcısını yaratacaktır.

useradd -M shilpi

Şimdi ls komutunu kullanarak kullanıcının home dizini olmadan oluşturulduğunu doğrulayalım.

ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory

7. Linux'ta Son Kullanma Tarihi Olan Kullanıcı Nasıl Oluşturulur

Varsayılan olarak, 'useradd' komutuyla kullanıcıları eklediğimizde, kullanıcı hesabının süresi hiçbir zaman dolmaz, yani son kullanma tarihleri 0 olarak ayarlanır (bu, hiçbir zaman sona ermemiş anlamına gelir).

Ancak son kullanma tarihini YYYY-AA-GG biçiminde olması gereken '-e' seçeneğini kullanarak ayarlayabiliriz. Bu, belirli bir süre için geçici hesaplar oluşturmak için faydalıdır.

Bu örnekte, YYYY-AA-GG27 Ağustos 2021 olan bir 'aparna' kullanıcısı oluşturuyoruz. > biçimi.

useradd -e 2021-08-27 aparna

Daha sonra, hesabın son kullanma tarihini ayarladıktan sonra 'aparna' kullanıcısı için 'chage' komutunu kullanarak hesap ve şifre eskime bilgilerini doğrulayın.

chage -l aparna

Last password change					: Jun 25, 2021
Password expires					: never
Password inactive					: never
Account expires						: Aug 27, 2021
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

8. Şifre Son Kullanma Tarihi Olan Kullanıcı Nasıl Oluşturulur

'-f' bağımsız değişkeni, parolanın süresinin dolmasından sonraki gün sayısını tanımlamak için kullanılır. 0 değeri, şifrenin süresi dolar dolmaz kullanıcı hesabını devre dışı bırakır. Varsayılan olarak, parolanın geçerlilik süresi değeri -1 olarak ayarlanmıştır; bu, parolanın hiçbir zaman sona ermeyeceği anlamına gelir.

Bu örnekte, '-e'mansi' kullanıcısı için 45 gün olan bir hesap şifresi son kullanma tarihi belirleyeceğiz. > ve '-f' seçenekleri.

useradd -e 2014-04-27 -f 45 mansi

9. Linux'ta Yorumlarla Kullanıcı Nasıl Eklenir?

'-c' seçeneği, kullanıcının tam adı, telefon numarası vb. gibi özel yorumları '/etc/passwd' dosyasına eklemenizi sağlar. Yorum, boşluk bırakmadan tek satır olarak eklenebilir.

Örneğin, aşağıdaki komut bir 'mansi' kullanıcısını ekleyecek ve bu kullanıcının tam adını (Manis Khurana) yorum alanına ekleyecektir.

useradd -c "Manis Khurana" mansi

Eklenen yorumu, tail komutunu kullanarak yorumlar bölümündeki '/etc/passwd' dosyasında görüntüleyebilirsiniz.

tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

10. Linux'ta Kullanıcı Giriş Kabuğu Nasıl Oluşturulur

Bazen Login Shell ile ilgisi olmayan kullanıcıları ekliyoruz, bazen de kullanıcılarımıza farklı kabuklar atamamız gerekiyor. ‘-s’ seçeneği ile her kullanıcıya farklı giriş kabukları atayabiliriz.

Bu örnekte, giriş kabuğu olmayan bir 'tecmint' kullanıcısını, yani '/sbin/nologin' kabuğunu ekleyeceğiz.

useradd -s /sbin/nologin tecmint

Kullanıcıya atanan kabuğu '/etc/passwd' dosyasında kontrol edebilirsiniz.

tail -1 /etc/passwd

tecmint:x:1011:1014::/home/tecmint:/sbin/nologin

11. Belirtilen Ev, Kabuk ve Yoruma Sahip Kullanıcı Nasıl Oluşturulur

Aşağıdaki komut, varsayılan /bin/bash kabuğu olan '/var/www/tecmint' ana dizinine sahip bir 'ravi' kullanıcısı yaratacaktır. Strong> ve kullanıcı hakkında ek bilgiler.

useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

Yukarıdaki komutta, '-m' ve '-d' seçenekleri, belirtilen ana dizine ve '-s''ye sahip bir kullanıcı oluşturur seçeneği kullanıcının varsayılan kabuğunu /bin/bash olarak ayarlar. '-c' seçeneği kullanıcı hakkında ekstra bilgi ekler ve '-U' argümanı kullanıcıyla aynı ada sahip bir grup oluşturur/ekler.

12. Tanımlı Home, Shell, Comment, UID/GID ile Kullanıcı Nasıl Oluşturulur

Komut yukarıdakine çok benzer, ancak burada kabuğu '/bin/zsh' olarak tanımlıyoruz ve özel UID ve GID'yi ayarlıyoruz 'tarunika' kullanıcısı için. '-u' seçeneği yeni kullanıcının UID'sini (ör. 100) tanımlar ve '-g' seçeneği GID'yi (ör. , 1000).

useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika

13. Home, Kabuksuz, Yorum ve UID ile Kullanıcı Nasıl Oluşturulur

Aşağıdaki komut yukarıdaki iki komuta çok benzer. Tek fark, burada özel Kullanıcı Kimliğine (ör. 1019) sahip "avishek" adlı bir kullanıcı için giriş kabuğunu devre dışı bırakmış olmamızdır.

'-s' seçeneği varsayılan kabuğu /bin/bash olarak ayarlar, ancak bu durumda oturum açma kabuğunu '/usr/sbin/' olarak ayarladık oturum açılmıyor'. Bu, 'avishek' kullanıcısının sisteme giriş yapamayacağı anlamına gelir.

useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

14. Belirtilen Ev, Kabuk, İskelet ve UID ile Kullanıcı Nasıl Oluşturulur

Bu komuttaki tek değişiklik, özel iskelet dizinini varsayılan dizin olan /etc/custom.skell olarak ayarlamak için '-k' seçeneğini kullanmamızdır. Strong>/etc/skel. Ayrıca 'navin' kullanıcısı için farklı bir kabuk (/bin/tcsh) tanımlamak amacıyla '-s' seçeneğini de kullandık.

useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

15. Evsiz, Kabuksuz, Grupsuz, Yorumlu Kullanıcı Nasıl Oluşturulur

Aşağıdaki komut yukarıda açıklanan diğer komutlardan çok farklıdır. Burada kullanıcının ana dizini olmadan kullanıcı oluşturmak için '-M' seçeneğini, sisteme yalnızca oluşturma talimatı vermek için '-N' seçeneğini kullandık. bir kullanıcı adı (grup olmadan). '-r' seçeneği sistem kullanıcısı oluşturmak içindir.

useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton

'useradd' hakkında daha fazla bilgi ve seçenek için, mevcut seçenekleri görmek üzere terminalde 'useradd' komutunu çalıştırın

useradd

Kullanıcı adını, kullanıcı kimliğini (UID), ana dizini, kabuğu ve daha fazlasını değiştirmek gibi kullanıcı hesabı niteliklerini değiştirmek istiyorsanız usermod komutunu kullanın.