[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sudo的一个奇怪bug



2009/1/19 shell909090 <shell909090@gmail.com>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Star Liu 写道:
>> 2009/1/18 shell909090 <shell909090@gmail.com>:
>>> -----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文件,但是:
>>> shell@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 debian-chinese-gb-REQUEST@lists.debian.org
>>> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
>>>
>>>
>
> -----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 debian-chinese-gb-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
>

Reply to: