※ ChatGPTを利用し、要約された質問です(原文:さくらVPSの一般ユーザーにようるSFTP)
さくらVPSのSFTPを一般ユーザーで利用する方法
このQ&Aのポイント
さくらVPSの一般ユーザーによるSFTPでのファイル転送方法について調査しました。
rootユーザーのSSHログインを禁止し、一般ユーザーで秘密鍵を使用してログインしています。
一般ユーザーでFTPクライアントからSFTPでファイルを転送する段階でエラーが発生し、パーミッションの制限が原因の可能性があります。解決方法を求めています。
さくらVPSを利用しています(CentOS 5.7)。
SFTPでファイルをアップロードする段階で先に進めないでいます。
rootのSSHのログインを禁止し一般ユーザーで秘密鍵を使いログインしています。
一般ユーザーexsampleを作成しました。一般ユーザーexsampleはmkdir,rmなどはできません(Permission deniedが発生します)。
調べるとsudoを使うと良いとあるので設定を行いました。
■グループwheelを設定
id exsampleは下記のようになりました。
uid=500(exsample) gid=500(exsample) groups=500(exsample),10(exsample)
■visudoでグループwheelにsudoを設定
#%wheel ALL=(ALL) ALL → %wheel ALL=(ALL) ALL
■exsampleユーザーにパスを設定
exsampleユーザーの.bash_profileにパスを通しました。
これでsudo mkdir, sudo rmコマンドを実行できるようになりました。
sshでログインしてコマンド操作をするさいはsudoを使うので良いのですが
一般ユーザーexsampleでFTPクライアントからSFTPでファイルを転送するときにエラーが発生します。
SFTPでサーバーへの接続は正常にできています。サーバー上にディレクトリやファイルを作成するさいPermission deniedが発生します。
エラーの発生は当然だと思うのですがいろいろ調べるとrootでのログインは禁止するのが良いと有ります。
パスワード認証も止めて秘密鍵で認証がよいともありそのようにしています。
SFTPを一般ユーザーで利用してファイルを転送することは可能でしょうか(FTPクライアントはFileZillaを使っています)。可能でしたら方法をお教えください。
ユーザーrootで行うしか無いのでしょうか。
ご回答よろしくお願い致します。
お礼
ご回答ありがとうございます。 >ホームディレクトリのパーミッション(所有ユーザーなども)はどうなっていますか? >そして、どこにディレクトリの作成やファイルの作成をしようとしていますか? 所有者はexsampleです。ホームディレクトリではmkdirやrmも使えました。 ご指摘のとおり /var/www/htmlに独自ドメイン用の公開用ディレクトリ(exsample.com/httpdocs)を作成しています。そのhttpdocsへSFTPでファイルを転送しようとしていました。 >シェルでコマンドが発行できるのですからホームディレクトリに置いた後でmvコマンドなりcpコマンドなりでファイルをコピーする…という運用でいいのではないですか? 一般ユーザーexsampleのディレクトリでのコマンド実行と/var/www/htmlなどの他のディレクトリでのコマンド実行をごっちゃに考えていました。ご回答を読んで整理できてきました。 ご回答を参考にして一般ユーザーexsampleのホームディレクトリにファイル転送先の公開ディレクトリを作成しようと考えました。 大変参考になりました。ありがとうございます。