勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

FTP接続する際のユーザー及びグループ設定についてのメモ

   2024/02/22  サーバー

共用のレンタルサーバーを使用する時には気にならないが、VPSや専用サーバーを使う際にFTPユーザーをどう用意、使用するのかイマイチよく分かっていなかった。そのあたりの対処法をメモ。

 

今までは

今まではapacheユーザーにパスワードを設定して、そのままFTPユーザーとして使用するという方法で乗り切っていた。ただ、他社の専用サーバーでFTPアカウントを貰ったりすると当然、apacheユーザーではなかった。また、パーミッションやらグループあたりの設定が必要なんだろうけど、その辺があやふやだった。

 

ユーザーの作成とグループ設定

別途ユーザーを作ってapacheグループを入れるのが一般的っぽい。SSH接続して以下で対応する。

#ユーザー作成
useradd test_user

#パスワードをかける
passwd test_user

#ユーザーをapacheグループに入れる
usermod -g apache test_user

 

ファイルをアップロードできない

FTP接続して適当なディレクトリを開き、テストファイルをアップロードしようとしても、「553 Could not create file.」のエラー表示が出て、アップロードできなかった。パーミッションを見ると「755」になっているのでグループ部分の書き込み権限がないのが原因だと思われる。SSH接続して対象ディレクトリに対して書き込み権限を与えた。

chmod 775 /ver/www/html/hoge

 

アップロード後に気になる点

アップロードが完了し、ファイル情報を確認したところユーザーとグループは当然「test_user」になっていた。パーミッションは「604」だった。ブラウザから接続すると正常に表示されたが、その際にどのユーザーで該当のファイルにアクセスしているのかが気になった。調べたところapacheユーザーでファイルにアクセスしている模様。該当ファイルのパーミッションは「604」なので、その他にあたる「4」の部分が適用されるよう。テストでパーミッションを「770」にすると閲覧できなくなり、「774」にすると閲覧できた。

逆にapacheユーザーでファイルを作成した場合は、所有者自身に読み込み権限がいる為「4xx」にする必要があるみたい。

 

その他

しばらくこのユーザーを使ってみて、問題なければ今度はディレクトリ制限のあるユーザーを作ってみたいので宿題とする。

 

参考

http://www.atmarkit.co.jp/ait/articles/1612/14/news022.html
https://norm-nois.com/blog/archives/2649
http://yinm.hatenadiary.jp/entry/2017/01/22/200537

 - サーバー

  関連記事

CentOS6系から7系に(KAGOYAからIndigoに)移行した際のメモ
CentOS6系から7系に(KAGOYAからIndigoに)移行した際のメモ

CentOS6系から7系に、さらにKAGOYAのVPSからWebARENA In ...

Podmanで導入したapache-phpに各種PHPモジュールを追加する方法
Podmanで導入したapache-phpに各種PHPモジュールを追加する方法

先日Podmanでapache-php8.4を導入したが、phpinfoで確認す ...

さくらのレンタルサーバーにお名前.comのサブドメイン設定
さくらのレンタルサーバーにお名前.comのサブドメイン設定

さくらのレンタルサーバーにお名前.comで取得・管理しているドメインの、サブドメ ...

Podmanで導入したApacheのチューニング(mpm_prefork)に関する設定方法
Podmanで導入したApacheのチューニング(mpm_prefork)に関する設定方法

Podmanで導入したApacheのチューニング(mpm_prefork)を行い ...

OpenLiteSpeedにて同一サーバ内で複数のドメインを運用する方法(バーチャルホスト設定)
OpenLiteSpeedにて同一サーバ内で複数のドメインを運用する方法(バーチャルホスト設定)

OpenLiteSpeedにて同一サーバ内にて別ドメインやサブドメイン等、複数の ...