Articles of linux

在Linux上生成文件访问计数的报告/柱状图

我想为进程运行时访问的每个文件生成一个文件访问计数的报告或直方图。 …而不仅仅是该进程访问的文件,但理想情况下所有的儿童/孙子/等进程。 (如果不这样做,全系统的报告就可以了。) 我还需要指定多个文件系统来监视。 但是,我可以通过运行多个testing通过,每个文件系统一次。 我已经search了诸如“linux文件访问统计直方图”等短语,但没有find任何似乎符合这种需求的东西。 有没有现成的工具可以做到这一点? 我更喜欢开源/免费软件。

名为ssh的Bashrc函数不起作用

我在我的bashrc文件中创build了一个函数,当我ssh进入某些东西时,它会自动打开一个tmux会话。 function ssht () { /usr/bin/ssh $@ -t 'tmux a || tmux || /bin/bash' } 这很好,但我不想用ssht,我只想用ssh。 当我从ssht更改function到SSH tmux不打开,但它成功ssh进入机器。 我认为这是行不通的,因为当我调用ssh时,它会忽略bashrc文件中的函数,而是运行ssh。 有什么方法可以使用“ssh”而不是“ssht”

保护包含在文件内的数据库密码

我有一个基于Linux的应用程序(Java),连接到同一局域网中的外部数据库(PostgreSQL)。 但是,由于数据库内容的敏感性,我想避免应用程序服务器(root用户)的pipe理员打开configuration文件并查看文件中包含的数据库密码。 有什么替代或无密码的方法来连接? 我的主要是SSL证书等。 提前致谢,

运行没有空格的命令

我不会让你知道细节,但是我需要传递一个命令给一个没有空格的文件,每个空格都认为下一个文本是一个variables,而不是这种情况。 我需要能够创build一个命令与空间以外的其他字符或使用hex字符来克服这一点。 不幸的是,我完全locking使用这种方法,因为这个文件存在于1000个设备上,我需要在每个设备上手动更改文件,如果我可以解决这个问题,那么这对我来说是最好的解决scheme。 有没有人有任何想法,如果这是可能的? 编辑嗨大家了解一些更多的信息,可以说我有文件test.sh,它有一个叫做echo_var的函数,如果我使用命令的例子 test.sh echo_var helloworld 该函数将简单地回声helloworld 如果我说使用命令 test.sh echo_var hello world 只有hello得到回应,因为它认为“hello world”是两个string,只确认第一个,函数将每个分隔的string作为一个variables,只使用第一个variables,即hello。 我需要让你好世界一个variables 我想运行的命令是重新启动服务即 test.sh echo_var hello&&service apache2 restart 所以你好都会被回显,服务重新启动。 但是在空间服务之后,命令被切断。 这里是我必须与之交互的文件(test.sh),这是在1000个设备上,我需要使用它: case "$1" in echo_var) echo "$2" ;;

有没有办法从iptables / iproute转发所有stream量到我的IDS,并保持经常stream量

原因是为了把所有的软件包都保存在我的IDS中,所以IDS不会成为单一的故障点。 如果路由我所有的stream量到我的IDS和从我的IDS到互联网,那么如果IDS崩溃,我的整个networking就会停止运转,我们所有的24/7全天候服务……不是一个好主意。 任何虽然? 谢谢

将Linux系统的基础扩展到当前状态以生成playbook / dockerfile / shell脚本?

我正在寻找一种方法来生成一个安装脚本,将Linux系统的当前状态区分为基本映像(例如Docker映像)。 输出将是从基本映像重新创build当前状态的操作列表 – 通常是一堆apt-get install和一堆文件修补程序应用程序。 这是否可行? 今天有这样的事情吗?

限制每个用户的传出SSH

我有一个服务器,我pipe理。 它有22端口访问许多机器。 我想用它作为一些用户的堡垒主机。 问题是,我希望我的服务器上的每个用户都拥有自己的可以通过SSH连接的IP /地址白名单。 例如,让我们说我的机器M可以访问服务器S1,S2,S3,… S8。 我在机器M上有三个用户A,B和C.我要A只能对S2进行SSH连接,B只能对S1,S5和S6进行SSH连接,而C能够连接到S2 ,S3,S4,S5和S8。 我如何做到这一点?

根接受任何密码:如何更改为真正的密码?

我有一个可以通过公共IP地址访问的旧的Linux系统。 当您连接到SSH端口时,您可以使用任何密码以root身份login。 唯一的限制是密码至less需要1个字符。 在(远)过去,当这个系统被开发时,这是好的,因为系统总是在具有它自己的authentication的拨号调制解调器之后。 由于几年,该系统通过ADSL连接,并有一个公共IP地址(没有VPN)…奇迹般地没有人打扰SSH端口…直到上周… 上个星期,一个通过SSH端口连接的中国IP地址,使用root帐户login,更改了一些系统设置(包括root密码),并注销了…我可以在/var/log/messages看到这个通过另一个端口进行检索。 我怎样才能为root帐户设置一个真正的密码? 我尝试使用passwd命令给出一个新的密码,但在此之后,我仍然可以用任何随机密码login(重新启动之前和之后) 在/etc/shadow它说明有关root帐户的以下内容: root:8ZGWAPs9N9EJQ:::::: 在/etc/ssh/sshd_config我看到下面一行注释掉了: #PermitRootLogin yes 因为“是”是默认值,所以我没有看到任何错误。 有关系统的一些信息: login显示: BusyBox v1.00-pre9 (2004.07.09-11:06+0000) Built-in shell (ash) cat /proc/version给出: Linux version 2.4.31 (<emailaddress>) (gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #4 Thu Sep 22 09:13:06 CEST 2005 我现在closures了ADSL调制解调器防火墙中的SSH端口,所以不能远程访问,这给我一些时间来解决这个问题 我想给root帐户一个真正的密码,它必须与任何SSH连接一起使用,最好不用重置系统 我相信这是可能的,因为系统上周没有重新启动,所有进程仍在运行,但是我无法用任何密码login到root帐户。 [编辑] 因为pingz怀疑这似乎是由/etc/pam.d/system-auth nullok引起的 是否有可能编辑这个文件并加载新的设置,而不必停止任何正在运行的进程? /etc/pam.d/system-auth的第一行显示: #%PAM-1.0 # This file […]

只有一个IP规则正在实施

我有一个有10g卡的服务器。 我需要configuration该服务器,以便对于特定的IP地址(172.16.2.180),stream量通过两个10g端口,第二个故障转移需要。 服务器只实现我为主机创build的最后一个networking规则。 我至less需要两个规则/端口来隔离stream量到10g,并进行故障转移。 我添加了以下规则,在每个规则之后,我testing了ping和“IP路由获取” 这是一个例子 [19:53:13] shock:~ # ip rule add from all to 172.16.2.180 lookup eth3 [19:53:22] shock:~ # ip rule add from all to 172.16.2.180 lookup eth4 [19:53:50] shock:~ # ip rule add from all to 172.16.2.180 lookup eth5 [19:54:18] shock:~ # ip rule add from all to 172.16.2.180 lookup eth6 [20:12:56] […]

Postfix:作为智能主机,如何限制传入邮件到发件人域和发件人IP?

我在Centos 7上运行一个Postfix + Dovecot服务,并且有一些不相关的虚拟域。 同样的Postfix服务器也被设置为IP 192.0.2.2和203.0.113.2的智能主机(中继)。 现在,无论邮件IP 192.0.2.2发送什么邮件,我的Postfix都会转发到Internet上。 来自192.0.2.2的所有发件人地址来自@ example.com域。 但是,有时候IP 192.0.2.2会发送来自随机发送者域的垃圾邮件,我的Postfix会将这些邮件转发到Internet上,将我的IP列入黑名单。 我想为我的Postfixconfiguration一个限制,所以当IP 192.0.2.2尝试中继邮件时,发件人域必须是example.com,否则我的Postfix必须拒绝邮件。 我有从@ example.net域发送的IP 203.0.113.2相同的问题。 我无法控制192.0.2.2或203.0.113.2,所以只能使用我的Postfix来解决问题。 这是在我的main.cf文件现在启用智能主机function: mynetworks = 127.0.0.0/8, 192.0.2.2/32, 203.0.113.2/32 编辑: 下面是匿名postconf -n输出:“inet:127.0.0.1:8891”是OpenDKIM,我用来从example.org签署外发电子邮件 alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd […]