質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.23%

Linuxのメールユーザーについて

受付中

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 4,669
退会済みユーザー

退会済みユーザー

もし、メールサーバーを立てているサーバーで例えはhogeというユーザーを作成すると、自動的にhoge@example.comというメールアドレスが作られるのでしょうか?

useradd hoge

また、パスワードを設定しない状態だとhogeユーザーでメールサーバーにログインできてしまうのでしょうか? よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+2

メールサーバの設定によります。

メールサーバと言ってもいろいろな設定が可能です。メールのアカウントの管理をローカルユーザにあるかないかで扱うような設定であればuseraddでメールアカウントがつくられますが、外部のLDAPやデータベースでアカウントを管理するような仕組みにしている場合は、ローカルユーザがいくつつくられても無視されるでしょう。ですので、メールサーバの構成がどのようになっていて、それぞれの設定がどうなっているかわからない限り、YESともNOとも言えないと思います。

なお、パスワードについては、通常の設定であればパスワードを設定しない限りアカウントがロックされているため、ログインはできないでしょう。ただ、(やったことはありませんが)パスワード未設定でもロックせずにパスワード無しでログインもできるようにする設定もあると思います。どうなっているのかはこれもサーバの設定を見ないとわかりません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/12/16 07:48 編集

    回答ありがとうございます。
    デフォルトではuseraddでhogeユーザーを追加してもパスワードを設定しない限りログインできないということですね。
    passwdでパスワードを設定してもメールサーバーにはログインさせない方法はありますか?
    sshの場合は/bin/falseをシェルに指定することでログインできなくすることができたのですが・・・。

    キャンセル

  • 2015/12/16 11:16

    メールアカウントをローカルユーザーとして登録するのですね。
    「ログインさせない」が「POP/IMAP や SMTP-Auth で認証はさせるけれど、SSH などでログインさせない」という意味であれば、そのユーザーのシェルを /bin/false とか /sbin/nologin にすればいいです。

    キャンセル

  • 2015/12/16 21:45

    そうではなくて、ローカルユーザーにパスワードは与えたいがメールアカウントはあたえたくないのです。SMTP-Authをさせたくないのです。

    キャンセル

  • 2015/12/17 00:03

    「ログインさせない」は SSH, POP/IMAP, SMTP-Auth すべてにかかるのですね。
    ログインさせないユーザーにパスワードを設定する目的・理由がわかりませんが、認証に Linux PAM を使っているのであれば、/etc/pam.d/dovecot に pam_access.so の設定を入れて、ユーザーごとにログイン可否を設定する方法が考えられます。
    または、Dovecot の認証を、PAM ではなく、LDAP や別のものに変更する方法もあります。

    キャンセル

+2

メールサーバのアカウントと通常の
サーバへのログインアカウントを
混同されています。

サーバへのログインアカウントを作った
だけでは自動的にメールサーバの
アカウントは作成されませんし、勝手に
ドメイン名が付加されることはございま
せん。

逆に通常のログインアカウントが無く
てもメールサーバ用のアカウントを
作ってpopの設定を適切に行えば
メールアドレスは使えるようになります。

ご参考まで

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

どんなメールサーバーをどの様な運用で利用したいのか具体的な前提条件が何も示されていないので、raccyさんのご回答の通り、  

メールサーバの設定によります。  

としか回答出来ないと思います。  

そもそも、この様なご質問をなさるということは、linux等のOSが稼働している 筐体 としてのサーバー(これをホストと呼びます)と、その上で稼働している sendmail や postfix のような サーバープログラム(デーモンとも言いますが、Windowsで言うところのサービスです)を混同されているのではないでしょうか?  
もっとも、メールサーバープログラムが稼働しているホストのこともメールサーバーと呼ぶ場合があるため、混同しやすいのも事実ですが・・・  

その違いが区別出来ないと、適切な質問が出来ないですし回答を理解するのも難しいです。  

SSH の例と比較されていますが、SSH(Secure SHell)は ホストに(安全に)ログインする為のサーバーなので、デフォルト設定ではホストにアカウントを持っているユーザーが自分のパスワードでログイン出来ます。  

しかし、サービスプログラムとしてのメールサーバーはホストにログインするためのものではなくてメールの送受信というサービスを提供するものなので、ユーザーを割り当てるということは ユーザー名@ドメイン名 というメールアドレスを発行することと同義であり、そのパスワードは本人だけがそのアドレスを使用出来るようにするためのものです。  

そのため、本来はメールアドレス&そのパスワードと、ホストのユーザーアカウント&アドレスは、全く無関係です。メールアドレスを割り当てたからといってホストにログイン出来るようになる訳ではありません。  

とは言っても、ホストにログインアカウントを持っているユーザーはメールも使いたい場合が多く、都度個別に設定するのが面倒なので、それらを一元管理出来る仕組み(例えばLDAPなど)もあるということです。


《 追記:2015/12/26 08:06 》

サーバーという言葉は耳慣れた一般的な言葉ですが、実はとても曖昧な言葉であり具体的に何を指して使われているかは前後の文脈から判断するしかありません。

ローカルユーザーとメールアカウント1,2

図1は、PCなどハードウェアの上でオペレーティング・システム(OS)が稼働しており、そのOSの上で各種のソフトウェアが実行されている様子を模式的に示したものです。

サーバー」という言葉の本来の意味は、「何らかのサービス(機能)を提供するもの」であり、図2に示した通り、コンピューターのハードウェアもオペレーティング・システムも、あるいはPostfixSSHのようなサーバーソフトも、皆サーバーと呼ばれます。

紛らわしいので、俗に、サーバーとして使用されるコンピューター・ハードウェアのことを「サーバー」、サーバー目的で使用されるオペレーティング・システムのことを「サーバーOS」などと呼んで区別する場合もあります。

ハードウェア+OS」は、サーバープログラムが稼働するための基盤(各種リソース)を提供するものなので「ホスト」と呼ばれることもあります。リソースを提供されてホスト上で稼働するプログラムは皆、いわばゲストです。

サーバーソフトは、Windowsでは「サービス」、Linuxでは「デーモン」と呼ばれている種類のプログラムで、PCのにログインしているユーザーからは直接見えないところ(=バックグラウンド)で稼働し続けて、便利な機能を提供します。そこが、WebブラウザやExcelなどユーザーが直接利用するアプリケーション・プログラムと一番異なる点です。

さて、ここからが本題ですが、一般に「メールサーバー」と言った場合には何を指しているでしょうか?

ローカルユーザーとメールアカウント3,4

「メールサーバーにPostfixを使用している」といった文脈では、「メールサーバー」とはPostfixという「メールサーバーソフトウェア」そのもののことを指す(図3)のが一般的です。この場合の(狭義の)メールサーバーは、ログインする対象ではなく、OSにログインしたユーザー(メールサーバーの管理者)が設定を変更したり状態を監視したりしながら、その機能を利用するものです。

ところで、OS上で稼働している主なサーバーソフトがメールサーバーのみで、もっぱらメールサーバーとして利用するホストのことを、図4のように(広義の)メールサーバーと呼ぶこともあります。

それで「メールサーバーへログインする」といった文脈では、同じ「メールサーバー」という言葉が「ホスト+メールサーバーソフト」全体を指している事になります。

では、mondさんが仰っている以下の2点は、何を指しているのでしょうか?

  1. useradd コマンドで hoge というユーザーを作成する
  2. hoge@example.com というメールアドレス(メールアカウント)を作成する

ローカルユーザーとメールアカウント5

useradd コマンドで作成される hoge というユーザーは、ホストへログインする(OS上で作業する)ための「ローカルユーザー」です。
一方、hoge@example.com というメールアドレスは、同じ hoge ですけれどもローカルユーザーの hoge とは全くの別物であり、(狭義の)メールサーバーが提供する「メールを送信したり受信した自分宛てのメールを読んだりする」機能を利用するためのメールアカウントです。
ユーザー(アカウント)の作成方法も管理方法も全く別であり、もし仮に全く同じ「abcdefg」というパスワードを設定したとしても、そのパスワードの管理場所も(本来は)全く別です。

ローカルユーザーを作成したら自動的にメールアカウントが作成される訳ではありませんし、メールアカウントを付与するのにローカルユーザーが必要な訳ではありません。ローカルユーザーを持たない(ホストへのログイン権限のない)人へ複数のメールアカウントを割り当てることだって出来ます。メールサーバーの管理者(当然、ホストのローカルユーザーを持っていてログイン権限がある)がメールアカウントを持っていない(他のメールサーバーを利用している)というケースだってあります。

mondさんが引き合いに出されたSSHというサーバーは、リモートから対象のホストへ安全にログインする機能を提供するものなので、SSHサーバー自体にユーザーという概念はなく、あくまでもホストのローカルユーザーにリモートからログインする権限を付与するかどうか(SSHを利用させるかどうか)という設定をすることになります。
つまり、SSHサーバーについて話題にしている場合のユーザーとは、ホストのローカルユーザーそのもののことなので、ホストへのログイン権限を持たない「hogeというSSHユーザー」が存在する訳ではありません。

もっとも、現在ではひとりの人がたくさんのサーバー(ホスト)に対してローカルユーザーを持っていたりたくさんのメールアドレス(メールアカウント)を持っているのが一般的であり、ローカルユーザーを作成する際にメールアカウントも割り当ててパスワードも一元管理したいという要件もあるので、それらを一元管理するための仕組みもあって、ローカルユーザーの作成と同時にメールアカウントを自動発行することもできるということです。

長くなりましたが、以上をまとめると

  • サーバーという言葉が何を指しているかは文脈によって判断する必要がある
  • 狭義のメールサーバーとはPostfixのようなサーバーソフトウェアのことを指す
  • メールサーバーの利用権限(メールアカウント)はホストのローカルユーザーとは別物である
  • メールアカウントでホストにログインすることはできない
  • ローカルユーザーとメールアカウントの作成・管理は本来別々に実施される
  • SSH自体にユーザーが存在する訳ではなくホストのローカルユーザーにSSHを利用させるかどうかの設定をする

という感じです。
以上のポイントが腹に落ちれば(得心できれば)、mondさんのご質問(疑問)が、実は「サーバー」という言葉を混同しているためであることがご納得頂けると思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/12/16 08:40

    回答ありがとうございます。
    ますます混乱してよくわからないのですが、useraddでユーザーを新しく作ったところでメールサーバーにログインできるわけではないということですか?

    メールサーバーの構築は下記のURLを参考にしました。
    http://www.server-world.info/query?os=CentOS_7&p=mail

    環境はCentOS7でメールサーバーはPostfixです。

    キャンセル

  • 2015/12/26 06:39

    混乱させたまま放置してしまい申し訳ありません。
    要するに「メールサーバー」という言葉の曖昧さが混乱の元であり、メールサーバーにPosixを使用しているとか、サーバーの構築手順がどうとかいう問題ではないのです。
    理解の助けになるかどうか分かりませんが、イメージ図を書いて回答欄に追記してみましたので、よろしければご一読ください。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる