Linuxを使いはじめると多くの問題にぶつかりますが、アクセス権限が無いためファイルが開けない又は保存できないというのが初心者によくある問題です。Linuxのアクセス権限についてインターネット検索すると様々な情報が出てきますが、大抵は初心者向けに解説されていないため理解するのに苦労すると思います。この記事では、初心者でも簡単にわかる用にアクセス権限の基本とターミナルを使った設定方法を詳しく解説します。
アクセス権限とは?
LinuxだけでなくMacやWindowsでもパソコンにあるファイルの扱いには、読む、書く、プログラムとして実行するの3つの操作があります。誰がその3つのを操作できるかどうかを決定するのが、アクセス権限です。だれがの部分は「所有者」、「グループ」、「他のユーザー」の3つがあります。「所有者」はファイルを作成したユーザー自身、「グループ」はファイルを共有するための任意のグループ、「他のユーザー」は所有者でもなく、グループにも所属しないそのパソコンにアクセスできる全てのユーザーです。
アクセス権限の表示
アクセス権限のGUI(グラフィカルインターフェース)による設定は簡単なので詳しい解説は割愛しますが、Ubuntuではファイル又はフォルダを右クリックして、メニューの一番下のプロパティを選択します。プロパティウィンドウが開いたら、アクセス権タブを選択してファイル権限を設定します。
アクセス権限の設定 GUI
ターミナルから設定する場合は、アクセス権限の読み方について知る必要があります。GUIでは所有者:自分 アクセス:「読み取り専用」などと表示されますが、ターミナルでは以下の写真のようにアルファベットとダッシュ記号を組み合わせた1・3・3・3の計10文字で表示されます。最初の文字がファイルの種類、次の3文字ずつのグループがそれぞれ所有者、グループ、他のユーザーの読む(r)、書く(w)、プログラムとして実行(x)の権限を表します。
アクセス権限の表示
アクセス権限は通常のアルファベットの表示だけでなく「751」など数字で表されることもあります。読む、書く、プログラムとして実行にはそれぞれ4 、2、1の数字が割り当てられていて、権限は数字の合計で表されます。アルファベットの表記と同じように各数字が所有者、グループ、他のユーザーの権限をそれぞれ表します。
アクセス権限 数字表示
アクセス権限の確認と設定
ターミナルから特定のファイルのアクセス権限を確認するには、以下のコマンドを入力します。
ls -l <ファイル名またはパス>
例えばユーザーbobのドキュメントフォルダにあるaccess..jpgという写真であれば、以下のコマンドになります。
ls -l /home/bob/ドキュメント/access.jpg
ファイル権限を変更するには以下のコマンドを入力します。
sudo chmod <アクセス権限(数字)> <ファイル名またはパス>
例えば、ubuntu.txtというテキストファイルのアクセス権限を所有者は全部(4+2+1=7)、グループは読み込み専用(4)、他のユーザーは権限無し(0)にするには以下のコマンドを入力します。
sudo chmod 740 ubuntu.txt
所有者(u)、グループ(g)、他のユーザー(o)、又は全てのユーザー(a)に権限を追加したり剥奪するには、以下のような方法もあります。
sudo chmod <権利者> + /- <アクセス権限(アルファベット)> <ファイル名またはパス>
例えば、グループと他のユーザーの「書く」と「実行」の権限を剥奪するには以下のように入力します。
sudo chmod go-wx ubuntu.txt
アクセス権限の設定は、慣れるまでは少し難しいかもしれませんが、セキュリティの強化とファイルの共有には欠かせない知識です。何度か自分のパソコンを使って試してみてください。ターミナルについての基本的な使い方については「ターミナルってなに?」の記事を参照してください。