2009/1/19 shell909090 <[email protected]>: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Star Liu 写道: >> 2009/1/18 shell909090 <[email protected]>: >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> >>> 大家好: >>> 我最近移动系统,在做很多系统管理员的操作,因此我希望给当前用户赋予 >>> 一定的管理员权限,于是我写了一下sudoers来分配权限。具体文件如下: >>> Defaults env_reset >>> >>> # Uncomment to allow members of group sudo to not need a password >>> # %sudo ALL=NOPASSWD: ALL >>> >>> # Host alias specification >>> Host_Alias LAN = 168.192.0.0/255.255.0.0 >>> >>> # User alias specification >>> >>> # Cmnd alias specification >>> Cmnd_Alias LOCALTOOLS = /usr/local/sbin/* >>> Cmnd_Alias HDDTEMP = /usr/sbin/hddtemp >>> Cmnd_Alias MOUNT = /bin/mount, /bin/umount, /usr/bin/ntfs-3g >>> >>> # User privilege specification >>> shell ALL = NOPASSWD: LOCALTOOLS, LOCALTOOLB, HDDTEMP, MOUNT >>> >>> Defaults:%staff !lecture >>> Defaults:%src !lecture >>> Defaults:%staff !authenticate >>> >>> 注意其中/usr/local/sbin/*一行,理论上说,经过如此权限分配后,我应 >>> 当可以执行/usr/local/sbin/brightness文件,但是: >>> sh...@debianm:~$ sudo /usr/local/sbin/brightness >>> Password or swipe finger: >>> >>> Sorry, user shell is not allowed to execute >>> '/usr/local/sbin/brightness' as root on DebianM. >>> >>> 神奇的是,如果我将文件改名为/usr/local/sbin/c,就可以执行。或者如 >>> 果我将上面的权限分配改为/usr/local/sbin/b*,也可以执行(理所当然,这时 >>> 候其他非b开头的程序就无法执行了)。如果我将权限分配写成 >>> /usr/local/sbin/*, /usr/local/sbin/b*,就可以完美解决我的问题。但是—— >>> ——这不符合预定的逻辑。 >>> 关于sudo的逻辑,我参考的是这里(http: >>> //www.leftworld.net/wenzhang/show/1543.html)。 >>> 根据上面的说法,*应当匹配任意一个字符系列,除了/。而刚刚上面的表 >>> 现,好像*无法匹配b开头的字符串。更奇怪的是,不经过任何修改, >>> /usr/local/sbin/battery_charge是可以执行的。 >> 个人觉得,可以通过看这段程序的源代码来彻底弄清楚这个问题,能边运行边 > debug就更好了,呵呵,开个玩笑:) > 试过,但是由于sudoer的行为涉及到权限切换,一般调试工具在普通用户权限跑 > 不动,root权限直接通过了—— > 经验不足,不知道该怎么办了—— 果然是大虾,还真试过了!个人觉得可以看看相关的源代码吧,可能是通配符的解析有误?如果以后这种匹配方式使用标准的regular expression就好了,接口就会变得简单,我们也可以少花费精力。
>>> 完全被搞迷糊了,盼复。 >>> >>> 与其相濡以沫,不如相忘于江湖 >>> Shell.E.Xu >>> 2009年01月18日 >>> -----BEGIN PGP SIGNATURE----- >>> Version: GnuPG v1.4.9 (GNU/Linux) >>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org >>> >>> iEYEARECAAYFAkly+TwACgkQxx/N+qwtsRZcYQCgtzPkdZNhMC3hdARQTDCrSpMZ >>> 14YAoKUJHAQOTrEnNz0tmeSjmGXDdkBG >>> =0hbn >>> -----END PGP SIGNATURE----- >>> >>> >>> -- >>> To UNSUBSCRIBE, email to [email protected] >>> with a subject of "unsubscribe". Trouble? Contact > [email protected] >>> >>> > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkl0Uc4ACgkQxx/N+qwtsRZD8ACfT+TZg6SNmI4E+/qnUfXbAiCX > YccAoLg+kI72423dSHs0ZsR3ACruXB2g > =1R+x > -----END PGP SIGNATURE----- > > > -- > To UNSUBSCRIBE, email to [email protected] > with a subject of "unsubscribe". Trouble? Contact [email protected] > >

