web-dev-qa-db-ja.com

OSX:/ dev / nullを指すシンボリックリンクを作成することは可能でしょうか。ブラックホールディレクトリ

OSX:/ dev/nullを指すシンボリックリンクを作成することは可能でしょうか。ブラックホールディレクトリ。

私はヘルプデスクで働いており、データがいつでもディレクトリに侵入した場合に備えて、ディレクトリをサニタイズする必要があります。データがこのディレクトリに入る可能性を軽減するためにいくつかの保護が設定されていますが、ワークフローや制御できないもののために、データがこのディレクトリに保存されることがあります。

このディレクトリをブラックホールにするのは完璧だと思います。例:/ dev/nullを指すシンボリックリンク

これが可能かどうかはわかりません。

前もって感謝します。

2
user1787331

これは、そのままではサポートされていません。ファイルを/ dev/nullにリンクすることはできますが、ディレクトリにリンクすることはできません。

例えば。:

ln -s /dev/null ~/.bash_history

これを行うには Fuse を調べたいと思うかもしれませんが、必要に応じてスクリプトを作成するだけの方が幸運かもしれません。

3
David Houde

読み取り専用のRAMディスク:

mydev=$(hdid -nomount ram://1024)
newfs_hfs "$mydev"
mkdir /path/to/readonlydir
mount -t hfs -r "$mydev" /path/to/readonlydir

これはあなたが求めているものとは少し異なることに注意してください-読み取り専用ディスクのマウントディレクトリに書き込むと、ファイルが黙って消えるだけでなく、エラーが発生します。

1
Gordon Davisson

フォルダアクションの代わりに、たとえば~/Library/LaunchAgents/test.plistのようにplistを保存することもできます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.Apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>test</string>
    <key>ProgramArguments</key>
    <array>
        <string>bash</string>
        <string>-c</string>
        <string>rm -rf ~/Documents/Black\ Hole/*</string>
    </array>
    <key>WatchPaths</key>
    <array>
        <string>~/Documents/Black Hole/</string>
    </array>
</dict>
</plist>

launchctl load ~/Library/LaunchAgents/test.plistを使用するか、ログアウトして再度ログインすることでロードできます。

0
Lri