0

[ linux capabilities ]あたりのはなし

Capture 2017-02-18 14.11.18


/home/hoge/foo に拡張属性をつけ、rm-rf /home/hoge/foo を実行不可とする。
なお、/home/hoge/foo配下のファイル、ディレクトリの属性は再帰的に踏襲せず、rm -rf /home/hoge/foo/bar.rb など、ケーパビリティの制約を受けないものとする。

{{{{root}}}}$ getcap /home/hachim/ping
/home/hachim/ping =
{{{{root}}}}$ setcap cap_net_raw=ep /home/hachim/ping
{{{{root}}}}$ getcap /home/hachim/ping
/home/hachim/ping = cap_net_raw+ep
{{{{root}}}}$
{{{{root}}}}$
{{{{root}}}}$ ls -l `which ping`
-rwsr-xr-x 1 root root 38264  5月 11 03:32 2016 /bin/ping
{{{{root}}}}$
{{{{root}}}}$
{{{{root}}}}$ exit
exit
{hachim}$ /home/hachim/ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.034 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.038 ms
^C
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2162ms
rtt min/avg/max/mdev = 0.034/0.039/0.045/0.004 ms
{hachim}$
{hachim}$ ls -l /home/hachim/ping
-rwxr-xr-x 1 hachim hachim 38264  2月 17 12:27 2017 /home/hachim/ping
{hachim}$ sudo -s
{{{{root}}}}$
{{{{root}}}}$ whoami
root
{{{{root}}}}$
{{{{root}}}}$ setcap -r /home/hachim/ping
{{{{root}}}}$
{{{{root}}}}$ getcap /home/hachim/ping
{{{{root}}}}$
{{{{root}}}}$
{{{{root}}}}$ exit
exit
{hachim}$
{hachim}$ /home/hachim/ping localhost
ping: icmp open socket: 許可されていない操作です

​❏ 参考
https://oss.sios.com/redhat-ch/blog/capability
http://ksmakoto.hatenadiary.com/entry/2012/07/14/095409
http://www.usupi.org/sysad/183.html
http://blog.hyec.jp/2013/09/lsattrchatter.html
https://linuxjm.osdn.jp/html/LDP_man-pages/man7/capabilities.7.html
https://linuxjm.osdn.jp/html/e2fsprogs/man1/chattr.1.html

検証中・・・

コメントを残す

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