服务器管理员

系统和网络管理员的问答

3
找不到CentOS 7 Firewall-cmd
我刚刚安装了CentOS 7: [root @ new〜]#cat / etc / redhat-release CentOS Linux版本7.1.1503(核心) 我正在尝试配置防火墙,并被告知在CentOS 7中,不再使用iptables,而是由firewalld代替。尝试运行命令来设置防火墙规则时: 防火墙-cmd --add-port = 80 / tcp 我收到以下消息: [root @ new〜]#Firewall-cmd --add-port = 80 / tcp -bash:防火墙-cmd:找不到命令 编辑:我也尝试了以下命令: [root @ new〜]#Firewall-offline-cmd --add-port = 80 / tcp -bash:firewall-offline-cmd:找不到命令 没有任何成功。 我尝试运行以下命令来检查是否已安装firewalld: [root @ new〜]#服务防火墙状态 重定向到/ bin / systemctl状态firewalld.service 防火墙服务 已加载:找不到(原因:没有此类文件或目录) …
20 centos  vps  openvz  firewalld 

3
useradd不加密/ etc / shadow中的密码
当尝试为vsftpd创建新的FTP用户时,我偶然发现了这个问题。使用以下命令创建新用户并尝试使用FileZilla登录后,我将收到“密码错误”错误。 useradd f -p pass -d /home/f -s /bin/false 完成后,/ etc / shadow包含 f:pass:1111:0:99:2::: 一旦我运行以下命令并提供相同的通过密码 passwd f / etc / shadow包含 f:$1$U1c5vVwg$x5TVDDDmhi0a7RWFer6Jn1:1111:0:99:2::: 看来加密是在我运行passwd时发生的,而不是在useradd上发生的 重要的是,执行此操作后,我可以使用完全相同的凭据登录FTP。 我正在使用CentOS 5.11,用于FTP的vsftpd和用于FTP访问的FileZilla / var / log / secure包含: Dec 17 useradd[644]: new group: name=f, GID=511 Dec 17 useradd[644]: new user: name=f, UID=511, GID=511, home=/home/f, shell=/bin/false 当我传递-p …

3
nginx记录到access.log.1而不是access.log,logrotate失败了吗?
我有一个Nginx实例,该实例设置为记录对/var/log/nginx/access.log的访问权限和对/var/log/nginx/errors.log的错误记录,但是每周logrotate运行时,文件就会移至* .log.1和新的* .log文件已创建,但是nginx继续登录到log.1文件而不是新的.log文件(并且未压缩任何内容)。我第一次注意到这一点,距日志轮转已经有3周了,日志越来越大。运行kill -HUP `cat /run/nginx.pid`使nginx重新开始记录到正确的位置,但是问题在下周再次开始。 令人沮丧的更重要原因是我将日志设置为通过rsyslog上传到Loggly,并且当nginx停止记录到文件时,我进行了rsyslog轮询,然后事情停止了上传,并且我没有收到任何警报。 我怀疑它与重启nginx或重新加载配置有关,因为它直到我进行配置更改并以我认为正常的方式重新加载配置后才启动。我尝试运行,kill -USR1 `cat /run/nginx.pid`但是文件继续记录到错误的位置,直到我运行为止kill -HUP `cat /run/nginx.pid`,我已经知道这不能解决问题。 知道发生了什么吗?我承认我不是logrotate或nginx管理方面的专家,但我的Google在这方面的工作使我失败了。 这是我的nginx logrotate脚本,让我知道您是否还想看到其他内容。除了定义输出位置之外,nginx.conf在日志记录方面没有什么特别之处。 /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate [ -s /run/nginx.pid ] …

3
NFS写入性能较差
我有两台连接10Gbit以太网的机器。让其中一个作为NFS服务器,另一个作为NFs客户端。 通过TCP测试网络速度时,iperf双向显示吞吐量约为9.8 Gbit / s,因此网络正常。 测试NFS服务器的磁盘性能: dd if=/dev/zero of=/mnt/test/rnd2 count=1000000 结果是〜150 MBytes / s,因此磁盘可以正常写入。 服务器/etc/exports是: /mnt/test 192.168.1.0/24(rw,no_root_squash,insecure,sync,no_subtree_check) 客户端/mnt/test使用以下选项将此共享安装到本地: node02:~ # mount | grep nfs 192.168.1.101:/mnt/test on /mnt/test type nfs4 (rw,relatime,sync,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.102,local_lock=none,addr=192.168.1.101) 如果我尝试从NFS共享下载客户端计算机上的大文件(〜5Gb),则性能约为130-140 MBytes / s,接近服务器的本地磁盘性能,因此令人满意。 但是,当我尝试将大文件上传到NFS共享时,上传开始于〜1.5 Mbytes / s,然后缓慢增加到18-20 MBs / s,然后停止增加。有时,共享实际上在开始上传之前“挂起”了几分钟,即主机之间的流量接近于零,如果执行ls /mnt/test,则在一两分钟之内它不会返回。然后ls命令返回并以1.5Mbit / s的初始速度开始上传。 当上传速度达到最高速度(18-20 MB / s)时,我运行iptraf-ng,它在网络接口上显示〜190 Mbit / …

3
尝试使用公共密钥(无密码)和可在Ubuntu 14.04.1上运行的Google Authenticator获取SSH
我正在使用Ubuntu 14.04.1(带有OpenSSH 6.6和libpam-google-authenticator 20130529-2)。 我正在尝试建立SSH登录名,以对公钥进行身份验证(无密码),并提示用户输入来自Google身份验证器的代码。 按照/适应这些说明,我得到了密码提示和Google Auth提示: https://scottlinux.com/2013/06/02/use-google-authenticator-for-two-factor-ssh-authentication-in-linux/ http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/ https://wiki.archlinux.org/index.php/Google_Authenticator和https://wiki.archlinux.org/index.php/SSH_keys#Two-factor_authentication_and_public_keys https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-two-factor-authentication 我已经安装了包,我的编辑/etc/ssh/sshd_config和/etc/pam.d/ssh文件 在/etc/ssh/sshd_config: ChallengeResponseAuthentication yes AuthenticationMethods publickey,keyboard-interactive UsePAM yes 和在底部/etc/pam.d/ssh: auth required pam_google_authenticator.so nullok # (I want to give everyone a chance to set up their 2FA before removing "nullok") 我知道PAM取决于订单,但是sshd_config也取决于订单吗? 我究竟做错了什么?任何帮助,将不胜感激。

1
如何与另一个系统单元启动和停止?
我正在使用CoreOS安排车队的系统单位。我有两个单位(firehose.service和firehose-announce.service。我正在尝试使。firehose-announce.service和一起开始和停止firehose.service。这是用于firehose-announce.service:的单位文件。 [Unit] Description=Firehose etcd announcer BindsTo=firehose@%i.service After=firehose@%i.service Requires=firehose@%i.service [Service] EnvironmentFile=/etc/environment TimeoutStartSec=30s ExecStartPre=/bin/sh -c 'sleep 1' ExecStart=/bin/sh -c "port=$(docker inspect -f '{{range $i, $e := .NetworkSettings.Ports }}{{$p := index $e 0}}{{$p.HostPort}}{{end}}' firehose-%i); echo -n \"Adding socket $COREOS_PRIVATE_IPV4:$port/tcp to /firehose/upstream/firehose-%i\"; while netstat -lnt | grep :$port >/dev/null; do etcdctl set /firehose/upstream/firehose-%i $COREOS_PRIVATE_IPV4:$port …
20 systemd  coreos 

8
如何在Apache Tomcat中禁用SSLv3支持?
我试图将我的Apache Tomcat服务器重新配置为仅使用TLSv1。但是,它仍然使用某些浏览器退回到SSLv3。 我使用以下设置设置了<connector>标记: <Connector ... enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA" sslEnabledProtocols="TLSv1" /> 我是否缺少配置设置或存在我不应该拥有的礼物?

8
ssh不再使用〜/ .ssh / config
我什么也做不了。经过一番挖掘后,我发现它不是从主目录读取ssh config。 $ ssh -xvvv server OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /etc/ssh_config (...) 在朋友的同一台计算机上,一切正常时,它看起来像这样: $ ssh -xvvv server OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /Users/kuba/.ssh/config (...) 它较早就起作用了,我不知道可以做些什么导致此问题。这怎么可能发生,以及如何解决? 在tike指向的文档链接中,它指出 由于存在滥用的可能性,该文件必须具有严格的权限:用户读/写,并且其他人不能访问。 我的权限是: $ ls -la ~/.ssh total 80 drwx------+ 42 kuba 1029 1428 …
20 ssh 

4
在庞大的环境中实现iptables管理
从一开始管理iptables并能够在本地服务器上进行编辑的最佳方法是什么。 我们需要在所有服务器上集中添加一些规则,但是我们有具有特定要求的特定服务器,这些服务器应具有自己的一组规则。 我想到了带有多个include的bash脚本,这些脚本通过ansible进行集中管理,并且包含在本地服务器上进行管理。这是好方法吗?也许还有更好的东西? 我们无法为ansible创建yml2模板,因为特定主机之间的差异太大。 请提供iptables集中管理的示例。
20 iptables  ansible 


4
获取中间SSL证书
是否可以购买中间证书以用于签署子域证书?它必须被浏览器识别,我不能使用通配符证书。 到目前为止,搜索没有任何结果。有人签发这样的证书吗?
20 ssl 

2
通过GELF TCP 12201端口将回显消息发送到graylog2
我需要通过echo向graylog2服务器发送一条消息,以测试设施的%{@ type}是否正确,但是一旦执行echo操作,GELF支持中的内容就不会到达我的graylog2服务器。如果重新启动graylog2,则有关它的消息将开始到达graylog2服务器。 回显消息的示例: echo '{"version": "1.1","host":"example.org","short_message":"A short message that helps you identify what is going on","full_message":"Backtrace here\n\nmore stuff","level":1,"_user_id":9001,"_some_info":"foo","_some_env_var":"bar"}' | nc -w 1 my.graylog.server 12201 我究竟做错了什么?graylog --debug模式不显示任何内容。它甚至看不到该消息。 编辑: Graylog2输入是为GELF TCP设置的,并显示活动的连接,当我尝试回显时,它会升高,但消息未到达任何服务器。
20 netcat  echo  graylog 

4
内核堆栈跟踪到源代码行
给定如下所示的内核堆栈跟踪,如何确定发生问题的特定代码行? kernel: [<ffffffff80009a14>] __link_path_walk+0x173/0xfb9 kernel: [<ffffffff8002cbec>] mntput_no_expire+0x19/0x89 kernel: [<ffffffff8000eb94>] link_path_walk+0xa6/0xb2 kernel: [<ffffffff80063c4f>] __mutex_lock_slowpath+0x60/0x9b kernel: [<ffffffff800238de>] __path_lookup_intent_open+0x56/0x97 kernel: [<ffffffff80063c99>] .text.lock.mutex+0xf/0x14 kernel: [<ffffffff8001b222>] open_namei+0xea/0x712 kernel: [<ffffffff8006723e>] do_page_fault+0x4fe/0x874 kernel: [<ffffffff80027660>] do_filp_open+0x1c/0x38 kernel: [<ffffffff8001a061>] do_sys_open+0x44/0xbe kernel: [<ffffffff8005d28d>] tracesys+0xd5/0xe0 虽然我可以很轻松地找到函数调用-但是将__link_path_walk加上偏移量转换为实际的行号是困难的部分。 假设这是针对标准发行版提供的内核的,我知道该内核的确切版本和内部版本号,那么获取必要的元数据并进行相应查找的过程是什么?

4
发布id_rsa.pub以更轻松地设置新环境?
为了使在新机器和环境上更容易地设置无密码SSH,是否有任何原因导致id_rsa.pub文件(只是密钥对的公共部分)无法在网络上发布?例如在dotfiles GitHub存储库中。 我知道: 该id_rsa文件(密钥对的私有部分)必须小心保护和 密钥对应使用密码保护 但是我的搜索没有发现任何明确的建议,允许或鼓励这样做。 出于好奇,对于没有密码短语的密钥对,同样的建议会成立吗?

3
是什么导致计划任务错误2147942402?
Server 2008 R2(已完全修补) 我正在尝试运行计划任务,将指定类型的文件从C:\ Windows \ Temp移至E:\ Foo_blah_blah_blah_blah \ Foo2,由于某种原因,出现以下错误: 任务计划程序无法为用户“ FOOBOX \ Administrator”启动“ \ Move Temp Files”任务的实例“ {fe0f148a-cece-44a0-a4d1-914aaf21daa8}”。附加数据:错误值:2147942402 知道为什么会这样吗? 额外细节: 该任务配置为以具有移动文件权限的帐户运行。 任务配置为无论用户是否登录都运行。两种情况均失败-相同的错误。 该任务配置为在本地操作系统(Windows Server 2008)上运行 该命令分为两部分。程序/脚本:move添加参数:C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\ 如果我move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\从Windows命令提示符运行相同的命令,则可以正常工作。 我想念什么?

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.