自動処理などで作成したスクリプトの.commandファイルを実行しても、「ファイル”.command”は、適切なアクセス権限がないために実行できません。」と怒られて、実行できません。
ファイルの権限ということで、Finderの「情報」からアクセス権限を確認しても「読み書き」ともにOKになっています。
ここで言われているのは、ファイルパーミッションなのでFinderから確認・変更できません。ターミナルのシェルからコマンドで設定する必要があります。
実行できません。
実行しようとしても、下のエラーが表示されます。これはファイルパーミッションの実行権限がないからです。
パーミッション確認
ターミナルを起動します。
変更したいファイルのあるパスまで移動します。今回は「login.command」とします。ここでパーミッション確認のために下のコマンドを実行します。
[bash]
ls -l login.command
[/bash]
「-rw-r–r–」とバーミッションが表示されます。先頭の1文字はファイル・ディレクトリ・シンボリックリンクを示します。残りの9文字は3文字ごとに「オーナー」,「グループ」,「その他」の権限を示しています。この3文字がセットになっており「読み込み,書き込み,実行可能」を示しています。
この「-rw-r–r–」なら、ファイルでオーナーは読み書き、グループは読み込み、その他は読み込み権限を許可されています。あっ誰も実行できません。
このパーミッションは3桁の数字でも表現出来ます。この場合は「644」です。このパーミッションについては下のリンクが参考になります。
パーミッション変更
パーミッション変更については下のリンクが参考になります。
オーナーの実行を可能にする設定のため、下のコマンドを入力します。
[bash]
chmod u+x login.command
[/bash]
実行後にパーミッションを確認します。
[bash]
ls -l login.command
[/bash]
「-rwxr–r–」に変わっています。オーナーの実行が可能になりました。これで実行可能です。
ターミナルを使わずに変更できる
ターミナルを使わずに変更できるアプリがありました。ただ、パーミッションはしっかり理解できたほうが幸せになれますので、ターミナルの操作に慣れるメリットも大きいです!。
コマンドをマスターしたい!あなたにおすすめ!
UNIXコマンドブック 第3版 伊藤 真人,田谷 文彦,三澤 明ソフトバンククリエイティブ 売り上げランキング : 90604Amazonで詳しく見る |