別に新しい話題でもないけど、知らなかったのでちょっとメモ。
Linuxのext2、ext3のファイルシステムにおいて、パーミッション以外のファイル属性を操作するもの。
lsattrが表示でchattrが変更のコマンド。
例えばlsなら、
# ls -la test
-rw-r--r-- 1 root root 0 8月 29 00:26 test
となる。rootであれば書き込み可能だし、その他のユーザであれば読み込みだけ可能ということになる。
そこで、lsattrを実行する。
# lsattr test
------------- test
現状、何も設定されていないので、chattrで変更不可能を表すi(immutable)を設定してみる。
# chattr +i test
念の為に確認。
# lsattr test
----i-------- test
で、削除(rm)してみる。
# rm test
rm: remove write-protected 通常の空ファイル `test'? y
rm: cannot remove `test': 許可されていない操作です
ほほぅ…
でもってiフラグを消す。
# chattr -i test
念の為に確認。
# lsattr test
------------- test
で、削除。
# rm test
rm: remove 通常の空ファイル `test'? y
# ls test
ls: test: そのようなファイルやディレクトリはありません
はい、無事消えました。
ところで、lsattrのオプションに「-a」がある。これはJMから引用すると、
`.' ではじまるファイルも含め、全てのファイルおよびディレクトリを表示する。
ということで、lsコマンドと同じ。
じゃ、「-l」は? と思ったけど、記述は無い。
manページ開いてもない。ってことで、実行してみました。
# touch test
# lsattr -l test
test ---
?
# chattr +id test
# lsattr -l test
test Immutable, No_Dump
ははぁ、なるほど。
…と思ってたら、usageにはしっかりlオプションの記載があった。
# lsattr -r
lsattr: オプションが違います -- r
Usage: lsattr [-RVadlv] [files...]
でも、manにはないなぁ。
いやぁ、まぁ、誰もこんな情報は欲してないと思うけど。
# コマンドなど、一部半角スペースを全角スペースに置き換え。
# スタイルシートを修正しないといかんか?
0 コメント:
::コメントを投稿する::