Mail biriktirme oluşturmadan useradd ile linux hesabı nasıl oluşturulur


11

özet

Posta biriktirme oluşturmadan ve üzerinde değişiklik yapmadan yeni bir kullanıcı oluşturabilir miyim /etc/default/useradd?

Açıklama

Bir giriş dizini ve iskeleti olan bir kullanıcı oluşturmak istiyorum, ancak useraddkomut dosyasının unix sistemine bir posta biriktirme dosyası eklemesini istemiyorum .

Benim /etc/default/useradddosyamda

CREATE_MAIL_SPOOL=yes

ancak varsayılan davranışı değiştirmek istemiyorum.

Şimdilik kullanıyorum

useradd nomailuser
rm /var/spool/mail/nomailuser

Ayrıca biliyorum -dama bir posta biriktirme oluşturmak için bir seçenek bulamıyorum görünüyor .

Özel /etc/default/useradddosya kullanmak için bir seçenek olduğunu düşünüyorum .

Yanıtlar:


9

man useradd

   -K, --key KEY=VALUE
       Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others).

       Example: -K PASS_MAX_DAYS=-1 can be used when creating system account to turn off password ageing, even though
       system account has no password at all. Multiple -K options can be specified, e.g.: -K UID_MIN=100 -K UID_MAX=499

Bu yüzden şunu deneyin:

# useradd -K MAIL_DIR=/dev/null nomailuser

Bir uyarı görünür ( Posta kutusu dosyası oluşturuluyor: Dizin değil ), ancak yok sayabilirsiniz.


Teşekkürler, bir cazibe olarak çalışır. -K CREATE_MAIL_SPOOL=noHiç çalışmayan belirli bir sebep var mı?
drinchev

1
Çünkü ait değil /etc/login.defs.
quanta

@quanta, Çünkü -K MAIL_DIR=/dev/nullbir hata aldım:Creating mailbox file: Not a directory
Kirby

@drinchev, çünkü -K CREATE_MAIL_SPOOL=nobir hata aldım configuration error - unknown item 'CREATE_MAIL_SPOOL' (notify administrator).
Kirby

Kirby ile aynı sonucu aldım ... Bir alp docker konteyneri için kullanıyordum, bu yüzden gittimecho "CREATE_MAIL_SPOOL no" >> /etc/default/useradd
Adi Roiban

5

Alpine ve shadow paketi ile bir Docker görüntüsü ayarlıyorum ve aynı hatayı aldım.

Bu "Posta kutusu dosyası oluşturma: Böyle bir dosya veya dizin yok" hatasını önlemek için Kullanıcı eklemeye çalışmadan önce aşağıdaki satır içi değiştirme işlemini eklemek zorunda kaldım:

RUN sed -i 's/^CREATE_MAIL_SPOOL=yes/CREATE_MAIL_SPOOL=no/' /etc/default/useradd

Bu bir Dockerfile yönergesidir . Zaten çalışan bir ana bilgisayarla mücadele ediyorsanız, / etc / default / useradd dosyasını düzenleyin ve ayarı uygun şekilde değiştirin. Bu değişiklik, diğer tüm kullanıcı oluşturma işlemlerinin posta kutusunu oluşturmasını engeller.
İstenen davranış bu değil, sadece / var / mail klasörü oluşturabilirsiniz.

[ -d /var/mail ] || mkdir /var/mail

Veya Dockerfile dosyasında:

RUN mkdir /var/mail 

Umarım bu yardımcı olmuştur.


3

İşin garibi, cevap hayır. Sadece kaynak kodunu okudum ve bunun için bir seçenek yok, ancak bir geçici çözüm (çeşit) var: maildirs sistem hesapları için oluşturulmuyor.

Böylece yapabilirsiniz useradd -r -m. Bununla birlikte, farklı aralıklardan seçildiklerinden, manuel olarak da bir UID / GID belirtmeniz gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.