上篇提到root轉換成角色後,無論遠端、本機皆無法登入,
可以提高系統的安全,而且Solaris的角色有另一個特色,
並非帳號授予root角色,該帳號就擁有root角色的權限,
而是讓帳號擁有切換到root角色的權限,下面就來測試看看。
以一般帳號登入Solaris
$ id
uid=102(keven) gid=1(other)
查看帳號擁有那些角色
$ roles
root
在/etc新增一個空白的文件,結果權限不足,
所以並非擁有root角色就等於該帳號擁有root權限
$ touch /etc/cc.txt
touch: cannot create /etc/cc.txt: Permission denied
接著利用排程來測試root角色及一般帳號的差異
$ at 14:00 Apr 14
at> touch /etc/bb.txt
at> <EOT>
commands will be executed using /bin/sh
job 1428991200.a at Tue Apr 14 14:00:00 2015
因為keven帳號有授權root角色,所以可以切換到root
$ su - root
Password:
Oracle Corporation SunOS 5.10 Generic Patch January 2005
# at 14:00 Apr 14
at> touch /etc/aa.txt
at> <EOT>
commands will be executed using /sbin/sh
job 1428991201.a at Tue Apr 14 14:00:00 2015
時間到了14:00,觀察一下結果。
只有在root角色下的排程有完成新增文件的目的
$ ls /etc/aa.txt
/etc/aa.txt
$ ls /etc/bb.txt
/etc/bb.txt: No such file or directory
查看log可以發現root、keven兩個排程都有正確被執行,
但是非root角色執行完後卻回傳錯誤碼rc=1
> CMD: 1428991200.a
> keven 28140 a Tue Apr 14 14:00:00 2015
< keven 28140 a Tue Apr 14 14:00:00 2015 rc=1
> CMD: 1428991201.a
> root 28151 a Tue Apr 14 14:00:01 2015
< root 28151 a Tue Apr 14 14:00:01 2015