Articles of linux

如何find过去一直在运行的进程?

我被要求调查今天早上发生的高CPU使用率警报。 我用sar -p ,看到当时显示的高CPU使用率 接下来我用ps -eo pcpu,pid,user,args | sort -r -k1 | less ps -eo pcpu,pid,user,args | sort -r -k1 | less ps -eo pcpu,pid,user,args | sort -r -k1 | less列出在这个小时的前10名记忆猪 现在我怎么知道哪些stream程在上午的特定时间造成了瓶颈。 我是一名Java开发人员,而不是Linux专家。 这甚至有可能吗?

在vsftpd中禁用上传

如何防止本地用户上传vsftpd中的文件? 我知道我可以通过在vsftpd.conf中将stringdownload_enable设置为“NO”来阻止他们下载文件,还有上传文件的选项吗?

查找网卡的网卡百分比

所以我创build了一个Linux资源监视工具,可以获取各种资源信息。 我试图拉的一个领域是我的网卡上的networking吞吐量的百分比。 所以如果我有一个每秒处理200 Mb(比特)的1 Gb(比特)网卡,工具将显示20%。 以下面的基本计算为例。 sar -n DEV 1 1 #Used to pull Rx and Tx KB(byte) per second. 从这里可以说,它总共报告17000 KB(字节)。 然后我需要将其转换为Kb(位)。 所以我会做以下。 17000 * 8 这给了我总共136000 Kb(比特)。 我需要把它变成Mb(bits)来从我的实际网卡速度中获得一个百分比。 136000 / 1000 我除以1000将其改为Mb(bits)。 总计现在是136 Mb。 从这里我需要得到一个基于我的网卡的百分比。 我有一个1Gb(位)的网卡。 136 / 1000 (NIC speed in Mb) * 100 这相当于13.6% 所以一个粗略的计算会告诉我,我的网卡正在处理据说能够由供应商处理的13.6%。 我的问题如下。 如果这是错误的网站,请转发我,因为这是部分networking,部分math和部分Linux / OS报告,所以我不知道要使用什么。 谢谢 我的推理是否有缺陷? […]

防止写入卸载的sshfs挂载点

假设我有一个文件夹/mnt/mountpoint作为一些sshfs mounted目录的挂载点: sshfs user@host /mnt/mountpoint 现在,我想阻止应用程序在卸载时写入/mnt/mountpoint 。 我在这里和这里find的问题都有暗示使用的答案 sudo chattr +i /mnt/mountpoint 这工作正常,以防止任何写访问。 不幸的是,它也阻止了我作为一个普通的用户安装sshfs 。 什么是最好的解决scheme呢? 我更喜欢单个sshfs-command或者至less不需要root权限的东西。 我应该放弃chattr方法,尝试一些完全不同的东西吗?

快速填充磁盘:如何理解发生了什么?

我有一个org.apache.solr.hadoop.MapReduceIndexerTool/MorphlineMapper进程,填充本地的“/”挂载。 它运行几分钟,磁盘已满,Nagios警报被触发,然后我终止进程。 一旦进程被终止,文件利用率将降低到40%的基本级别。 这种情况发生得相当快,而且由于它是一个生产系统,所以仔细阅读文件系统来查看哪些文件是新的。 还有一些导致du -sh *挂起的NFS挂载。 我们正在运行RHEL 6.7。 是否有一个聪明的方法来确定什么,正在填充磁盘? 也许一个快速的方法来捕获,比较和汇总lsof的文件大小? 我想这是一个相当常见的情况,所以可能是每个系统pipe理员工具包中的一个很好的awk单行程。

如何logging在Linux上运行的所有命令,包括它们的参数(参数)?

我如何logging在Linux上执行的所有命令,包括它们的命令行参数(参数)? 所以,例如,如果有人跑: rm -rf /tmp/foo 我会看到类似这样的日志条目: 2016-01-01 18:00:00 user=bob command='rm -rf /tmp/foo' 而不只是这个: 2016-01-01 18:00:00 user=bob command='rm' 我只能find不logging命令行参数(参数)的auditd用法。 有没有办法正确configurationauditd来logging这个? 看起来FreeBSD有一种设置argv策略的方式 ,但是这似乎并不存在于Debian衍生产品中。

连接到第三方VPN服务器,但不使用它作为默认路由?

我想连接到Linux中的第三方VPN服务器(例如Debian Jessie),但默认情况下仍然使用我的eth0 lan接口作为默认路由 ,并且很好奇如何实现这一点。 我将使用策略路由或networking命名空间或规则集来select何时使用第三方VPN。 但是,我不清楚openvpn在幕后做了什么,它build立了所有的stream量通过它。 为了克服这个问题,当从我的客户端连接时,是否像覆盖“redirect网关”一样简单?

OpenVPN服务器本地networking访问和VPNnetworking访问

首先,如果这是一个重复道歉,我找不到与我的相匹配的问题 我有一个家庭Linux服务器和远程VPS Linux服务器。 OpenVPN满足这两个服务器之间的高速连接的要求,但是,由于我的家庭服务器没有连接到家庭networking,我无法通过家庭networking访问我的家庭服务器。 我只能通过OpenVPN访问它,它有200毫秒的延迟。 所以简而言之,我想使用OpenVPN来连接我的2台服务器,以及访问我的家庭服务器,因为我没有vpn, 即 > 10毫秒的延迟 我希望这是有道理的? 可能的解决scheme? 更新例如 在家里我用别名hserv进入我的家庭服务器 所以在家里我ssh root@hserv ,我做我的事情。 但是,如果我closures这个SSH会话,并让hserv连接到VPN连接,并尝试用ssh root@hserv重新连接到它,我无法。 这是问题。

Linux ssh客户端logging所有命令

我将设置一个Linux控制台框,以便仅通过该Linux机器通过sshlogin到思科设备。 我如何在Linux上设置ssh客户端来logging应用到思科设备的所有命令?

如果Radius服务器不可用,则SSH回退到本地帐户

我编辑了我的/etc/pam.d/sshd Radiusauthentication; 我添加了这一行: auth required pam_radius_auth.so 另外,我已经注明了这一行: @include common-auth 现在,如果Radius服务器处于UP状态,那么使用Radius的SSH身份validation是正常的,但如果radius服务器处于closures状态,则不会使用本地linux帐户进行回退。 任何build议在哪里编辑文件,让我回退到我的本地Linux帐户时,我的Radius服务器失败?