ファイルやディレクトリのアクセス権
ここでは Unix でのファイルやディレクトリのアクセス権に関して簡単に解説します.
アクセス権を適切に設定することで,他人に見られたくない情報を守ることや,情報を共有することが可能です.
確認方法
アクセス権の確認は ls コマンドに -l オプションをつけて実行することによって行えます.
[ua999999@loginXX ~]% ls -l 合計 40 drwxr-xr-x 2 ua999999 users 4096 4月 7 18:00 public_html drwx------ 8 ua999999 users 4096 4月 7 18:00 smbhome
表示された一覧の左側に r,w や x 等のアルファベットがありますが,その意味は下記の通りです.
-
1文字目の“d”はディレクトリであることを示しています. シンボリックリンクであれば“l”,ファイルであれば“-”と表示されます.
-
“r”,“w”,“x”の意味は以下のようになります.
-
“r”はファイルやディレクトリ内の読み取り権限
-
“w”はファイルやディレクトリ内への書き込み権限 (削除権限も含む)
-
“x”はファイルやディレクトリ内での実行権限
-
“-”はファイルやディレクトリに対する権限がない
-
-
2文字目から 4 文字目はそのファイルやディレクトリに割り当てられている所有者 (上記の例の場合は ua999999) に対する権限を表しています.
-
5文字目から 7 文字目はそのファイルやディレクトリに割り当てられているグループ (上記の例の場合は users) に対する権限を表しています.
-
8文字目から 10 文字目はそのファイルやディレクトリに割り当てられている所有者やグループ以外に対する権限を表しています.
上記の例の場合,public_html は誰でも参照可能ですが,ファイルやディレクトリを作成することはできません.作成できるのは所有者である ua999999 のみとなります.
ls コマンドの詳細情報は man ls して出力されるマニュアルを参照してください.
アクセス権の設定方法
アクセス権の設定方法は chmod コマンドで行います.
[ua999999@loginXX ~]% chmod go-rx public_html [ua999999@loginXX ~]% ls -ld public_html drwx------ 2 ua999999 users 4096 4月 7 18:00 public_html
上記の例では一時的に個人 Web ページを閉鎖する場合の例です.
chmod コマンドの後ろで指定している go-rx の意味は,「グループ (group) と,所有者やグループ以外 (other) から読み取り権限 (read) と実行権限 (execute) を取り除く (-)」となります.
これを元に戻す場合は下記のように chmod コマンドを実行します.
[ua999999@loginXX ~]% chmod go+rx public_html [ua999999@loginXX ~]% ls -ld public_html drwxr-xr-x 2 ua999999 users 4096 4月 7 18:00 public_html
chmod コマンドの後ろで指定している go+rx の意味は,「グループ (group) と,所有者やグループ以外 (other) に対して読み取り権限 (read) と実行権限 (execute) を割り当てる (+)」となります.
例えば,所有者自身以外の誰にも見せたくないファイルやディレクトリとしたい場合は下記のように chmod コマンドを実行します.
[ua999999@loginXX ~]% chmod go-rwx secret
chmod コマンドの詳細情報は man chmod して出力されるマニュアルを参照してください.
標準の設定に関して
ITC システムの環境では,新規にファイルを作成した場合や scp などでファイルを転送した場合の権限は -rw-r--r- となります.
ディレクトリを新規に作成した場合は drwxr-xr-x となります.
グループの変更方法
グループの変更方法は chgrp コマンドで行います.
[ua999999@loginXX ~]% chgrp hogehoge public.html
上記の例では public.html ファイルのグループを hogehoge に変更する場合です.
利用しているアカウントで変更できるグループを確認するには id コマンドを利用します.
[ua999999@loginXX ~]% id uid=999999(ua999999) gid=100(users) 所属グループ=100(users)
(hogehoge グループは架空のグループです)
chgrp コマンドの詳細情報は man chgrp して出力されるマニュアルを参照してください.
chmod と chgrp を組み合わせた利用方法
chmod と chgrp を利用すると,同じグループに属している他のアカウントと共同で作業できるファイルやディレクトリが作成できます.
[ua999999@loginXX ~]% ls -ld common drwxr-xr-x 2 ua999999 users 4096 4月 7 18:00 common [ua999999@loginXX ~]% chgrp hogehoge common [ua999999@loginXX ~]% chmod g+w common [ua999999@loginXX ~]% ls -ld common drwxrwxr-x 2 ua999999 hogehoge 4096 4月 7 18:00 common
上記の例では common ディレクトリを hogehoge グループに変更し,hogehoge グループに属しているアカウントに対して書き込みのアクセス権を設定したこととなります.
このディレクトリの中には hogehoge グループに属しているアカウントであれば,新規にファイルやディレクトリを作成することが可能です.
書き込み権限を与えた場合は削除権限も与えたことになりますので注意しましょう.
最終更新日: 2023年11月29日
内容はここまでです。