我的实际问题是,我作为docker run container bash –rcfile rcfile中的rcfile中运行的进程仍然附加到bash会话通过共享PGID,这意味着当我Ctrl-C一个不相关的命令进程收到一个SIGINT 所以,在rc文件里面它只是(nohup command &) ,而不是使用rcfile,我直接在shell中调用它,PGID是不同的,Ctrl-C不会影响。 从那里我推断出于某种原因,bash在执行rcfile时不会执行相同的后台进程。 写了一个没有docker的小testing,我看到了PGID的行为。 RCFILE,睡眠和bash共享PGID Cobain ~/tmp/testbash$ cat rcfile #!/bin/bash (sleep 10 &) Cobain ~/tmp/testbash$ bash –rcfile rcfile arkaitzj@Cobain:~/tmp/testbash$ ps -o "%p %r %y %x %c" PID PGID TTY TIME COMMAND 2883 2883 pts/0 00:00:06 bash 27911 27911 pts/0 00:00:00 bash 27913 27911 pts/0 00:00:00 sleep 27914 […]
我已经修复了Debian 6服务器上的shellshock错误,并在http://shellshock.brandonpotter.com/上进行了testing。我得到了“没有find漏洞”,这没关系,但是他们还检查了其他事情,并在testing日志中得到: URL mydomain.net (Root URL) (Header User-Agent exploit attempted with () { :;}; wget)… 200 OK URL mydomain.net (Root URL) (Header User-Agent exploit attempted with () { :;}; curl)… 200 OK URL mydomain.net (Root URL) (Header User-Agent exploit attempted with () { :;}; /usr/local/bin/wget)… 200 OK URL mydomain.net (Root URL) (Header User-Agent exploit attempted […]
我想在机器启动时启动这个inotifywait脚本,以便从启动时监视文件夹: #!/bin/bash while inotifywait -r -e modify,attrib,close_write,move,create,delete /var/www/htdocs /administrator /var/www/htdocs/components; do sh /home/ec2-user/s3backup.sh done 为此,我将脚本位置添加到/etc/rc.local文件中。 当我重新启动计算机时,可以看到有一个inotifywait进程正在运行,但没有任何反应,当文件被更改时。 当我手动启动脚本(或rc.local文件),一切工作正常。 我究竟做错了什么?
我想search一个variables,其中包含从get-childitem获取的文件列表,并将所有匹配项列出到特定的searchstring,但似乎无法得到我想要的结果,我做错了什么? $TargetFiles = Get-Childitem -OutBuffer 2500 |Where {!$_.PSIsContainer} |Select-Object Name,FullName ForEach ($File in (Select-String -Pattern "*$($CurrentDate.year)-$($CurrentDate.ToString('MM'))-*.gz" -InputObject $TargetFiles -SimpleMatch ) ) { write-host $file } 我已经尝试了许多不同的方法来编写searchstring,包括添加-SimpleMatch并更改searchstring以匹配正则expression式search。 “ $($ CurrentDate.year) – $($ CurrentDate.ToString('MM')) – .gz” ==完整的脚本== $LazyDev = $True # ==================================================================== # # = Start Program = # # ==================================================================== # Write-Host "Firewall Server Log Search […]
set -x或set -v打印每个执行的命令。 当命令开始执行时,如何获得打印命令?
我只是要写一个shell脚本,让我知道像SARG这样的基本function。 按照大多数点击的url进行sorting(在10k中10分钟内排名前100) 状态/错误代码总和 以及以很多带宽消耗的URLsorting 还有更多的sortingfunction 不幸的是,我用大多数Bandwith按URLsorting的function有问题。 那里已经有各种各样的尝试,但总是相同的问题:要么不工作,要么加在一起,在第二个spallte总字节…有没有人有任何想法,我怎么能实现最好的? raw accecc.log(常用样式) > tail /var/log/squid3/access.log 192.168.1.208 – – [10/Jan/2016:19:01:44 -0100] "CONNECT i.ytimg.com:443 HTTP/1.1" 200 143903 TCP_MISS:HIER_DIRECT 192.168.1.208 – – [10/Jan/2016:19:02:02 -0100] "CONNECT www.youtube.com:443 HTTP/1.1" 200 87392 TCP_MISS:HIER_DIRECT 192.168.1.208 – – [10/Jan/2016:19:02:12 -0100] "CONNECT s.ytimg.com:443 HTTP/1.1" 200 32718 TCP_MISS:HIER_DIRECT 192.168.1.208 – – [10/Jan/2016:19:03:00 -0100] "CONNECT s.youtube.com:443 HTTP/1.1" 200 6376 […]
我一直在Windows Server 2008 R2服务器上以pipe理员身份运行PowerShell。 今天我注意到安全对话框显示它的发布者是未知的。 我相当肯定微软发布了PowerShell。 我也相当肯定这是以前显示,所以现在我担心我的PowerShell安装已损坏。 在Windows Server 2008 R2上似乎没有简单的方法来重新安装或修复PowerShell。 我安装了WMF 4.0,但问题依然存在。 我如何确保运行可信的PowerShell.exe?
我在构build机器上运行的部署脚本中有这个块。 它应该将登台计算机上的文件从“安装”文件夹移至应用程序文件夹。 在这个块之前,还有几个成功执行Invoke-Session的动作 write-host "Deploying" -foregroundcolor red -backgroundcolor yellow invoke-command -session $s { Get-ChildItem -Path "C:\Install\pre_master" | Copy-Item -Destination "C:\inetpub\wwwroot\pre_master" -force -Recurse } 如果我在PS中手动创build一个会话并粘贴这个块,它就可以正常工作。 如果我运行这个脚本,这个步骤使我陷入数百万(对于每个文件,我试图移动我想?) input对象不能绑定到该命令的任何参数,因为该命令不会将stream水线放入put中,或者input及其属性与进行stream水线input的任何参数都不匹配。 + CategoryInfo:InvalidArgument:(0201-KS.xml:PSObject)[Copy-Item],ParameterBindingException + FullyQualifiedErrorId:InputObjectNotBound,Microsoft.PowerShell.Commands.CopyItemCommand 所以我的问题是: 为什么这个代码块在PS手动执行时工作。 但不能在脚本中工作? 这两台机器都有PowerShell 2.0
美好的一天,我有shell脚本做了很多事情,包括打开SSH隧道到特定的服务器和服务。 没有问题,设置隧道,testing,closures隧道。 但我有一个保持隧道活着的问题。 不幸的是,我不能改变服务器上的configuration,所以我需要在我身边实施某种“保持活动的机制”。 这是打开隧道的function: ssh_tunnel_up () { if lsof -Pi :${local_port} -sTCP:LISTEN -t > /dev/null ; then echo "Port is in use, please check with netstat -anlp | grep ${local_port}. Exiting…" else /usr/bin/ssh -24 -fN ${username}@${node_dev} -L ${server_local_port}:${server_dev}:${server_remote_port} if [[ $? -eq 0 ]]; then echo "Tunnel to Server UI created successfully" else echo […]
我们正在尝试编写一个脚本来设置一大组GPO的权限。 我们遇到的麻烦是我们在网上find的所有方法都不允许设置自定义或特殊权限。 以下是我们迄今为止使用的方法,没有产生我们需要的结果。 方法1 – XML报告 $xmlReport = $gpo.GenerateReport('xml') 该命令只返回受托人的姓名。 还包括一些属性,我是不确定的,如果有关。 方法2 – ADSI / LDAP对象 $GPOACLList = $GPOObjSec.GetAccessRules($true,$true,[System.Security.Principal.SecurityIdentifier]) 此方法返回组和权限,但不以粒度方式返回。 返回的“FileSystemRights”是ACL的“FullControl”,我知道它被认为是具有细化权限的自定义/特殊的。 方法3 – Get-GPPermission Get-GPPermission $gpoWithAppSpec -all | select -ExpandProperty permission 返回类似于可用于Set-GPPermission的权限,例如“GpoApply”,“GpoEditDeleteModifySecurity”,“GpoRead”。 再次,这些不是细化权限。