首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/etc/passwd继续访问

/etc/passwd继续访问
EN

Server Fault用户
提问于 2011-10-04 02:27:20
回答 2查看 320关注 0票数 4

我正在EC2上运行一台服务器(分操作系统,2.6.35.14,x86_64),最近我检查了每月100万I/O配额,这是荒谬的,因为我的磁盘利用率不应该接近这一点。(我没有运行任何需要大量磁盘访问的服务.甚至任何磁盘访问)

我的第一个想法是启动iotop,看看是否有任何进程不断地写入磁盘。iotop向我展示了一个名为jbd2的进程每分钟写入磁盘一次以上。

一些 四处搜索之后,问题似乎要么是内核错误,要么是某个定期接触磁盘的守护进程。

我安装了inotify工具,并在整个文件系统上启动了inotifywait;

代码语言:javascript
复制
sudo /usr/local/bin/inotifywait -m -r /!(dev|proc)

这表明/etc/passwd正在被打开、访问,然后关闭,每分钟多次。不用我在系统上做任何事!inotify没有告诉您处理的是什么进程,但是我安装了审计(http://people.redhat.com/sgrubb/audit/),设置了一些登录/etc/passwd,并让它运行了一段时间,然后查看了日志,但是他们告诉我的是它是由sudo:(用户名编辑)访问的。

代码语言:javascript
复制
type=SYSCALL msg=audit(10/03/2011 17:48:30.493:260) : arch=x86_64 syscall=open success=yes exit=4 a0=7f809205669a a1=80000 a2=1b6 a3=0 items=1 ppid=6466 pid=6467 auid=**** uid=root gid=**** euid=root suid=root fsuid=root egid=**** sgid=**** fsgid=**** tty=pts0 ses=79 comm=sudo exe=/usr/bin/sudo key=(null) 
type=SYSCALL msg=audit(10/03/2011 17:48:30.493:261) : arch=x86_64 syscall=open success=yes exit=4 a0=7f809205669a a1=80000 a2=1b6 a3=0 items=1 ppid=6466 pid=6467 auid=**** uid=root gid=**** euid=root suid=root fsuid=root egid=**** sgid=**** fsgid=**** tty=pts0 ses=79 comm=sudo exe=/usr/bin/sudo key=(null) 
type=SYSCALL msg=audit(10/03/2011 17:48:30.488:256) : arch=x86_64 syscall=open success=yes exit=3 a0=7f809205669a a1=80000 a2=1b6 a3=0 items=1 ppid=6441 pid=6466 auid=**** uid=**** gid=**** euid=root suid=root fsuid=root egid=**** sgid=**** fsgid=**** tty=pts0 ses=79 comm=sudo exe=/usr/bin/sudo key=(null)
...

有办法进一步缩小范围吗?我的cron文件中没有任何内容,也没有其他我能想到的服务会导致这样的结果:

代码语言:javascript
复制
chkconfig | grep on
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
cgconfig        0:off   1:off   2:off   3:off   4:off   5:off   6:off
cloud-init      0:off   1:off   2:on    3:on    4:on    5:on    6:off
cloud-init-user-scripts 0:off   1:off   2:on    3:on    4:on    5:on    6:off
conman          0:off   1:off   2:off   3:off   4:off   5:off   6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
yum-updatesd    0:off   1:off   2:on    3:on    4:on    5:on    6:off
EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-10-04 07:47:35

当您使用CentOS时,您应该能够通过查看/var/log/secure来了解sudo在做什么。

代码语言:javascript
复制
sudo tail /var/log/secure

10月4日03:45:44 EC2-centos-实例sudo: iain : TTY=pts/0;PWD=/home/iain;USER=root;命令=/usr/bin/tail /var/log/secure

编辑:使用注释中的答复进行更新

使用:echo 1 > /proc/sys/vm/block_dump启用块转储并使用dmesg查看它有助于跟踪访问磁盘的进程。比碘片更可靠。原来sar一直在运行,写到/var/log/sa/saXX,所以我在cron.d中禁用了它,一切都很好。

票数 5
EN

Server Fault用户

发布于 2011-10-04 03:02:10

听起来好像你有一个脚本或程序,它使用sudo来尝试并作为根用户来做一些事情。您可以在sudo中启用登录功能,找出他们想要做的事情,并想出一个更好的解决方案(可能需要一个setuid二进制文件)。下面是有关sudo的更多信息(比如如何启用日志记录):

http://aplawrence.com/Basics/sudo.html

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/318189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档