
Ubuntu日本語フォーラム
ログインしていません。
root権限のない一般ユーザでログインし、passwdコマンドで自分のパスワードを更新すると、
rootにしか更新権限のない/etc/shadowファイルが更新可能です。
なぜ更新出来てしまうのですか?
オフライン
passwdコマンドは setuidされています。
「端末」を2つ開いて片方で passwd を実行中にもう片方で ps コマンドで観察すると
実効ユーザ root として動いているのがわかります。
$ ls -l $(which passwd) -rwsr-xr-x 1 root root 68208 7月 15 07:08 /usr/bin/passwd $ ps -O ruid,ruser,euid,euser -C passwd PID RUID RUSER EUID EUSER S TTY TIME COMMAND 3209 1000 user 0 root S pts/0 00:00:00 passwd
オフライン
ellipticさん、返信ありがとうございました。
勉強不足でsetuidについてはよく知りませんでした。
chmod 4755等で設定して、一般ユーザがroot権限で実行できる仕組みのようですね。
オフライン