0

SCP でファイル許可の設定に問題がありますか、それともサーバーの構成を誤っていますか?

使用事例:

サーバー上に「importantFile.txt」という編集したいファイルがあります。ファイルには「マスター」の所有者とグループがあります。

ls -l importantFile.txt:
-rw-rw-r--  1 master master     7 Mar 18 08:11 importantFile.txt

私は「スレーブ」と呼ばれていますが、幸運にもグループ「マスター」に所属しているので、必要に応じてファイルを編集できます。しかし、私は怠惰な奴隷であり、サーバー上のファイルを編集することに煩わされることはありません。ローカル マシンでファイルを編集し、それをサーバーに SCP することを好みます。

echo "bored slave info" > importantFile.txt
scp importantFile.txt slave@theServerAddress:/pathToFile/importantFile.txt

これを行うと、サーバー上のファイルの内容が正常にアップロードされ、ファイルのタイムスタンプが更新されますが、ファイルのアクセス許可は変更されず、ファイルは引き続き「マスター」によって所有されます。「スレーブ」が悪いコンテンツをアップロードした場合、問題を引き起こしたのが「スレーブ」であることを誰も知らず、「マスター」が有罪に見えるため、これは問題です。

おそらく、umask を設定する必要がありますか? もしそうならどこ?成功せずに .bash_profile を試しましたが、Google で umask に関する情報は見つかりませんでした/etc/ssh/sshd_config

4

4 に答える 4

1

それは scp にとって特別なことではありません。サーバーにスレーブとしてログオンし、お気に入りのテキスト エディタを使用してファイルを編集してみてください。同じ動作が発生することがわかります。ファイルに書き込みを行っても、ファイルの所有者にはなりません。ファイル。


例:

ルートとして

#cd /tmp
#mkdir fubar
#chgrp vboxusers fubar
#cd fubar/
#touch testfile
#chgrp vboxusers testfile 
#chmod g+w . testfile
#ls -al
total 16
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     0 2009-03-19 10:30 testfile
#echo foo > testfile 
#ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     4 2009-03-19 10:30 testfile

ユーザーとして (vboxusers グループ内)

>cd /tmp/fubar
>ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     4 2009-03-19 10:30 testfile
>echo bar >> testfile 
>ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     8 2009-03-19 10:31 testfile
>vim testfile
>ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:31 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:31 ..
-rw-rw-r--  1 root vboxusers    12 2009-03-19 10:31 testfile
>cat testfile 
foo
bar
baz
于 2009-03-18T14:11:26.947 に答える
1

変数を介して Emacs がこれを処理する方法を設定できるようbackup-by-copying-when-mismatchです (Emacs マニュアルを参照するか、Emacs を入力してくださいC-h-v backup-by-copying-when-mismatch)。

これは Tramp のバグだと思ったので、実際にバグ レポートを提出しました。

于 2010-10-27T15:31:59.510 に答える
0

私はファイルの仕組みを誤解していました.ファイルの内容を変更しても所有権やグループは変更されません.

なぜ混乱するのですか?EMACS - ファイルを編集するときはいつでも Emacs を使用していましたが、Emacs は所有者とグループを現在のユーザーに変更します。これは、「filename」を「filename~」に移動し、「filename」という名前の新しいファイルを作成することで、保存時にバックアップ ファイルを作成するためです。これは新しいファイルであるため、現在のユーザーのファイル アクセス許可を持っています。これはⅥファンにとっては1upなのかな?

于 2009-03-19T08:12:54.693 に答える