chmodとchownの使い方

ユーザーさんのファイルいぢることになったんだけど、パスワード忘れたっつー
ことで、rootで入っていぢってみたら、そのいぢったディレクトリのオーナーが
rootになってしまった。ゆえに、そのユーザーさんの名前でログインしても、そ
の部分はroot でないと操作できなくなってしまった。


そんな時にどうすればいいのかー・・・
最初、”chmod”を使おうとしてごちょごちょやってたけど、Permission denied
とか出\\ て、全然できないー。

で、yuujiさんに聞くと、

ゆ> ownerかえるのは chown す

がーん。つーわけで、こんな感じ。

chown オーナー ファイル名

という感じに徹底入門に書いてあったのですが、これはファイル指定の場合で、 

chown koba /home/koba/http/ks-sports/web/hoge.html

こうなる。ここで、ディレクトリ以下全ての場合は、”-R”をつけて、

chown -R koba /home/koba/http/ks-sports/web/

になるそうな。

んで、

% ls -l してみると

d--xrwxrwx 2 koba mkwk 7168 Feb 24 02:36 web/

おぉ、オーナーがrootから koba に変わってる〜(^^)

とはいえ、lsすると

ls: .: Permission denied

とでてしまう(^^;

後は、chmodで、属性の変更かな・・・

% chmod -R u+rw /home/koba/http/ks-sports/web/

でと。。。

-R は、ディレクトリー以下全部の権限を変える

u+rw は、

u:ユーザー (他に、g:group や、o:oters がある)
r+w:read と wright の意味であり、読み書きを許可することを意味する

こうして、

% ls -l すると、

drwxrwxrwx 2 koba mkwk 7168 Feb 24 02:36 web/

drwx rwx rwx とみっつにわけて見るらしい。一番左は、"u"ser、真中が、
"g"roup、一番右が、"o"ther を意味しており、"r","w","x"として権限を意味し
ているらしい。しかし、"d"はディレクトリ、"x"は実行可能を意味する。(あき
つぐさんありがとう(^^)

となった。ここで、上の説明のとおり、groupの人や、otherの人に見られるのは
いいとしても、書き換えられるのはよろしくないので、

chmod -R o-w /home/koba/http/ks-sports/web/

と

chmod -R g-w /home/koba/http/ks-sports/web/

で、

% ls -l

drwxr-xr-x 2 koba mkwk 7168 Feb 24 04:18 web/

となり、groupとotherの"w"が"-"になりました。というわけで、見ることはでき
ても書き込みはできなくなりました。すばらし。

chmod -R o-w /home/koba/http/ks-sports/web/
chmod -R g-w /home/koba/http/ks-sports/web/

をいっぺんにできるそうな。

% chmod -R og-w ~koba/http/ks-sports

でいいそうです。すばらしー。 
-----------------------

今回のそもそもの原因なんだけど、

miawa> rootでいぢくると、rootにオーナーが勝手に変わってしまうものなのでしょうか?

ゆ> rootでなくても、ファイルを書いた人の持ちもんになる酢。 ということでした(^^;


ずーっと前から気にはなっていたけど、なかなか触れることのできなかった件だっ
たので、良い機会になりました(^^;


2003年02月24日