メールスプールを作成せずにuseraddでLinuxアカウントを作成する方法


11

概要

メールスプールを作成したり変更したりせずに、新しいユーザーを作成できます/etc/default/useraddか?

説明

ホームディレクトリとスケルトンを持つユーザーを作成したいのですが、useraddスクリプトでメールスプールファイルをUNIXシステムに追加したくありません。

私の/etc/default/useraddファイルはそれを述べています

CREATE_MAIL_SPOOL=yes

しかし、デフォルトの動作を変更したくありません。

今のところ私は使っています

useradd nomailuser
rm /var/spool/mail/nomailuser

また、私は知って-dいますが、メールスプールを作成ないオプションを見つけることができないようです。

私はカスタム/etc/default/useraddファイルを使用するオプションがあると考えています。

回答:


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

だから、これを試してください:

# useradd -K MAIL_DIR=/dev/null nomailuser

警告が表示されます(メールボックスファイルの作成:ディレクトリではありません)が、無視できます。


ありがとう、魅力として働きます。まったく-K CREATE_MAIL_SPOOL=no機能しない特定の理由はありますか?
drinchev 2013

1
に属していないから/etc/login.defsです。
クォンタム2013

@quanta、-K MAIL_DIR=/dev/nullエラーが発生したため:Creating mailbox file: Not a directory
Kirby

@drinchev、-K CREATE_MAIL_SPOOL=noエラーが発生したため configuration error - unknown item 'CREATE_MAIL_SPOOL' (notify administrator)
カービィ

私はカービィと同じ結果を得ました...私はそれを高山のecho "CREATE_MAIL_SPOOL no" >> /etc/default/useradd
港湾労働者の

5

AlpineとshadowパッケージでDockerイメージをセットアップしているときに同じエラーが発生しました。

この「メールボックスファイルの作成:そのようなファイルまたはディレクトリはありません」エラーを回避するには、ユーザーを追加する前に、次のインライン置換を追加する必要がありました。

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 

これがお役に立てば幸いです。


3

奇妙なことに、答えはノーです。私はソースコードを読んだだけで、これに対するオプションはありませんが、回避策(一種)があります。maildirはシステムアカウント用に作成されません。

そうすることができますuseradd -r -m。ただし、UID / GIDは異なる範囲から選択されるため、手動で指定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.