WinSCP:一般ユーザーでログイン後、自動でsudoする方法

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を起動し以下の手順を実施します。

  1. 接続情報を⼊⼒する画面で、「設定」をクリックします。
  2. 左側のメニューから「SFTP」をクリックし、「SFTPサーバ」に「sudo/usr/libexec/openssh/sftp-server」を設定します。
  3. 以上で完了です。

まとめ

上に記載している設定が何をしているのか詳しいことはわからないのですが、どうも一般ユーザーでログインしてファイル転送が開始する前にroot権限持ちに変身しているようです。

参考

https://winscp.net/eng/docs/faq_su

スポンサーリンク