| 無料ホームページスペース無料メールアドレスをご提供します。 KANSAI WEBサービス会員規約 |
| コンピュータ/通信総合サイト・広島の関西商事 管理人:大内 雅司 |
Linuxのコマンドによるパーミッション操作「chmod」
■パーミッション
”/etc/shadow”ファイルを、「cat」コマンドを使って参照してみてください。
| [user01@linux ~]$ cat /etc/shadow [enter] cat: /etc/shadow: 許可がありません |
「cat: /etc/shadow:許可がありません」というエラーに注目をして下さい。つまり、このファイルは一般ユーザーでは読み取りができないファイルになっています。このように、ファイルには「パーミッション」(許可属性)というものが存在します。
では、ファイルやディレクトリのパーミッション情報を表示させてみます。「ls」コマンドを、”-l”と”-a”のオプションを付けて実行します。
| [user01@linux ~]$ ls -la [enter] 合計 36 drwsr-xr-x 2 user01 user 4096 6月 13 13:22 . drwsr-xr-x 3 root user 4096 6月 13 13:22 .. -rw-r--r- 1 user01 user 24 6月 13 13:22 .bash_logout -rw-r--r- 1 user01 user 191 6月 13 13:22 .bash_profile -rw-r--r- 1 user01 user 124 6月 13 13:22 .bashrc -rw-r--r- 1 user01 user 5619 6月 13 13:22 .canna -rw-r--r- 1 user01 user 120 6月 13 13:22 .gtkrcp |
|||
| パーミッション | 所有ユーザ | 所有グループ | ファイルやディレクトリのサイズ・作成日時時刻・名前 |
▼パーミッションの見方
drwxrwxrwx
最初のdの意味
| ファイルのタイプ |
| −:普通のファイル d:ディレクトリ l:シンボリック |
| 所有者・所有グループ・その他 |
| r:読み取り権限 w:書き込み権限 x:実行権限 |
では、このようにパーミッションの設定を行うと、どういった操作ができて、どういった操作ができなくなるのかを。以下の表にまとめます。
▼パーミッションと操作
| 権限 | ファイル・ディレクトリ | 説明 |
| 読み取り | ファイル | catなどでファイルの内容を参照できるかどうか。 |
| ディレクトリ | lsなどでディレクトリ内ファイル一覧を表示できるかどうか。 | |
| 書き込み | ファイル | ファイルを編集できるかどうか。ただし、ファイルの書き込み 権限とファイル自体の削除とは無関係です。 |
| ディレクトリ | ディレクトリ内のファイルを作成/削除できるかどうか。 | |
| 実行 | ファイル | コマンドとして実行できるかどうか。 |
| ディレクトリ | ディレクトリ内のファイルへアクセスできるかどうか。 |
パーミッションは、以下の要素と「chmod」コマンドを使用して変更することができます。
▼chmodコマンドで指定する要素
| ユーザ定義 | 追加/削除/等 | パーミッション | |||
| u | ファイル所有者 | + | パーミッションの追加 | r | 読み取り権限 |
| g | ファイル所有グループ | − | パーミッションの削除 | w | 書き込み権限 |
| o | その他のユーザ | = | 指定したパーミッションを 付加し、それ以外を削除 |
x | 実行権限 |
| a | すべてのユーザ | ||||
では実際に「chmod」コマンドを使って、ホームディレクトリ下にある.gtkrcファイルのパーミッションを変更します。「所有者」「所有グループ」「その他のユーザ」の全てに対して、「読み取り権限」を取り除く設定を行います。
| [user01@linux ~]$ chmod a -r .gtkrc [enter] |
本当にパーミッションが変更されたかどうか、”ls
-la”を実行して確認します。
| [user01@linux ~]$ ls -la [enter] 合計 36 drwsr-xr-x 2 user01 user 4096 6月 13 13:22 . drwsr-xr-x 3 root user 4096 6月 13 13:22 .. -rw-r--r- 1 user01 user 24 6月 13 13:22 .bash_logout -rw-r--r- 1 user01 user 191 6月 13 13:22 .bash_profile -rw-r--r- 1 user01 user 124 6月 13 13:22 .bashrc -rw-r--r- 1 user01 user 5619 6月 13 13:22 .canna --w----- 1 user01 user 120 6月 13 13:22 .gtkrcp |
すべてのユーザーに対して、「.gtkrc」ファイルの「読み取り」権限が削除されているこが確認できます。
実際に、このファイルを閲覧できなくなっているかどうか、「cat」コマンドを使って、このファイルを閲覧してみます。
| [user01@linux ~]$ cat .gtkrc [enter] cat: .gtkrc: 許可がありません |
このファイルのパーミッションをデフォルトの状態に戻します。
| [user01@linux ~]$ chmod a+r .gtkrc [enter] |
また、”=”を用いて、.bashrcファイルの所有者/所有グループだけの権限を”rw-”に変更できます。
以下を実行すると、.bashrcファイルのパーミッションが”rw-rw-r--”に変更されます。
| [user01@linux ~]$ chmod ug=rw .bashrc [enter] |
また、パーミッションの変更を指定するとき、3桁の8進数を用いて表現することもできます。
▼パーミッションを指定する数値
| 所有者 | 所有グループ | その他のユーザ |
| 400:読み取り権限 | 40:読み取り権限 | 4:読み取り権限 |
| 200:書き込み権限 | 20:書き込み権限 | 2:書き込み権限 |
| 100:実行権限 | 10:実行権限 | 1:実行権限 |
8進数の数字を用いて、.bashrcファイルのパーミッションを元に戻します。
元のパーミッションは”rw-r--r--”なので、8進数表記では「644」となります。
| [user01@linux ~]$ cgnid 644 .bashrc [enter] |
これで、元のパーミッション設定に戻りました。”ls
-la”で確認してみて下さい。
|
| copy right kansai-syoji,.co all right reserved Web-Master masashi ouchi http://kansai.homelinux.com/~Linux |