服务器管理员

系统和网络管理员的问答

2
AWS CloudFormation:VPC默认安全组
我有一个cfn堆栈(除其他外),创建一个VPC,几个安全组和一些EC2实例。将在堆栈内创建的安全组分配给同样由堆栈创建的实例很简单。但是,我对默认的VPC SG感兴趣。 创建VPC后(无论是通过GUI手动,通过cloudformation还是其他方式手动创建),AWS都会为该组中的任何实例创建一个默认的安全组,并使用“允许所有”规则。 我想做的就是将此默认安全组以及其他几个SG分配给由堆栈创建的实例。事实证明,这比我预期的要困难得多。以下是一些片段,显示了我的情况: "AllowSSHSecGroup":{ "Type":"AWS::EC2::SecurityGroup", "Properties":{ "GroupDescription":"Allow SSH from anywhere", "VpcId":{ "Ref":"DevVPC" }, "SecurityGroupIngress":[ { "IpProtocol":"tcp", "FromPort":"22", "ToPort":"22", "CidrIp":"0.0.0.0/0" } ] } }, "Instance001" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : "ami-7eab224e", "InstanceType" : "m1.large", "AvailabilityZone" : "us-west-2a", "PrivateIpAddress" : "10.22.0.110", "SecurityGroupIds" : [ {"Ref" : …

3
如何从nginx配置中的$ uri中删除位置块?
我在ngix conf文件中进行了重写,可以正常工作,只是它似乎将位置块包含在$ uri变量中。我只想要位置块后面的路径。我当前的配置代码是: location /cargo { try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args; } 使用http://localhost/cargo/testpage重定向的示例URL 可以,但是我的php文件接收到的“ _REWRITE_COMMAND”参数的值为“ / cargo / testpage”。我需要剥离位置块,然后将“ testpage”作为$ uri 我很确定有一种正则表达式语法可以拆分$ uri并使用$ 1 $ 2等将其分配给新变量,但是我找不到任何示例来使用不属于重写的正则表达式来进行变量赋值声明。我一直在寻找并尝试了几个小时,但似乎似乎无法摆脱最后一步。 我也知道我可以在应用程序代码上删除它,但是我想在nginx conf中修复它的原因是出于兼容性原因,因为它也可以在Apache上运行。我还应该说我已经找到了一种真正的方法,但是它涉及一个“ if”语句来检查文件是否存在,文档特别指出不要这样做。
16 nginx 

3
如何将凭证文件传递给mount.cifs?
我正在维护Mac和Linux的异构网络,因此我决定创建一个perl脚本来统一跨计算机的安装策略。 linux中的当前实现在/ etc / fstab中可以正常工作: //myserverhere.com/cifs_share / mnt / cifs_share cifs用户,uid = 65001,rw,workgroup = DEV,credentials = / root / .cifs 0 0 和/root/.cifs包含 username=ouruser password=ourpassword 我尝试将其转换为非fstab格式,如下所示: mount.cifs //myserverhere.com/cifs_share /mnt/cifs_share user,uid=65001,rw,workgroup=DEV,credentials=/root/.cifs 但这似乎不起作用。 有人可以指出我做错了吗? 提前致谢。 伊斯梅尔·卡西潘()
16 linux  samba  mount  cifs 

4
每10分钟运行一次cron
我的桌面上有一个python脚本: /home/ceasor/Desktop/script.py 在中/etc/crontab,我写道: 0 */2 * * * ceasor sudo python /home/ceasor/Desktop/script.py python脚本未运行。如何每10分钟运行一次cron?
16 cron 

6
有没有办法使journalctl显示“上次运行foo.service”的日志?
我对查看计时器上运行的oneshot服务的输出特别感兴趣。该--unit标志是关闭的,但是它将所有服务运行串联在一起。我能想到的最明显的方法是对PID进行过滤,但这使我担心分叉的PID重用/服务,并且获取最后一个PID非常不便。是否有一些其他标识符可以与服务的单次运行相对应,可以用来过滤日志? 编辑:如果这是真正的答案,我会很乐意接受权威的“否”。
16 journalctl 


8
SSH-通过每个连接设置环境变量-Godaddy共享主机
我的问题是,我必须在服务器上设置环境变量(如GIT_EXEC_PATH)。我需要每个连接都具有该变量(因此也需要bash和远程命令)。我设法使用.bash_profile通过bash设置了这些变量,但是远程命令存在问题。我发现有可能在实际的rsa密钥之前在〜/ .ssh / authorized_keys中编写命令,但是我并不想一直写在那里,我需要一个永久的解决方案...我发现〜/ .ssh / rc文件由每个ssh登录执行,因此我在其中放置了env变量声明,但是没有用。这些变量在rc文件中设置,但之后消失了。:S也许rc文件在子shell中运行:S是否可以在没有代码重复的情况下在bash和远程命令中定义这些变量? 编辑: 我编辑了问题,因为服务器是Godaddy共享主机,所以它具有唯一的配置。/ etc / ssh / sshd_config和/ etc / ssh / ssh_config文件为空。这些文件中有注释,如果您好奇,可以在这里复制。 〜/ .bash_profile是来源(仅通过bash连接), 〜/ .bashrc从未被获取, 〜/ .profile从未获得, 〜/ .ssh / environment从未被获取, 〜/ .ssh / rc是由bash和remote两者提供的,但是我认为它在subshel​​l中被调用,因为变量消失了。 〜/ .ssh / authorized_keys每次都源,但是我必须在每个rsa密钥之前编写命令(因此,我不需要对其进行配置)。 摘要: 我可以很好地配置bash(使用.bash_profile),但是不能配置远程调用。那就是问题所在。我正在寻找由bash和远程命令来源的文件。 例如: git-upload-pack命令找到exe文件,因为设置了GIT_EXEC_PATH env变量,但是对于远程:“ git clone user@domain.com:myrepo local / myrepo”,服务器找不到该命令,因为GIT_EXEC_PATH未设置。 编辑2: 根据这个,我的printenv日志:的〜/ …

3
如何从以前的会话中搜索Powershell命令历史记录
我将当前的Windows 10与Powershell 5.1一起使用。通常,我想查找过去使用过的命令来修改和/或重新运行它们。不可避免地,我要查找的命令在以前的或不同的PowerShell窗口/会话中运行。 当我敲↑键时,我可以浏览来自许多会话的许多命令,但是当我尝试使用进行搜索时Get-History | Where-Object {$_.CommandLine -Like "*docker cp*"},没有任何结果。基本故障排除显示,Get-History以前的会话没有任何显示,如下所示: C:\Users\Me> Get-History Id CommandLine -- ----------- 1 Get-History | Where-Object {$_.CommandLine -Like "*docker cp*"} 如何搜索↑密钥使用Get-History或其他Cmdlet 提供的先前命令?


1
使用tee捕获STDERR和STDOUT到文件
我不清楚使用捕获两者STDERR并捕获STDOUT到同一文件的最佳顺序是什么tee。我知道,如果我想通过管道传输到文件,则必须在重定向后映射文件句柄,即 find . >/tmp/output.txt 2>&1 这指示外壳程序先发送STDOUT到/tmp/output.txt,然后再发送STDERR到STDOUT(现在正在发送到/tmp/output.txt)。 尝试执行2>&1重定向文件之前的操作将不会获得预期的效果。 但是,当我想使用管道tee应该是: find . |tee /tmp/output.txt 2>&1 # or find . 2>&1 |tee /tmp/output.txt # ?
16 linux  unix  redirect  pipe 

2
强制systemd timesyncd立即与NTP服务器同步时间
我已经配置了systemd timesyncd以从NTP服务器获取时间: /etc/systemd/timesyncd.conf > NTP=ca.pool.ntp.org systemctl restart systemd-timesyncd.service timedatectl set-ntp true 状态如下: $ timedatectl status ... Network time on: yes NTP synchronized: no 如输出所示,该时间尚未同步。有人可以帮我解决以下问题吗? timesync与NTP同步需要多长时间?它以什么间隔执行一次,在哪里可以检查和更改它们? 在紧急情况下:可以仅手动设置时间,还是可以强制timesyncd立即与NTP服务器同步?

4
通过后缀转发邮件时的SRS /发件人重写
有什么方法可以执行SRS,或者使用Postfix进行类似操作? 当我从user@example.org收到邮件时,我将其转发(通过邮件接收器)到something@gmail.com,但是GMail正在检查SPF,并且看到我的服务器无权代表example.org发送邮件。我想将发件人重写为something @ myserver,同时将发件人保留为user@example.org。
15 postfix  email 

3
将主域控制器移至新服务器
我刚刚购买了新服务器,它将成为新的主域控制器。我想知道是否有人知道任何有关如何进行此更改的文章或教程?我想这只是设置角色并从旧域控制器导入Active Directory的备份。我只想确保自己之间没有错过任何重要任务。


3
程序文件位于/ usr / bin中,但不能使用
显然我的文件存在于 /usr/bin $ ls /usr/bin/ngrok /usr/bin/ngrok 但是,当我尝试chown它时,我收到一个错误 $ sudo chown my_user:users /usr/bin/ngrok chown: cannot dereference '/usr/bin/ngrok': No such file or directory 进一步尝试运行它也会失败! $ ngrok bash: ngrok: command not found $ sudo /usr/bin/ngrok sudo: /usr/bin/ngrok: command not found 这是怎么回事

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.