linux中/usr下文件权限修改setuid导致的问题
linux中/usr下文件权限修改setuid导致的问题
水海云 发表于2个月前
linux中/usr下文件权限修改setuid导致的问题
  • 发表于 2个月前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

在Ubuntu系统中因为一些原因我使用如下命令修改了/usr目录的拥有者权限:

chown -R root:root /usr

结果直接导致系统无法正常启动,通过跟踪系统启动日志/var/log/syslog找到如下失败原因:

[system] Activated service ‘org.freedesktop.ConsoleKit’ failed: The permission of the setuid helper is not correct

通过排查和跟踪,发现是/usr目录下的某个文件的权限属性被我修改失去了setuid位权限导致的,把这个文件的setuid权限改回去就可以了:

$ ls -l /usr/lib/dbus-1.0/dbus-daemon-launch-helper
-rwxr-xr– 1 root messagebus 294384 oct.   3 23:00 /usr/lib/dbus-1.0/dbus-daemon-launch-helper*
$ sudo chmod u+s /usr/lib/dbus-1.0/dbus-daemon-launch-helper
$ ls -l /usr/lib/dbus-1.0/dbus-daemon-launch-helper
-rwsr-xr– 1 root messagebus 294384 oct.   3 23:00 /usr/lib/dbus-1.0/dbus-daemon-launch-helper*

因为Linux中很多的系统服务和组件都是使用DBus总线来进行通讯的,需要依赖于DBus服务和守护进程来保证,所以当DBus服务无法正常启动时,就会影响很多系统组件的正常启动。 重启系统的DBus服务:

 $ service dbus restart

日志信息应该如下:

dbus[918]: [system] Successfully activated service ‘org.freedesktop.PolicyKit1′
dbus[918]: [system] Activating service name=’org.freedesktop.ConsoleKit’ (using servicehelper)

本次事故再次提醒我,不要随意修改系统目录下的文件权限,尤其是一些特殊的权限,在不甚解其全部用途和意义之前,先进行调查研究清楚后再修改。否则很容易引起系统的宕机等不稳定问题。

标签: setuid dbus
共有 人打赏支持
粉丝 49
博文 109
码字总数 92537
×
水海云
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: