2

chmodのユーザー:グループ権限がありroot:root、の権限がある場合220、root ユーザーは実行権限を復元できますか?

一般に、Unix アーキテクチャーの観点から、これらのニワトリが先か卵が先かという問題はどのように解決されるべきでしょうか?

私はいつも、ルートユーザーはすべてを実行でき、000権限のあるファイルを実行できると思っていました。

4

2 に答える 2

3

一般に、これらのニワトリが先か卵が先かという問題は、Unix アーキテクチャの観点からどのように解決されるべきでしょうか?

(何らかの理由で) 権限を変更して chmod を壊した場合でも、基礎となる OS フックを呼び出すことで修正できます。例えば:

vagrant@vagrant-base-tfisher:~$ sudo -i
root@vagrant-base-tfisher:~# which chmod
/bin/chmod
root@vagrant-base-tfisher:~# chown 220 /bin/chmod 
root@vagrant-base-tfisher:~# ls -la /bin/chmod 
-rwxr-xr-x 1 220 root 51760 Apr  1  2012 /bin/chmod
root@vagrant-base-tfisher:~# chmod 220 /bin/chmod 
root@vagrant-base-tfisher:~# ls -la /bin/chmod 
--w--w---- 1 root root 51760 Apr  1  2012 /bin/chmod
root@vagrant-base-tfisher:~# chmod 755 /bin/chmod 
-bash: /bin/chmod: Permission denied
root@vagrant-base-tfisher:~# irb
irb(main):002:0> File.chmod(0755,'/bin/chmod')                                                                                                                                                              
=> 1
irb(main):003:0> quit
root@vagrant-base-tfisher:~# ls -la /bin/chmod 
-rwxr-xr-x 1 root root 51760 Apr  1  2012 /bin/chmod
于 2013-04-26T15:22:09.407 に答える
2

はい、基本的なツールのみを使用して root としてこれを回復する非常に簡単な方法があります。

mv /bin/chmod /bin/chmod.wrongperms
cp -p /bin/cat /bin/chmod
cat /bin/chmod.wrongperms >! /bin/chmod
rm /bin/chmod.wrongperms

別の実行可能ファイル (catここでは例として) をコピーする-pと、755 のアクセス許可が保持され、catその内容をその中にコピーchmodしてもアクセス許可は変更されません。

于 2013-04-26T15:24:29.297 に答える