※この記事は「AltPlus Advent Calendar 2016」の9日目の記事です。
こんにちは。id:xshimadaです。
普段はオルトプラスでエンジニアさんの身の回りのお世話をさせていただいております。
本日はライトなネタをひとつ。
ちょっとだけ人に見られたくないファイルってありますよね。
職務上本当に致し方なくやむ得ない事情で保存してある怪しげなファイルとか。
そんな時ふとファイルを隠したくなりますよね。
暗号化されたパスワード付きのイメージ作ったりとかの方法もありますが、今回は簡単にMacでさくっとファイルを隠していきたいと思います。
例えば、
なんと中身を覗いてみたくなるフォルダ名でしょう。
これでは見てくださいと言っているもので、違うフォルダ作りましょう。
$ mdkir .Himitsu
はい、Himitsuフォルダはみえません。
もちろん、コマンドラインでは確認できるんですが。
$ ls -la total 16 drwxr-xr-x 5 kshimada staff 170 12 7 19:32 . drwxr-xr-x+ 29 kshimada staff 986 12 7 14:56 .. drwxr-xr-x 2 kshimada staff 68 12 7 19:32 .Himitsu drwxr-xr-x 2 kshimada staff 68 12 7 19:32 Secrets
せっかくなので、わかりづらいフォルダ名にしてしまいたいですね。
POSIX準拠のファイルシステムだと、Pathnameあたりの記述をみるに<slash>
と<NUL>
以外の文字列はサポートするロケール次第のようです。
(参考)The Open Group Base Specifications Issue 7, 2016 Edition (http://pubs.opengroup.org/onlinepubs/9699919799/)
Macでもやってみましょう。
$ mkdir \ $ mkdir .\ $ mkdir ... $ ls -la total 16 drwxr-xr-x 2 kshimada staff 68 12 7 19:29 drwxr-xr-x 6 kshimada staff 204 12 7 19:29 . drwxr-xr-x 2 kshimada staff 68 12 7 19:29 . drwxr-xr-x+ 29 kshimada staff 986 12 7 14:56 .. drwxr-xr-x 2 kshimada staff 68 12 7 19:29 ...
みたいなことが可能なようです。
仕事で使われると腹が立つくらいわかりづらいですね。
「.」で始まるファイルなので、初期設定ではFinderからもみえないので安心です。
ところで、<NUL>
以外は使えると言うことで、
$ ruby -r fileutils -e 'FileUtils.mkdir("./\x01")' $ ls -la total 16 drwxr-xr-x 2 kshimada staff 68 12 7 19:34 ? drwxr-xr-x 4 kshimada staff 136 12 7 19:34 . drwxr-xr-x+ 29 kshimada staff 986 12 7 14:56 ..
みたいなフォルダを作ることも可能です。
(「.」で始まらないからFinderで見えてしまうので、見られたくない場合、「.」を先頭につけましょう。)
ところで、こういうフォルダの作り方は、Linux系のワームやクラックされたサーバに不正プログラムを埋め込まれる時に使われることがあります。
こういった特殊文字やわかりづらい名前のファイルやフォルダを恐ろしく深いpathに隠されたりすることがあります。
そういった時にPOSIX準拠について少し知っておくと、調査時に役にたつかもしれませんね。
それでは、また。