【Linux】VPSのアクセス権(パーミッション)を少し知ってみよう

prompt

普段VPSにログインする時はrootアクセスを禁止していると思うので、作ったユーザー名でログインしているはず。
でも、端末からならwebdavにアクセスできるのに、SFTPでログインしてWebDAVのディレクトリにアクセスしようとしても、アクセス権がないとメッセージが出て操作できなかったりする。
あれ?なんで?と思うかもしれないが、これはファイルやディレクトリに対するアクセス権が影響している。

アクセス権とは

ターミナルで

# ls -l

コマンドを入力すると、ディレクトリに存在するファイルがずらりと出てくる。

drwxr-xr-- 5 apache apache 4096 9月 1 12:05 2012 Download

こんな感じで。
その中で、

drwxr-xr-- 5 apache apache   4096  9月  1 12:05 2012 Download

この赤の部分がアクセス権を表している。
最初のdはディレクトリを表している。
ファイルだとーになる。

rwxの意味

この文字の羅列の意味も当然ある。
r・・・read。読み込み可、という意味。
w・・・write。書き込み可、という意味。
x・・・execute。実行可、という意味。

羅列の意味

rwxr-xr--を一直線にただ見ても意味がわからないが、3文字ずつ分割して見なければならない。
今回の場合はrwx と r-x と r-- という風に分割して見る。
この3つは、所有者、グループ、一般の順番に並んでいる。
rwxr-xr-- の場合、
所有者は読み書き実行可。
グループに所属するユーザーは読み込みと実行可。
一般は読み込みのみ可。

ということを表している。
rootは別格なので、所有者と同じ権限が常にある。
rootは全てのユーザーの頂点、ということ。
rootでのSSHログインを禁止している場合、最初にログインした時は一般ユーザーなので、権限は一般。
なので、このディレクトリは読み込みのみしか出来ない、ということになる。

数字の意味

アクセス権を変更する時は数字を入力して変更する。
777や755、600等々。
この数字も3分割して考える。これも所有者、グループ、一般の順番に並んでいる。
そして、r、w、xにそれぞれ数字が割り当てられている。
rは2^2(2の2乗)の4。
wは2^1の2。
xは2^0の1。
これを全部足すと7。

つまり、rwxr-xr--は、rwx=4+2+1=7、r-x=4+0+1=5 r--=4+0+0=4 で、754になる。
所有者は読み書き実行、グループは読み込みと実行、一般は読み込みのみ、というアクセス権になる。
慣れてくると、rwxの羅列をみただけですぐに数字に変換できるようになるし、意味も素早くわかるようになる。

WebDAVのアクセス権をみてみよう
【オレオレ証明書】自作WebDAVサーバーにWindows7で接続する【MacもOK】 | naonotes.com(ナオノーツ)

この記事を見てWebDAVの設定をしたのなら、WebDAVディレクトリのアクセス権は700。
つまり、所有者のApacheしか操作不可能。
SFTP(SSH)でのログインユーザーは一般ユーザーなので、アクセス権は---(0)。
何も出来ない。
端末からのアクセス時はApacheが認証したユーザーなので読み書きが出来る。
SFTPからはユーザーが一般なので無理、というわけ。
ちょっとわかりにくいかな。

chmod

SFTPでログインした時もWebDAVディレクトリをいじれないと困る!って人に、ちゃんとコマンドが用意されている。
このchmodコマンドは、ファイルやディレクトリのアクセス権を変更する。

chmod パーミッション ファイル名
でパーミッションを変更できる。
が、このままディレクトリのパーミッションを変更しても、中にあるファイルのパーミッションは変わらない。
中のファイルすべてのパーミッションを変更する時は、
chmod パーミッション -R ディレクトリ名
になる。
WebDAVディレクトリのパーミッションを誰でもOKにするのであれば、

[@ ~]# chmod 777 -R /var/www/html/dav エンターキー
となる。

777ってまずいんじゃないの?

サーバーを自分一人で使っている限りは問題ない。
777だろうが700だろうが、自分一人にアクセス権云々といってもそれほど意味がない。
SSHでのアクセスをハッキングされれば危険だが、認証鍵を破られるより、ユーザー名とパスワードだけなWebDAVへのアクセスが破られる可能性の方が高い。
ただし、サーバーに別のログインユーザーがいて他人と共有している場合は大いに問題がある。
他の誰かがSFTP接続すると、WebDAVディレクトリが丸見えになる。
特にそういう心配がなければ他の誰かにみられることはない。

今日はここまで。

【Linux】VPSのアクセス権(パーミッション)を少し知ってみよう」への4件のフィードバック

  1. makの枕草子

    今回の記事、すごく勉強になりました!
    いつも思うことですが、キョウジさんの記事は、分かりやすくて理解しやすいです。
    ボケ始めの小生の頭にも、しっかり浸み込んできました。
    ありがとうございました。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      おお、ありがとうございますヽ(´ー`)ノ
      急いで書いたんで変なところあるかな?
      と思いつつ飲みに出かけましたw
      仕組みがわかると設定も楽しいですよね。

      返信
  2. ken

    葛葉様

    おはようございます。
    この度の記事とても参考になりました!別のPCから接続できないのかなーと考えていた矢先でしたのでとても感激しております。
    いつも感謝しきれないくらいのありがとうございますです。

    これからもがんばってください。
    ぼくもがんばります。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      アカウントが同じなら別のPCでも接続出来ますよ。
      がんばって設定してみてください。

      返信

makの枕草子 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)