verify repair permissions アクセス権の検証・修復
処理方法を選べるようにしてみた
「Verify-Repair-Permissions.scpt.zip」をダウンロード
ソース
https://github.com/force4u/Verify-Repair-Permissions.scpt/blob/master/Verify-Repair-Permissions.scpt
| 固定リンク
処理方法を選べるようにしてみた
「Verify-Repair-Permissions.scpt.zip」をダウンロード
ソース
https://github.com/force4u/Verify-Repair-Permissions.scpt/blob/master/Verify-Repair-Permissions.scpt
| 固定リンク
ここでは
『ロック』=『鍵マーク』について
を書きます。
■デフォルトのアクセス権についてはこちら[LINK]
■アクセスコントーロールACLsについてはこちら[LINK]
を参照下さい。
Finder上で見れる
鍵マークは
『chflags』なるコマンドで付加されたり削除されたりしています。
鍵マークを知るために
chflagsについて書きましょう
chflagsには
共通で使える物
ユーザー環境に限るもの
スーパーユーザー環境に限るもの
があります
共通属性
設定 | 解除 | 意味 |
hidden | nohidden | Finder等GUIから隠す。不可視ファイルの設定 |
コマンドとFinderの動作を
並べてみましょう
ファイルへ付加される『フラッグ』を調べるには
ターミナルで『ls -lO』を使います。
このファイルにhidden不可視 のフラグを付けます
chflags hidden <ファイル名やフォルダ名(パス指定)>
ファイルにhiddenの属性が付加されて
ファイルがFinder上で見れなくなりました。
では
戻します。
chflags hidden nohidden <ファイル名やフォルダ名(パス指定)>
となります。
もう何となくわかりましたね?
不可視ファイルの可視化はこちらの方法もあります。
【[SetFile]ファイルを不可視 可視 に変更する。: [FORCE]】[LINK]
ユーザー環境
設定 | 解除 | 意味 |
opaque | noopaque | ディスクをユニオンマウント[LINK]した時用(未確認) |
nodump | dump | ダンプする際に含めるか?含めないか?(未確認) |
uappnd | nouappnd | ファイル(開けるが変更できない) フォルダ(追加出来るが削除できないドロップボックスの動作に似ている) |
uappend | nouappend | ↑に同じ |
uchg | nouchg | ロック『鍵』をかける変更不可に変更 |
uchange | nouchange | ↑に同じ |
uimmutable | nouimmutable | ↑に同じ |
管理者(su)環境
chflagsの前にsudoが必要になります。
sudo chflags 〜となります。
設定 | 解除 | 意味 |
arch | noarch | アーカイブフラグ 検索時にアーカイブの中を除外すると検索されない(たぶん...笑) |
archived | noarchived | ↑に同じ |
sappnd | nosappnd | ファイル(開けるが変更できない) フォルダ(追加出来るが削除できないドロップボックスの動作に似ている) |
sappend | nosappend | ↑に同じ |
schg | noschg | ロック『鍵』をかける変更不可 |
schange | noschange | ↑に同じ |
simmutable | nosimmutable | ↑に同じ |
それではいよいよ
ロック『鍵』のかかってしまった
ディスクのフラグの解除をしてみましょう。
問題になるのは
こんな表示の場合ですね。
10.6だとこんな感じです。
『カスタム』と出る場合はこちら[LINK]を先に読んでください。
ちなみに
↑で表示されるUIDでログインしてFinderからロック解除って方法で成功した例もあります。
全部ターミナルでの作業になります。
注意
コマンドを間違えると起動不能になる事も考えられます
コマンド操作に自信の無い人やよくわからないなぁ〜な人は
心配なら詳しい人にお願いした方が良いかもしれません。
サンプルでは
『ディスクの名前』は『Disk1』になっています。
自分のディスク名で変更してください。(ここが重要です)
まずは『Volumes』に移動します。
sh-3.2#
sh-3.2#
sh-3.2# cd /Volumes
sh-3.2#
sh-3.2# pwd
/Volumes
pwdの戻り値が『/Volumes』なら
『ls -lO』エル エス スペース ハイフン エル オーの大文字
を
実行します。
sh-3.2# ls -lO
total X
drwxrwxrwx 22 admin staff schg,uappnd 816 Oct 24 17:50 Disk1
マウントしている『Disk1』の
ディスクボリュームに『フラグ』
『schg』と『uappnd』が付いているのがわかります。
では解除します。
sh-3.2#
sh-3.2# sudo chflags -R noschg Disk1
Password:<ここに管理者パスワード>
sh-3.2#
解除出来たか?
『ls -lO』で確認します。
sh-3.2#
sh-3.2# ls -lO
total X
drwxrwxrwx 22 admin staff uappnd 816 Oct 24 17:50 Disk1
schgが取れました
続けてuappndも取ります。
sh-3.2#
sh-3.2# sudo chflags -R nouappnd Disk1
sh-3.2#
sh-3.2#
解除出来たか?
『ls -lO』で確認します。
sh-3.2#
sh-3.2# ls -lO
total X
drwxrwxrwx 22 admin staff - 816 Oct 24 17:50 Disk1
これで『uappnd』も取れました
一連の操作で
書き込み不能だった
ディスクに書き込み出来るようになります。
後はアクセス権ですので
ファインダーの情報を見る
から変更しても良いですし
ターミナルを使ってchmodしても良いでしょう
フラグを『取る』のはさして問題ありませんが
フラグを『付ける』のは最悪
間違えると起動出来なくなったりしますので
注意して実施してください。
OSXでアクセスコントロールを使う場合
メモ
GUIで設定出来ます。
10.6xだと若干表示がバグりますが
まぁ使える範囲です。
Sandbox 2[LINK]
こちらの記事は大変参考になると思います。
MOSA Developer News[MOSADeN=モサ伝]第238号[LINK]
MOSA Developer News[MOSADeN=モサ伝]第239号[LINK]
MOSA Developer News[MOSADeN=モサ伝]第240号[LINK]
MOSA Developer News[MOSADeN=モサ伝]第241号[LINK]
※Snow Leopardでは無効になっています。
アクセスコントーロールを
ACLs(Access Control Lists)
有効にする(Enable)
sudo fsaclctl -p /Volumes/ディスク名 -e
無効にする(Disable)
sudo fsaclctl -p /Volumes/ディスク名 -d
確認はしていないが
【TinkerTool System Release 2: Description】[LINK]
がACLsをサポートしているので
トラブル時には試してみると良い
■10.5までのACLsについてはこちら[LINK]
■ chflagsについてはこちら[LINK]
を参照ください
Macintosh
MacOSXのデフォルトのアクセス権の変更方法
ここで言う『デフォルトのアクセス権』とは
新規でフォルダを作成した際に
適応されるアクセス権の事です。
MacOSX10〜10.4.xまでは
TinkerTool[LINK]を
使うのが簡単で良いでしょう
基本的には日本語化されていますので
安心して使えます。
また
TinkerToolを使って変更した内容を
簡単にリセットする事も出来ますので
おすすめです。
MacOSX10.5〜10.5.2まではこちら[LINK]の方法
MacOSX10.5.3〜10.6xはこちら[LINK]の方法
MacOSX10.10はこちら[LINK]の方法
[Yosemite]デフォルトのアクセス権を設定する
で
変更する事が出来ます。
Server管理さているネットワークの場合は
アクセスコントロール[LINK]を
使うのが定石だと思いますが
小さいネットワークで
ファイル共有機能で共有している場合は
この設定を行わないと
ファイルが削除出来ない等
色々と不具合が出ますね。
参考にしてください。
確認していませんが
10.4では
777に設定する場合
defaults write /Library/Preferences/com.apple.finder umask -int 0
chmod +r /Library/Preferences/com.apple.finder.plist
defaults write com.apple.finder umask -int 0
が有効
って記述をしているサイトがあるが[LINK]
今となっては確認のしようも無く...w
設定用のスクリプトを作成した。
設定値はモードで入力するようにしたので以下を参考にしてください。
Mode | ||||
7: | 読み | 書き | 実行 | |
6: | 読み | 書き | ||
5: | 読み | 実行 | ||
4: | 読み | |||
3: | 書き | 実行 | ||
2: | 書き | |||
1: | 実行 | |||
0: | 不可 |
UMASK値一覧はこちら[LINK]です。
こちらも参考にしてください。
デフォルトのアクセス権は
セキュリティの状態に大きく影響を与えます。
不安な方やアクセス権を変更する必要の無い方は755で利用しましょう。
「MacOSX10.5.3〜10.6.x用.scpt.zip」をダウンロード
まとめ記事はこちら[LINK]です。
まずは↑の記事を読んでみてください。
アップルのサイト[LINK]に掲載されている[PDF]を見ると
以下のような記述がありました。
Chapter 7 Securing Data and Using Encryption
の161ページ
To change the global umask file permission:
に以下のような記述があります。
sudo defaults write /Library/Preferences/.GlobalPreferences NSUmask `echo "ibase=8; 027" | bc`
sudo defaults write /Library/Preferences/.GlobalPreferences NSUmask 23
を意味します。
NSUmask一覧はこちら[LINK]を見て下さい。
"Umask値"はOctで8進数
"NSUmask値"はDecで10進数
です。
ちなみに
HEXは16進数
BINは2進数
これをbcコマンドを使って変換しているわけです。
`echo "ibase=8; 027" | bc`
は
『027』をibase(入力数値)で指定した基数8進数として評価
なので
23となります。
逆は
`echo "obase =8; 23" | bc`
『23』をobase(出力数値)で指定した基数10進数で評価
となります。
まとめ記事はこちら[LINK]です。
まずは↑の記事を読んでみてください。
10.5からは
defaults write NSGlobalDomainが
使えなくなっていますので
launchd.conf
を使います。
こちら[LINK]に一覧を用意しています。
『Umask Oct』
の所の値を設定すれば良いわけです。
まずはlaunchd.confを作成します。
ユーザー用とシステム用で
作成位置が違います。
システム用:/etc/launchd.conf
ユーザー用:~/.launchd.conf
また
/etc/rc.common
に記述する方法もあるようです。
ここではユーザー用として設定します。
touch ~/.launchd.conf
としてファイルを作成して
vi ~/.launchd.conf
でフォルトモードは『755』なので
umask 022
の行を加えれば良いとなります。
また全ユーザー書き込み可能な設定の場合は
umask 000
追記
10.5.3から変更になりました。
こちら
Accessibility AccessibilityCheck AccessibilityForm AccessibilityInDesign AccessibilityPDF Acrobat Acrobat Action Acrobat Annotation Acrobat AppleScripts Acrobat Character Acrobat Layer Acrobat PDF Embed API Acrobat PDF Form Print Acrobat Plug-ins Acrobat Portfolios Acrobat Print AcrobatBarcode AcrobatDialog AcrobatForm AcrobatJS AcrobatMenu AcrobatPDF AcrobatStamp AcrobatYouTube AddressBook Adobe Adobe InDesign Adobe Photoshop AdobeAppleScript AdobeBridge AdobeIllustrator AdobeJSX aed Alfresco Android AnimationGif Apple Apple Support AppleScript AppleScriptBasics AppleScriptCharacter AppleScriptColor AppleScriptDroplet AppleScriptErrorNum AppleScriptFolder AppleScriptFontBook AppleScriptRename AppleScriptTools AppleSymbols Applications Barcode Barcode2D BarcodePostal BetterHTMLExport Book BOX Browser buzz Certificates CharacterEntity CharacterSets Colors Cool Site CSS Cutting DecoMail DecorationMail Design Desktop Diff DJ dmg DNS Documents Download DTP eBook Editer eMail Envelopes ExifTool Facebook FFmpeg File System Fonts FontsTool FontsWeb FOOD FormPrint ftp Gadget Gif Animation Google Google Chrome Enterprise HexEditor HTML info iPhoto ISBN ISO iTunes iWork iWorkNumbers iWorkNumbersCalendar iWorkNumbersTimecard iWorkPages JavaScript JeditX JeditX Regexp JeditXAppleScript JIS jquery Letterpress Library logo Mac Admin Mac Archiver Mac Browser Mac Browser Plugin Mac QuickLook Mac Setup Mac Spotlight Mac Video Map Memo Microsoft Teams Mobby mobileconfig Moto Movies Music Network Basic ntp OCR Office OfficePowerPoint OSX Paint Pantone Paper PDFlib Permission Photo Pictograms Print Public Python QuickLook QuickTime QuickTimeSetting QuickTimeSound Real Media ReName ResourceFork ruby Sample Screen ScreenCast Search Security SEO Sharing SLAResource Sound Spotlight Stamp SWF TCC.db Tutorial PSD TV Twitter Typography Unicode Utilities Video WEB APP WebFont Wedding Windows WindowsMedia XML XMP XPS YouTube YouTube Rss