web-dev-qa-db-ja.com

Nautilusがgvfs / sftpでマウントするときにグループ所有権の権限を伝達する方法

「サーバーに接続」してNautilusを使用して、リモートのLinuxファイルシステムをUbuntu 16.04にマウントしています

sftp:myusername@myhost/home/myusername/scripts/myfile.ext

ファイルはリモートサーバー上でmyusername:groupAの所有権を持っています。

Geditまたは別のエディターでリモートでファイルを編集して保存すると、サーバーの所有権がmyusername:myusernameに変更されます

最初のグループの所有権は考慮されません。

この動作を変更する方法はありますか?

編集:

Nautilusでファイルを右クリックすると、グループIDは115と表示されます。名前を検索しました。

getent group 115 | cut -d: -f1

そしてwhoopsieを返します。

これは私にそれをある種のエラーと信じさせます。 Ubuntuがリモートグループ名を認識しないのでしょうか?

編集:

グループ名groupAはローカルマシンとリモートマシンの両方に存在しますが、グループIDが異なります。それが問題なのかしら。

3
deanresin

以下の点にご注意ください。

  • 新しいファイルはすべてデフォルトのumask 022を使用します
  • 新しいファイルは、作成者ユーザーとそのプライマリグループが所有します。
  • SFTPから変更されたファイルはサーバー上で変更されませんが、コピーはRAMを開いたときに作成され、保存時にファイルが上書きされます。これは、ファイルを削除してから作成するのと同じです。新しいもの。

ソリューション:

おそらく複数の解決策がありますが、最も簡単な方法はACLを使用することです。サーバーから(例:ssh)、最初にaclコマンドが使用可能であることを確認します。

apt install acl

ファイルシステムがACLを使用してマウントされていることを確認する必要がある場合があります(これはしばらくの間のデフォルトです)。 /をフォルダの適切なマウント場所に置き換えます。

mount -o remount,acl /

注:/ etc/fstabを変更して永続化する必要がある場合があります。

最後に、ファイルを保存するフォルダのデフォルトACLを変更する必要があります。このフォルダに作成された新しいファイルは、この新しい権利を取得することに注意してください。

setfacl -d -m g:group:rwx /your/folder

グループを必要な「グループ」に置き換え、「/ your/folder」をファイルを保存するフォルダに置き換えます。実行権限が必要ない場合は、rwxを適合させることもできます(その場合は、rwのみを使用してください)。

1
ob2