useradd nedir?

Kullanıcı hesap bilgileri /etc/passwd dosyasında, kullanıcı kimlik doğrulama bilgileri ise /etc/shadow dosyasında saklanır. Yeni bir kullanıcı oluşturmak, bu dosyaların her birini manuel olarak yeni bir satır ekleyerek gerçekleştirilebilir, ancak bu önerilerin bir durum değildir. Yeni bir kullanıcı eklemek için uygun bir komut kullanılarak, bu dosyalar otomatik ve güvenli bir şekilde değiştirilebilir. Bu dosyaları manuel olarak değiştirirseniz, tüm kullanıcıların normal şekilde oturum açmasını engelleyebilecek bir hata yapma riskiyle karşı karşıya kalabilirsiniz.
Sisteminiz için kullanıcılar oluşturmaya başlamadan önce, useradd komutuyla varsayılan olarak kullanılan pratik değerleri doğrulamalı veya oluşturmalısınız. Bu ayarlar, useradd komut tarafından kullanılan yapılandırma dosyaları bulunabilir. Kullanıcıları eklemeden önce bu yapılandırma dosyalarındaki değerlerin makul olmasını sağlamak, kullanıcıları ekledikten sonra kullanıcı hesabı ayarlarını düzeltmek zorunda kalmanıza ve zamandan tasarruf etmenize yardımcı olabilir.
syntax
useradd [OPTIONS] USERNAME
Useradd komutu
useradd komutu için gerekli olan tek argüman, hesabın sahip olmasını istediğiniz addır. Kullanıcı adı, grup adları ile aynı kurallara uymalıdır.
Kullanıcı adlandırırken bazı hususlara dikkat etmemiz gerekir. Bunlar;
1- Adın ilk karakteri bir alt çizgi “_” karakteri veya bir küçük harf alfabetik “a-z” karakter olmalıdır.
2- Çoğu Linux dağıtımında 32 karaktere kadar izin verilir, ancak bazı dağıtımlar 16′dan fazlasını kabul etmeyeceği için 16’dan fazla karakter sorun olabilir.
3-Son karakter kısa çizgi “-” olmamalıdır.
Hesap adı her kullanıcı için benzersiz olması gerektiği unutmayalım.
Şimdi bir kullanıcı oluşturalım.
useradd ipek.albayrak

Belirli bir UID’ye sahip bir kullanıcı oluşturduğunuzda, sistem genellikle oluşturduğunuz sonraki kullanıcı için UID’yi birer birer arttırır. Diğer sistemlerle bir ağa bağlıysa, tutarlı erişim sağlamaya yardımcı olmak için bu UID’yi tüm sistemlerde aynı olmasını sağlamak isteyebiliriz.
-u seçeneğini useradd komutuna eklersek, UID numarasını belirlemesini sağlayabiliriz. UID’ler tipik olarak sıfırdan dört milyarı aşan herhangi bir yerde olabilir, ancak eski sistemlerde en yüksek uyumluluk için önerile maksimum UID değeri 60.000’dir.
useradd -u 1020 mustafa.albayrak

root kullanıcısı, 0 hesabının özel ayrıcalıklara sahip olmasına izin veren bir UID’ye sahiptir. UID’si 0 olan herhangi bir hesap, etkili bir şekilde yönetici olarak hareket edebilir.
Sistem hesapları genellikle arka planda çalışan hizmetleri çalıştırmak için kullanılır. Hizmetlerin kök kullanıcı olarak çalıştırılmaması nedeniyle, güvenliği ihlal edilmiş bir hizmet hesabıyla verilebilecek zarar sınırlıdır. Hizmetler tarafından kullanılan sistem hesapları genellikle ayrılmış aralıktaki UID’leri kullanır. Bu kuralın istisnası olan bir sistem hesabı, 65534 UID’ye sahip olan nfsnobody kullanıcısıdır.
Hizmet hesapları için kullanılan ayrılmış aralık zamanla genişlemiştir. 1 ile 99 arasındaki UID’ler için ayrılmıştı. Daha sonra, 1 ile 499 arasında olacak şekilde genişletildi. Dağıtımlar arasındaki mevcut eğilim, sistem hesaplarının 1 ile 999 arasında UID’ye sahip herhangi bir hesap olması, ancak 1-499 aralığının ayrıca hala yaygın olarak kullanılmaktadır.
Yeni bir sistem kurarken, 1000’den düşük olmayan UID’leri başlatmak, birçok sistem hizmeti için yeterli UID bulunduğundan emin olmak ve size ayrılmış aralıkta birçok GID oluşturma yeteneği vermek iyi bir uygulamadır.
Birincil Grup
UPG özelliğine sahip dağıtımlarda bu grup, yeni oluşturulan kullanıcı hesabının UID’si ve kullanıcı adı ile eşleşen bir GID ve grup adı ile otomatik olarak oluşturulur. UPG kullanmayan dağıtımlarda, birincil grup normalde varsayılan olarak kullanıcılar GID değer 100 olan grubu kullanır.
Birincil grubu belirtmek için useradd komutu ile -g seçeneği kullanarak grubun adı veya GID’i belirtebilirsiniz. Örneğin birincil grubu belirtmek için aşağıdaki örneği uygulayın.
useradd -g ortak ahmet

Tamamlayıcı Grup
Kullanıcıyı bir veya daha fazla ek grubun üyesi yapabiliriz. -G seçeneği ile virgülle ayrılmış bir şekilde grup adları veya numaraları ile kullanılabilir. Aşağıdaki örnekte admin kullanıcısı ortak ve root grubuna üye edilmiştir.

Home Dizini
Varsayılan olarak, çoğu dağıtım kullanıcının ana dizinini, genellikle belirten dosya home altında kullanıcı hesabıyla aynı ada sahip olarak oluşur. Örneğin, ahmet adlı bir kullanıcı oluşturduğunuzda kullanıcının ana dizini aşağıdaki gibi olacaktır. Yani /home/ahmet


useradd komutu için, kullanıcının ana dizinini oluşturmayı etkileyecek birkaç seçenek vardır.
1- Eğer CREATE_HOME ayarlı değilse, kullanıcının ev dizini otomatik olarak oluşturulmaz. Ya da CREATE_HOME ayarlı ise ve siz ev dizini oluşmasını istiyorsanız -m seçeneğini kullanabilirsiniz.
2- Eğer CREATE_HOME /etc/login.defs dosyası yes olarak ayarlı ise ev dizini otomatik olarak oluşturulur.
Yukarıdaki yazılanlara örnek olması adına, CREATE_HOME yes kısmını no olarak değiştirdim ve kemal adında bir kullanıcı oluşturdum. Aşağıdaki görseldeki gibi kullanıcının ev dizini oluşmadı. Eğer CREATE_HOMEkısmı no ise ev dizini oluşturmak istiyorsanız -m seçeneği kullanmak daha doğrudur.
useradd kemal

Bu örnekte ise CREATE_HOME no olarak ayarlanmış bir dağıtımda -m seçeneği ile ev dizini oluşturabildiğimize bakalım.
useradd -m ayse

useradd komutunu kullanarak bir kaç örnek yapalım. Aşağıdaki örnekte, UID’si 1030, birincil kullanıcı grubu ortak, ek grup üyeliği admin, açıklama kısmında Destek Elemanı ve cihan adından bir kullanıcı oluşturulmuştur.
useradd -u 1030 -g ortak -G admin -m -c ‘Destek Elemani’ cihan

NOT: Yukarıdaki örnekte hesabın geçerli bir parolası olmadığını unutmayalım.