Hatena::ブログ(Diary)

gcg00467の日記

2012-02-11

更新

09:20

wordpressの方を更新した.

2011-08-24

perlでの日本語の取扱

17:05

昔と違っていろいろweb上に有用な記事がある.

これがいいかなあ.

http://www.rwds.net/kuroita/program/Perl_unicode.html

ほかにも,「perl encode 日本語」とかでgoogleを引くといろいろ出てくる.

2011-07-03

STATUS_ACCESS_VIOLATION

13:46

cygwin をアップデートしたら,emacs の中で STATUS_ACCESS_VIOLATION が頻発するようになった.

http://x.cygwin.com/docs/faq/cygwin-x-faq.html の,9.8 (から誘導された9.16) に従って,rebaseall と peflagsall を実行したら直った.

2011-05-08

ubuntu command line からのdefault application の起動

19:34

cygwin で,ファイルを指定して既定のアプリケーションを立ち上げるには,cygstart を使うわけだが,ubuntu でも,同じことができる.(まあ,そうだろうよな.) gnome-open というコマンドを使えばよい.

2011-05-05

Windows7のfile permission

18:12

変なタイトルだが,要は NTFS のファイルアクセス権の話.

Windows XP で運用していたマシンに Windows 7を入れた.特にアップグレードインストールをしたつもりではなかった (なかった...よなあ) のだが,いままで使っていたファイルがそれなりに残っていて,それなりに良かった反面,ファイルの使用権関係でたくさんトラブルも引き起こした.わかったことをメモしておく.

GUIから変更しようとすると大変になることが多い.死ぬほどボタンを押す羽目になったり.コマンドラインから行うのが得策.コマンドプロンプトを起動するとき,「管理者として実行」としないと,できないことがいろいろある.

アクセス権の変更は所有者にしかできない.したがって,まず所有者になる必要がある.takeown コマンドを使う.対象は「/F path」で指定する./Rをつけると再帰実行.例:

> takeown /R /F C:\tmp

変なpermissionがついている場合は,それを消したいかもしれない.その場合,以下のように実行.

> icacls C:\tmp /reset /t
> icacls C:\tmp /inheritance:r

「/inheritance:r」によって,ACLの上位からの継承が無効になる./resetで各位置で指定しているACLが廃棄される./tは,再帰指定.

最後に,適当なACLを指定する.cygwinで使う場合はこんなものではないだろうか:

icacls C:\tmp /grant myname:(CI)(OI)F SYSTEM:(CI)(OI)F Administrators:(CI)(OI)F Everyone:(CI)(OI)RX "CREATOR OWNER:(CI)(OI)F" "CREATOR GROUP:(CI)(OI)RX" None:(CI)(OI)RX 

もちろん,「myname」は,自分のログイン名.「F」がフルコントロールで,「RX」が読み取りと実行.「(CI)」と「(OI)」は,それぞれフォルダ(container)に対する継承指定とファイル(object)に対する継承指定.cygwinは,グループはデフォルトでNoneにするようだし,othersに対するパーミッションは,Everyone を使っているようである.