このコマンドを使用して、Windows 7でcygwinを使用してディレクトリをubuntuマシンにコピーしています。
scp -rp -P 54322 /cygdrive/c/xampp/htdocs/. [email protected]:/home/user/somefolder/
すべてのファイルをコピーした後、それらはすべて「読み取り、書き込みなし」のアクセス許可を持ちます。誰が理由を知っていますか?
または、/cygdrive/c/xampp/htdocs/
を/cygdrive/c/Users/user
にコピーしてから、scpを使用してファイルをコピーした場合。許可は正しいです。
---------- 1 user user 1273 Apr 21 16:32 about.html
---------- 1 user user 1707 Apr 21 16:33 contact.html
d--------- 2 user user 4096 Apr 21 04:14 images
---------- 1 user user 2259 Apr 21 22:27 index.html
---------- 1 user user 1252 Apr 21 16:33 projects.html
---------- 1 user user 823 Apr 22 22:03 style.css
drwx------ 6 user user 4096 Apr 21 02:11 xampp
私はrsync/sshとcygwinでいくつかの問題を抱えています。
$ mount
D:/ProgramsVista/ICW/etc/terminfo on /usr/share/terminfo type ntfs (binary,noacl)
D:/ProgramsVista/ICW/bin on /usr/bin type ntfs (binary,noacl)
D:/ProgramsVista/ICW/lib on /usr/lib type ntfs (binary,auto)
D:/ProgramsVista/ICW on / type ntfs (binary,noacl)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
E: on /cygdrive/e type iso9660 (binary,posix=0,user,noumount,auto)
cp /etc/fstab /etc/fstab.install
echo "none /cygdrive cygdrive binary,posix=0,user,noacl 0 0" >> /etc/fstab
logout
ssh Adminstrator@hostname
$ mount
D:/ProgramsVista/ICW/etc/terminfo on /usr/share/terminfo type ntfs (binary,noacl)
D:/ProgramsVista/ICW/bin on /usr/bin type ntfs (binary,noacl)
D:/ProgramsVista/ICW/lib on /usr/lib type ntfs (binary,auto)
D:/ProgramsVista/ICW on / type ntfs (binary,noacl)
C: on /cygdrive/c type ntfs (binary,noacl,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,noacl,posix=0,user,noumount,auto)
E: on /cygdrive/e type iso9660 (binary,noacl,posix=0,user,noumount,auto)
(申し訳ありませんが、今朝は書式設定を正しく行えないようです。)
NTFSドライブ(Windowsに似た権限を持つ)からコピーしているので、Cygwinは基本的にUnixのような権限のセットを「構成」しています。ファイルを実際のUNIXベースのシステムにコピーすると、これらの権限が関連します。 scpで-p
オプションを使用しているため、Cygwinが「作成」した権限を保持しています。受信側システムには、そのUIDを持つユーザーがいないか、少なくともユーザーアカウントがそのUIDを持つユーザーアカウントではないため、アクセス許可を表示するアクセス許可もありません。
これを修正する最も簡単な方法は、Linux側のファイルの所有権を取得することです。
chown $(whoami):$(whoami) ~/somefolder -R
chmod 750 -R ~/somefolder/
linuxデスクトップから。これにより、ユーザーにはrwxの権限が付与され、グループにはrxの権限が付与され、他のユーザーにはアクセスできなくなります。または、-p
をscpからドロップします。これは、ユーザーアカウントのUMASKを使用してUNIX側で新しい権限を生成する必要があります
追加のフラグを使用します。 man scp
から:
-p Preserves modification times, access times, and modes from the original file.