らぎめも

らぎらぎのノート

ユーザ用ツール

サイト用ツール


windows:noacl

noaclを指定する(rsync, lftp)

参考サイト:
 技術/Windows/Cygwin/NTFSをnoaclでマウントする
 Cygwinのいくらかましな使い方

rsynclftpcygwinのDLLを使って実装されている。cygwinはファイルのパーミッション(アクセス権)をWindowsのACL(アクセス制御リスト)を使って実装している。cygwinで作ったファイルのACLを見ようとセキュリティタブを開くと、このようなエラーが表示される。

・・・のアクセス許可の順序が正しくありません。これによりいくつかのエントリが無効になる可能性があります。

ACLにはNULL SIDから始まるエントリが並んでいる。

困るのは、Windowsの一部アプリからはcygwinの作ったファイルが読み取れない場合があることだ。
例えば、rsyncやlftpで、稼働中のリモートサイトからDokuWikiをダウンロードして実行しようとすると、ファイルにアクセスできないというエラーを食らったりする。

これについては、/etc/fstab ファイルに

none /cygdrive cygdrive binary,posix=0,user,noacl,notexec 0 0

という一行を設定すれば良い。noaclnoexec を指定することによって、/cygdrive 以下のファイルに対して、cygwinがWindowsのACLを参照・変更しなくなる。

C:\etc フォルダに fstab ファイルを作成して、上記の一行を書いておく。

既にcygwinをインストールする場合(例えばcygwinがC:\cygwin64にインストールされた場合)、cygwinの /etc/fstab を編集し、

mklink /j c:\etc c:\cygwin64\etc

として、C:\etc から C:\cygwin64\etc にシンボリックリンクを貼っておくと良い。

このようにして、rsyncやlftp(や他のcygwin1.dllを使ったアプリ)がACLをイジらないように設定してから転送を行うと良い。

なお、noacl設定前にできてしまったファイルは、

icacls folder /reset /t

というコマンドでACLをリセットする。

windows/noacl.txt · 最終更新: 2019/08/17 by 管理者

ページ用ツール