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

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

ただいまの
回答率

90.47%

  • Apache

    1868questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

サーバーのアクセス制限

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 184

yuta.a

score 6

■やりたいこと(サーバー:AWS centOS7)
既存のユーザーとは別に、客先用のユーザーを追加して、
その客先ユーザーでログインした場合、一部のディレクトリしかアクセスできないようにしたいです。
var/www/html/プロジェクト名/webroot/csv_data/data(すべて所有者centos) 。
→最後のdataディレクトリだけを客先用のユーザーに公開したいです。

【問題1】
客先用のユーザーを追加したのですが、そもそもFTPサーバーに接続できないです。
使用ツールはWinSCPを使っています。

デフォルトユーザーのcentosは通常通り接続できます。
その際情報としては、SFTP/ホスト/ユーザー名/パスワード/秘密鍵を入力しています。
客先用のユーザーの場合も、同じく
SFTP/ホスト/ユーザー名/パスワード/秘密鍵(centosと同じ)を入力しています。

客先用のユーザーでログインしようとすると下記メッセージが表示されます。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
認証ログ (詳細はセッションログを見て下さい):
ユーザ名"dfhonbu" を使用中
サーバが鍵を拒否しました

認証に失敗
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

ユーザーを追加する際のコマンドは、
useradd -d var/www/html/kyakusaki -s /sbin/nologin userkyakusaki
さらにパスワードを設定し、グループをデフォルトユーザーのcentosと一緒にしました。

Q:以上をふまえて客先用のユーザーuserkyakusakiでWinSCPを使って接続するにはさらに何か設定が必要か教えていただきたいです。

【問題2】
その客先ユーザーでログインした場合、一部のディレクトリしかアクセスできないようにするために下記サイトを参考にし、SSH接続して設定してみました。
リンク内容

サイト内ではvsftpdの話をされてます。
このサイトを見てからvsftpdをサーバー内にインストールしました。
つまり今まではvsftpdは使ってなかったです。
ここでもう一つ関連するといいますか、よく出てくるのがsftpだと思います。
上記でも記載したように、WinSCPではプロトコルをsftpに設定し接続していました。
このことも大きくかかわるのでしょうか。

Q:以上をふまえて、最終目的である、客先用のユーザーuserkyakusakiには一部のディレクトリしかアクセスできないようにするための設定としては、上記サイトのやりかたであってますか?
sftpで接続しているならこの方法がいいよ!などあれば教えていただきたいです。

恐れ入りますが、ご教授いただければ幸いです。

----------------------------追記20180606-----------------------
【問題1】は解決いたしました!ありがとうございます。

【問題2】について追記いたします。

var/www/html/プロジェクト名/webroot/csv_data/data(すべて所有者centos) 。
→最後のdataディレクトリだけを客先用のユーザーに公開したいです。

パーミッションをあれこれいじっていたのですが、うまくいかず、下記URLを参照にディレクトリ制限を行いました。
リンク内容

しかし、先程まで客先用のユーザーuserkyakusakiでFTPサーバーに接続できていたのが、下記エラーが表示されます。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
「認証ログ (詳細はセッションログを見て下さい):
ユーザ名"dfhonbu" を使用中
サーバが鍵を拒否しました
認証に失敗」
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

下記/etc/ssh/sshd_configの変更内容となります。

# override default of no subsystems
#Subsystem sftp /usr/libexec/openssh/sftp-server


Subsystem sftp internal-sftp
Match group sftponly
ChrootDirectory /var/www/html/プロジェクト/webroot/csv_data/data
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
AuthorizedKeysFile /home/userkyakusaki/.ssh/authorized_keys


パーミッションは下記。
/var/www/html/プロジェクト/webroot/csv_data(root:root rwxr-xr-x)/data(userkyakusaki:userkyakusaki rwxr-xr-x)

恐れ入りますがどうかアドバイスお願いいたします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • yuta.a

    2018/06/06 15:31

    ssh接続でサーバーにログインは可能です!!!

    キャンセル

  • over

    2018/06/06 15:41

    その場合、WinSCPでも接続可能ですか?

    キャンセル

  • yuta.a

    2018/06/07 09:11

    シンボリックリンクを書いたら成功しました!!!!!ご丁寧にありがとうございました!!!!

    キャンセル

回答 2

checkベストアンサー

+1

やるべきは2点です。

  • 客先用ユーザーでのSSHログイン
  • ディレクトリの権限を適切に行う

ログインのメッセージを見ると ユーザ名"dfhonbu" を使用中 とありますが、なぜ客先用のユーザー名ではないのですか?
また、鍵認証をしたい場合はサーバー側に公開鍵の設定が必要になりますが、そちらは完了しているでしょうか?
(そもそも鍵認証が通っていればパスワードは不要なのですが…)

ディレクトリの権限設定は所有者と所有グループ、その他のユーザーについて適切に行なってください。
例えば var/www/html/プロジェクト名 の権限が 0755 となっている場合は客先用ユーザーからも参照できてしまいます。
詳しくはご自身で調べてみてください。

y_waiwaiさんからの回答にもありますが、 vsftpd は不要だと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/05 15:32

    ご回答ありがとうございます。
    ・ログインのメッセージを見ると ユーザ名"dfhonbu" を使用中 とありますが、なぜ客先用のユーザー名ではないのですか?
    →すみません、dfhonbu=客先用のユーザー名(ここで説明しているuserkyakusaki)です。

    ・鍵認証をしたい場合はサーバー側に公開鍵の設定が必要になりますが、そちらは完了しているでしょうか?
    →再度確認いたします。

    ・ディレクトリの権限設定は所有者と所有グループ、その他のユーザーについて適切に行なってください。
    例えば var/www/html/プロジェクト名 の権限が 0755 となっている場合は客先用ユーザーからも参照できてしまいます。
    →そうですか!貴重なアドヴァイスありがとうございます。

    全体的に思ったのですが、1つのユーザーに対して1つSSHでログインして、またそのユーザーのための設定をしてあげなければならないのですね!無知ですみません。。。

    キャンセル

  • 2018/06/06 10:39

    度々すみません。
    追加した客先用のユーザーにてSSH接続完了し、WinSCPにてFTPサーバーに接続も可能になりました。
    あとはディレクトリ制限をしたく、私が行った内容を追記いたしましたので、ご確認いただけないでしょうか。恐れ入りますがよろしくお願いいたします。

    キャンセル

  • 2018/06/06 11:21

    追記の内容をみてもSSH接続完了しているように見えないのですが、どういうことでしょうか…?
    パーミッションに関しては実際に客先用アカウントでログインして確認するのが一番いいのですが、csv_dataも閲覧できてしまうと思いますよ。それがなぜなのかは下記を参考にするなどして、一旦ご自身で調べてください。
    https://qiita.com/shisama/items/5f4c4fa768642aad9e06

    なお、パスの書き方がおかしいです。/csv_dataと書いてしまうと / (ルートディレクトリ)直下に csv_data が存在することになってしまいます。
    無用に改行を入れずフルパスを記載したほうが齟齬が生まれないと思います。
    /var/www/html/プロジェクト/webroot/csv_data

    キャンセル

  • 2018/06/06 11:53

    ご回答・ご指摘ありがとうございます!!!
    URL参考にさせていただきます!!!!!

    キャンセル

0

まず、客先ユーザでSSHでログインできるようにする必要があります
それができれば、同じ設定でWinSCPでアクセスできるようになります
vsftpd は必要ありません

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/05 15:21

    ご回答ありがとうございます。
    それはつまりこのサイトの内容とおっしゃってることは同じでしょうか?
    http://nekonenene.hatenablog.com/entry/2016/08/22/043437

    キャンセル

  • 2018/06/05 15:29

    まーそゆはなしですねえ。
    まずはSSHログインできるようにして、あとは権限設定になりますが、そこらへんはぐぐると設定例がたくさん出てきますねー

    キャンセル

  • 2018/06/05 15:33

    ありがとうございます!
    大変参考になりました!

    キャンセル

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

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

関連した質問

同じタグがついた質問を見る

  • Apache

    1868questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。