Резюме
Могу ли я создать нового пользователя без создания спула почты и без модификации /etc/default/useradd
?
Объяснение
Я хочу создать пользователя с домашним каталогом и скелетом, но мне не нужен useradd
сценарий для добавления файла почтового спула в систему unix.
Мой /etc/default/useradd
в файле указано, что
CREATE_MAIL_SPOOL=yes
но я не хочу изменять поведение по умолчанию.
На данный момент я использую
useradd nomailuser
rm /var/spool/mail/nomailuser
Также я знаю о -d
но похоже я не могу найти вариант для не создает почтовый ящик.
Я думаю, есть ли возможность использовать кастомные /etc/default/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
Итак, попробуйте это:
# useradd -K MAIL_DIR=/dev/null nomailuser
Появится предупреждение (Создание файла почтового ящика: не каталог), но можно игнорировать.
Я настраиваю образ Docker с пакетом Alpine и shadow и получаю ту же ошибку.
Чтобы избежать этого «Создание файла почтового ящика: такого файла или каталога нет» error Мне пришлось добавить следующую встроенную замену, прежде чем пытаться добавить пользователя:
RUN sed -i 's/^CREATE_MAIL_SPOOL=yes/CREATE_MAIL_SPOOL=no/' /etc/default/useradd
Это директива Dockerfile. Если у вас проблемы с уже работающим хостом, просто отредактируйте файл / etc / default / useradd и соответствующим образом измените настройку. Это изменение предотвратит создание почтового ящика для любого другого пользователя.
Это нежелательное поведение, вы можете просто создать папку / var / mail с помощью
[ -d /var/mail ] || mkdir /var/mail
Или в Dockerfile:
RUN mkdir /var/mail
Надеюсь, это помогло.
Как ни странно, ответ отрицательный. Я просто прочитал исходный код, и для этого нет возможности, хотя есть обходной путь (вроде): maildirs не создаются для системных учетных записей.
Так ты можешь сделать useradd -r -m
. Вам также придется указать UID / GID вручную, поскольку они выбираются из разных диапазонов.