Cara membuat akun linux dengan useradd tanpa membuat spool mail


11

Ringkasan

Bisakah saya membuat pengguna baru tanpa membuat spool mail dan tanpa modifikasi /etc/default/useradd?

Penjelasan

Saya ingin membuat pengguna yang memiliki direktori home dan kerangka, tetapi saya tidak ingin useraddskrip menambahkan file spool mail ke sistem unix.

/etc/default/useraddFile saya menyatakan itu

CREATE_MAIL_SPOOL=yes

tapi saya tidak ingin mengubah perilaku default.

Untuk saat ini saya menggunakan

useradd nomailuser
rm /var/spool/mail/nomailuser

Saya juga tahu tentang -dtetapi tampaknya saya tidak dapat menemukan opsi untuk tidak membuat surat spool .

Saya sedang memikirkan apakah ada opsi untuk menggunakan /etc/default/useraddfile khusus .

Jawaban:


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

Jadi, coba ini:

# useradd -K MAIL_DIR=/dev/null nomailuser

Sebuah peringatan akan muncul ( Membuat file kotak surat: Bukan direktori ), tetapi Anda dapat mengabaikannya.


Terima kasih, berfungsi sebagai pesona. Apakah ada alasan khusus yang -K CREATE_MAIL_SPOOL=notidak berhasil sama sekali?
drinchev

1
Karena itu bukan milik /etc/login.defs.
kuanta

@quanta, Karena -K MAIL_DIR=/dev/nullsaya mendapat kesalahan:Creating mailbox file: Not a directory
Kirby

@ Drinchev, karena -K CREATE_MAIL_SPOOL=nosaya mendapat kesalahan configuration error - unknown item 'CREATE_MAIL_SPOOL' (notify administrator).
Kirby

Saya mendapatkan hasil yang sama dengan Kirby ... Saya menggunakannya untuk wadah buruh pelabuhan alpine jadi saya pergi denganecho "CREATE_MAIL_SPOOL no" >> /etc/default/useradd
Adi Roiban

5

Saya menyiapkan gambar Docker dengan paket Alpine dan shadow dan mendapatkan kesalahan yang sama.

Untuk menghindari kesalahan "Membuat file kotak surat: Tidak ada file atau direktori" saya harus menambahkan penggantian inline berikut sebelum mencoba menambahkan pengguna:

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

Ini adalah arahan Dockerfile . Jika Anda kesulitan dengan host yang sudah berjalan, cukup edit file / etc / default / useradd dan ubah pengaturannya. Perubahan ini akan mencegah pembuatan pengguna lain dari membuat kotak suratnya dibuat.
Jika itu bukan perilaku yang diinginkan, Anda cukup membuat folder / var / mail

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

Atau di Dockerfile:

RUN mkdir /var/mail 

Semoga ini bisa membantu.


3

Anehnya, jawabannya adalah tidak. Saya baru saja membaca kode sumber dan tidak ada opsi untuk ini, meskipun ada solusi (semacam): maildirs tidak dibuat untuk akun sistem.

Jadi kamu bisa melakukannya useradd -r -m. Anda harus menentukan UID / GID secara manual juga, karena mereka dipilih dari rentang yang berbeda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.