私のローカルコンピュータにはDebian 10があり、KDEでDolphinを使用しています。私はこれをUbuntu 16.04を実行しているリモートコンピュータに接続するために使用しています。 Dolphinでは、sftpコマンドを使用してファイルをリンクして参照できます。
sftp://{username[:password]}@{domain}/{path}
リモートコンピュータの私のユーザーはsudoerです。ローカルコンピュータで編集用にリモートコンピュータのファイルを開くことができますが、保存しようとすると「アクセスが拒否されました」というメッセージが表示されます。リモートファイルの権限は674に設定されており、リモートシステムのマイユーザーアカウントはファイルグループと同じグループにあります。アクセスが拒否された理由がわかりません。グループの誰にも書き込みアクセス権を持ってはいけませんか?
答え1
UNIX / Linuxでは、ディレクトリはファイル名とinodeの「リスト」にすぎません。既存のファイルへの書き込みアクセス権を取得した場合は、そのファイルを変更できます。ただし、ディレクトリにファイルを作成/削除するには、ディレクトリ自体に対する書き込み権限が必要です。
sudo
/usr/lib/ssh/sftp-server
ここでは重要ではないようです。たとえば、次の方法でリモコンを呼び出すことができますsudo
。sftp -s '/usr/bin/sudo /usr/libexec/sftp-server' <remotehost>
。
3番目のコメントで判断すると、編集者はsftpを介してFUSEを使用し、元のファイルの編集中に一時ファイルを作成しますが、作成者はそのディレクトリへの書き込み権限がないため失敗したようです。