
最近、SFTPGoの導入に関するチュートリアルを投稿しました。このプラットフォームを実際に使ってみて、デフォルトの仮想フォルダの範囲を超えて操作しようとすると、少し複雑になり、SFTPGoにユーザーとグループを追加するだけでなく、Linuxシステムにもユーザーとグループを追加する必要があることに気づきました。これにより作業量が倍増し、多くのユーザーを扱う場合は問題が発生する可能性があります。
ユーザーを仮想フォルダ内に留めておくことを選択した場合、これは問題ではありません。しかし、私の目的としては、/srv/sftpgo 以外のフォルダを共有できるようにする必要があります。
もし私と同じような面倒なことをしたくないなら、簡単な解決策があります。やり方をお見せしましょう。
参照: 知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)
必要なもの
この変更を行うには、SFTPGo のインスタンスが実行中であることと、sudo 権限を持つアカウントを使用してホスティングサービスに SSH アクセスできることが必要です。これで完了です。さあ、魔法をかけてみましょう。
この変更を行う方法
デフォルトでは、SFTPGoは専用ユーザーとして実行されます。これはセキュリティ強化のためであり、サービスは制御ユーザーがアクセス可能な場所にのみ書き込みを行うことができます。
このデフォルト設定を回避すれば、問題が発生する可能性はあるでしょうか?もちろんです。ですから、ネットワークを信頼できない場合は、この変更を慎重に検討する必要があるかもしれません。しかし、シンプルさを求めており、信頼できるセキュリティチームがネットワークのセキュリティ強化に尽力してくれているのであれば、この変更によって少し楽になるでしょう。
この変更を行うには、SFTPGo systemd サービスを sftpgo ユーザーではなく root ユーザーで実行するように再構成します。この変更を行うには、systemctl 編集ツールを使用してファイルを編集します。そのためには、ホスティングサーバーに SSH 経由でログインし、次のコマンドを実行します。
sudo systemctl edit sftpgo.service
そのファイルに次の行を追加します。
[Service]
User=root
Group=root
ファイルを保存して閉じます。
次のコマンドで SFTPGo サービスを再起動します。
sudo systemctl restart sftpgo
この時点で、SFTPGo はルート ユーザーとして実行されており、それ以外の場合、私が実行したすべての手順を実行する必要がなくなるはずです。
ファイルマネージャー(Nautilusなど)やFileZillaなどのアプリケーションからSFTPGoサーバーに接続する際には、1つ注意点があります。SFTPGoはポート2022を使用するため、接続する際は標準ポート22ではなく、必ずこのポートを使用してください。GNOMEファイルマネージャーアプリとFileZillaの両方でテストしましたが、問題なく動作しました。ただし、FileZillaで接続する際は、ホストがsftp://SERVER(SERVERはSFTPGoサーバーのIPアドレス)の形式になっていることを確認してください。
ここでの教訓は、SFTPGo を使用する最良の方法は、推奨されている方法を採用し、ユーザーに SFTPGo の Web UI 内で操作してもらうことです。この方法を採用すれば、SFTPGo は企業にとって優れた小型 SFTP サーバーとなるでしょう。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。