Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
根据退出状态将Cron电子邮件输出到MAILTO
我有一个cron作业,运行像这样的php命令: php /path/to/script.php > dev/null 这应该仅将STDERR输出发送到MAILTO地址。根据我的收集,即使退出状态为1,php脚本也不输出任何STDERR信息。 如何获得php命令(STDOUT)的输出,并且仅在退出状态为非零的情况下将其发送给MAILTO?
11 bash  cron 

4
如何恢复被杀死的tar命令
我正在做一个:tar -cvf我不得不用它杀死它ctrl-C。我知道我应该做一个Ctrl-Z,然后将任务放回前台...但这不是故事。 我可以从停止任务的那一刻起恢复吗?
11 tar 

5
在终端和SSH上禁用颜色
我的本地Linux机器的终端输出是这样的: 当我通过SSH连接到pfSense / BSD框时,它会更改如下颜色: 即使当我从没有本地彩色输出终端的机器SSH进行SSH,并从那里到此pfSense / FreeBSD框的SSH SSH时,它也会启用彩色输出,并开始产生不需要的彩色输出/ 是否可以在本地更改某些内容,以便从本地计算机或通过中间计算机通过SSH SSH到pfSense框时,客户端将忽略远程颜色设置。理想情况下,我只想保留黑白,两种色调的标准背景和文本颜色?
11 ssh  terminal  colors 


1
查看Shell函数的当前定义
因此,我一直在编辑bashrc,尽管有错误的函数定义已更新了bashrc,但我仍打开了一个带有可用功能定义的终端。(因为在我获取更新的bashrc之前,定义不会更改)在这种情况下如何查找工作函数定义?例如,如果我键入: alias function_name 我可以看到该别名的定义。功能上是否有类似的命令?如果不是,是否有命令输出当前终端正在使用的整个bashrc?
11 function  bashrc 

2
ELF共享库-PLT的动机
可以使用自修改代码来加速动态链接库中的函数调用吗? 据我了解,ELF共享库使用一种间接跳转表(过程链接表或PLT)来实现库函数的延迟绑定。目的似乎是为了避免必须修改代码段中的表,同时仍允许在第一次调用时对函数位置进行延迟解析。 在加载时甚至可能在第一个函数调用时为该表动态创建代码会更快吗? 是否能够在进程之间尽可能多地共享代码段(动态表对于进程是私有的)?是出于安全原因(可写代码不应执行 -但是JIT始终这样做,并且加载程序可以在实际启动程序之前由加载程序添加和删​​除写许可权)? 还是这两者的结合,而每次函数调用获得的小性能提升是不值得的?


4
跳过文件的前3个字节
我正在使用AIX 6.1 ksh shell。 我想用一根班轮做这样的事情: cat A_FILE | skip-first-3-bytes-of-the-file 我想跳过第一行的前3个字节;有没有办法做到这一点?

2
iptables:使用conntrack和owner匹配传出流量。适用于奇怪的滴
在我的iptables脚本中,我一直在尝试编写尽可能细化的规则。我限制了允许哪些用户使用哪些服务,部分出于安全性考虑,一部分作为学习练习。 在运行3.6.2内核的Debian 6.0.6上使用iptables v1.4.16.2。 但是我遇到了一个我不太了解的问题。 所有用户的传出端口 这工作得很好。我没有任何通用的状态跟踪规则。 ##出口端口81 $ IPTABLES -A输出-p tcp –dport 81 -m conntrack –ctstate新的,已确定的-j接受 $ IPTABLES -A INPUT -p tcp --sport 81 -s $ MYIP -m conntrack --ctstate已建立-j接受 用户匹配的出站端口 ##用户帐户的传出端口80 $ IPTABLES -A输出-匹配所有者--uid-owner用户帐户-p tcp --dport 80 -m conntrack --ctstate新创建的--sport 1024:65535 -j接受 $ IPTABLES -A INPUT -p tcp …

2
重新格式化大量XML文件
我正在处理分散在整个嵌套目录结构中的大量XML文件。 我尝试了以下方法: $ find . -name "*.xml" -type f | xargs -- xmllint --format 问题在于会在屏幕上生成格式化的XML输出,但不会更改文件。 如何更改此命令,以便更改实际文件内容?
11 find  xargs  xml 

1
有没有办法在我的机器上停用缓冲区溢出保护?
我想对各种虚拟机上的缓冲区溢出进行一些实验,包括(但不限于)Debian 6,Ubuntu 12.04,Fedora 16,但是每次我尝试执行缓冲区溢出漏洞时,都会收到以下消息: stack smashing detected (core dumped) 经过研究,我读到它是在编译器中实现的称为缓冲区溢出保护的功能。GCC例如使用GCC堆栈溢出保护(ProPolice) ,锵/ LLVM使用两个缓冲溢出探测器,SafeCode和AddressSanitizer。 我的问题是:由于我真的想检查我机器上的缓冲区溢出攻击,是否有办法(编译器标志,也许是Linux配置文件?)停用缓冲区溢出保护?
11 linux  security  gcc 

1
无法锁定/ var / lib / dpkg / lock(只读)
我试图在我的远程服务器(这是esxi服务器中的vm machine(debian))上安装ruby。出现此错误: 命令: 须藤apt-get install ruby​​1.8 错误: W: Not using locking for read only lock file /var/lib/dpkg/lock E: Unable to write to /var/cache/apt/ E: The package lists or status file could not be parsed or opened. 然后我尝试了: sudo dpkg --configure -a 输出: dpkg: unable to access dpkg status area: Read-only …
11 mount  apt  dpkg 

3
为什么我不能在iptables OUTPUT链上使用REJECT策略?
我目前将OUTPUT链设置为DROP。我想将其更改为REJECT,这样就可以知道这是我的防火墙阻止了我进入某处,而不是我尝试访问的任何服务都没有问题(立即拒绝而不是超时)。但是,iptables似乎对此并不在意。如果我手动编辑保存的规则文件并尝试还原它,iptables-restore v1.4.15: Can't set policy 'REJECT' on 'OUTPUT' line 22: Bad policy name则会得到该文件,并且拒绝加载规则。如果尝试手动设置(iptables -P OUTPUT REJECT),我会得到,iptables: Bad policy name. Run 'dmesg' for more information.但dmesg中没有输出。 我已经确认适当的规则已编译到内核中,并且已经重新启动以确保已加载: # CONFIG_IP_NF_MATCH_TTL is not set CONFIG_IP_NF_FILTER=y *** CONFIG_IP_NF_TARGET_REJECT=y *** CONFIG_IP_NF_TARGET_LOG=y CONFIG_IP_NF_TARGET_ULOG=y (添加星号以突出显示适用规则) 我能找到的所有内容都表明REJECT是有效的策略/目标(通常),但是我找不到任何对INPUT,FORWARD或OUTPUT链无效的信息。我的Google-fu没有帮助。我在Gentoo上,如果有什么不同的话。这里有人有见识吗?

3
如何检查dd备份的完整性?
我只是通过以下方式备份了整个硬盘(50GB)ssh: dd if=/dev/hda | buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img" 现在检查文件完整性的最佳方法是什么image.img,即如何验证所有内容是否正确复制?
11 backup  dd  integrity 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.