システムプログラム(第8週): スーパーユーザ(root)
筑波大学 システム情報工学研究科
コンピュータサイエンス専攻, 電子・情報工学系
新城 靖
<yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~syspro/2007/No8_files/superuser.html
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~syspro/2007/
http://www.coins.tsukuba.ac.jp/~yas/
Unix では、UID が 0 のユーザは、
全てのアクセス制御の仕組みを無視して何でも実行することができる。
これを
スーパー・ユーザ(super user)
、
特権ユーザ(privileged user)、
あるいは、
ルート(root)
と呼ばれる。
次の例は、モードが 000 (---------
) ファイルをスーパーユーザの権限で読むことが出き
ることを示している。
% su
Password: rootのパスワード
# cd /tmp
# ls -l file1
ls: file1: No such file or directory
# echo "This is file1" > file1
# chmod 000 file1
# ls -l file1
---------- 1 root wheel 14 Jun 19 00:55 file1
# cat file1
This is file1
# rm file1
#
- ファイルの所有者を無視できる。
誰のファイルでも、自由自在にモードを変えることができる(chmod())。
- ファイルのモードを無視できる。r が出ていないファイルで
も読める。w が出ていないファイルでも書込ける。
x が出ていないファイルでも、実行できるシステムもある。
- ファイルの所有者を変えることができる(chown())
。
- ディレクトリに実リンクを張ったり、消したりすることができる
(
ln -f
、rm -f
、link
、unlink
)
。
- デバイス・ファイルを作ることができる
(mknod)。
- 100%を超えたファイル・システムに書込むことができる。
- プロセスの UID, GID を変更することができる
(
setuid(2)
)
。
- プロセスの優先順位を上げることができる。(nice値を小さ
くすることができる。)
- プロセスの資源の最大値(ハードリミット)を大きくすることができる
(limit(), ulimit())
。一般ユーザは、小さくすることしかできない。
- 誰のプロセスにも、シグナルを送ることができる。誰のプロ
セスでも殺すことはできる
(kill())
。
- TCP/IP, UDP/IP で、特権ポート(1024より小さい番号のポート)を使うことができる
(bind(2))
。
- システムをリブートすることができる。
(
reboot
,halt
, shutdown
)
- システムのパラメタのセットすることができる。
(
date
, hostname
, domainname
)
- アカウント系のコマンドの実行することができる。
(
acct
)
- セキュリティ関係のコマンドをすることができる。
(
chroot
)
Last updated: 2007/06/19 19:54:57
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>