vista

Vistaのファイルシステムではまる

PCのファイルをcygwinのrsyncを使ってNASに同期しようとしてちょっとはまりました。

Vistaのファイルシステムには、NTファイルシステムと互換を保つためのスペース入りのディレクトリがあります。コマンドプロンプトからは見えないのですが、cygwinのbashからは見えてアクセス権限が微妙に複雑です。Vistaの管理権限と合わせると、もう正直言って理解不能です。

コマンドプロンプトで見ると次のようにとてもシンプルに見えます。

C:\>dir
C:\ のディレクトリ
2007/11/08  23:00    <DIR>          Program Files
2007/05/29  01:22    <DIR>          Users
2007/11/08  23:13    <DIR>          Windows
C:\>

しかし、cygwinのbashでは、次のように見えます。

total 4483702
drwx------+  8 Administrators ????????             4096 May 29 01:23 $Recycle.Bin
-r-x------+  1 SYSTEM         SYSTEM               8192 Jan 27  2007 BOOTSECT.BAK
drwxrwx---+ 26 ????????       ????????             4096 Jan 27  2007 Boot
d---------   2 ????????       ????????                0 Nov  8 23:12 Config.Msi
dr-xr-xr-x+  2 Administrators ????????             4096 May 29 01:22 Documents and Settings
dr-xr-x---+ 51 ????????       ????????            12288 Nov  8 23:00 Program Files
drwx------+ 20 Administrators ????????             4096 Nov  5 00:54 ProgramData
d---------   2 ????????       ????????                0 Nov  9 22:56 System Volume Information
dr-xr-xr-x+  9 Administrators ????????             4096 May 29 01:22 Users
drwxrwx---+ 60 ????????       ????????            24576 Nov  8 23:13 Windows
-rwxrwx---+  1 Administrators Administrators         24 Sep 19  2006 autoexec.bat
-r-xr-x---+  1 ????????       ????????           438840 Nov  2  2006 bootmgr
-rwxrwx---+  2 Administrators Administrators         10 Sep 19  2006 config.sys
----------   1 ????????       ????????       2138431488 Nov  8 23:12 hiberfil.sys
----------   1 ????????       ????????       2452357120 Nov  8 23:12 pagefile.sys

C:\Usersは、アクセスできるのにC:\Documents and Settingsは、権限不足になります。C:\Documents and Settings\ユーザにはアクセスできるのでなんだかよく分からない….

$ ls /cygdrive/c/Users
All Users  Default  Default User  Public  desktop.ini  vistauser
$ ls /cygdrive/c/Documents\ and\ Settings/
ls: cannot open directory /cygdrive/c/Documents and Settings/: Permission denied
$ ls /cygdrive/c/Documents\ and\ Settings/vistauser
AppData
Application Data
... 以下 vistauserのホームディレクトリのファイルが続く ...
$ 

rsyncで同期するときにC:\Documents and Settingsからアクセスするとなぜか失敗してしまいC:\Usersに変えたら動きました。なんとなく、すっきり理解できていませんが、正直、理解する気持ちが…

しかも、定期的に実行する場合、cronはSYSTEMユーザで起動されるので、さらに混沌とします。もう、無理かも…
Vistaのタスクでやってみるかな。

タイトルとURLをコピーしました