WinSCPはFTP/SFTP/FTPS/SCPに対応したフリーのファイル転送ツールです。WordPressサーバーとのファイルの受け渡しには、もっぱらこのソフトを使ってSFTPでやり取りしています。
ただ、WinSCPではサーバーにログイン後、ユーザーを変更(su)することはできないため、ログインしたーユーザーの権限でしかファイル操作ができず何かと不便です。
そこで、ここではサーバー側の設定とWinSCPの設定を変更することで「特定のユーザーがSFTPで接続した時のみroot権限で操作ができるようにする方法を紹介します。
目次
手順
接続先のサーバー側の設定
※WinSCPで使用するユーザーを「hogehoge」とした場合、以下のようになります。
※接続先サーバーはCentOS7想定です。
visudo
hogehoge ALL=NOPASSWD: /usr/libexec/openssh/sftp-server
WinSCPの設定
次に、WinSCPを起動し以下の手順を実施します。
- 接続情報を⼊⼒する画面で、「設定」をクリックします。
- 左側のメニューから「SFTP」をクリックし、「SFTPサーバ」に「sudo/usr/libexec/openssh/sftp-server」を設定します。
- 以上で完了です。
あとがき
上に記載している設定が何をしているのか詳しいことはわからないのですが、どうも一般ユーザーでログインしてファイル転送が開始する前にroot権限持ちに変身しているようです。