我注意到下面列出的每日日志轮换/etc/logrotate.d/
是在早上 6:40 左右执行的。从日志文件的开头和结尾可以清楚地看出这一点。我可以自定义这个时间并将其设置为午夜吗?
每天有一个日志文件很不错。
如果重要的话,我正在使用 ubuntu 服务器 10.04。
我有一个关于使用sudo
with output redirect的小问题>
。要启用 IP 转发,有人可以使用以下命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
执行此命令将拒绝权限,因为它需要 root 权限。但是,执行相同的命令sudo
也会导致权限被拒绝错误!输出重定向>
似乎没有继承前面命令的权限echo
。这是正确的吗?
作为一种解决方法,我这样做:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?我错过了什么吗?
请注意,这是一个示例,它适用于所有使用输出重定向的命令。
我使用以下命令在 Ubuntu Server 10.04 上安装了 NTP 服务器:
sudo apt-get install ntp
Run Code Online (Sandbox Code Playgroud)
NTP 守护进程似乎在 123 端口上工作和侦听。
但是,我无法从另一台机器上获取时间:
sudo ntpdate -u my_ntp_server
23 Nov 18:48:41 ntpdate[2990]: no server suitable for synchronization found
Run Code Online (Sandbox Code Playgroud)
有什么必要的配置要做吗?
我有一个正在运行的 Ubuntu Server 10.04.1。当我尝试通过 ssh 登录到服务器时,我无法登录。相反,我得到了connection refused
错误。我尝试 ping 机器并得到回复!因此,明确的原因是 SSH 守护程序已停止。
重新启动后,我可以通过 ssh 登录到我的服务器。过了一段时间,我查看了我的日志/var/log/syslog
,发现了以下记录:
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh …
Run Code Online (Sandbox Code Playgroud) 我有几个 Ubuntu 服务器。其中两个用作 DNS 服务器。我的其中一台名称服务器(我们称之为 DNS1)因维护而停机。我还有另一个 DNS 服务器在运行(DNS2)。
所有其他服务器都配置为使用名称服务器,如下所示
/etc/resolv.conf
:
nameserver DNS1
nameserver DNS2
Run Code Online (Sandbox Code Playgroud)
我仍然可以使用 DNS2 服务器解析 DNS 名称,但名称解析需要很长时间。我很清楚,任何给定的服务器首先尝试访问 DNS1,然后在失败后尝试访问 DNS2。
我试图交换两行。名称解析变得太快了。
我想知道是否有办法resolv.conf
根据配置的名称服务器的状态动态更改文件。当然,我可以自己编写一个 shell 脚本来完成这项工作。但如果有更好的方法,我更愿意找到。
我安装了 ubuntu 服务器 10.04 并正常启动。
一段时间后,我启动了服务器并尝试使用以下方法安装新包/升级现有包:
sudo apt-get upgrade
sudo aptitude safe-upgrade
sudo apt-get install ntp
Reading package lists... Done
Segmentation faulty tree... 50%
Run Code Online (Sandbox Code Playgroud)
我检查了系统日志/var/log/messages
,发现了这些条目:
kernel: [ 5586.184028] apt-get[3864]: segfault at 7fb5e078477b ip 00007fb5da82223c sp 00007fffa943b430 error 6 in libapt-pkg-libc6.10-6.so.4.8.0[7fb5da7e1000+c5000]
kernel: [ 5682.494467] aptitude[3973]: segfault at 7f06d4c4d77b ip 00007f06d063723c sp 00007fff5feb8540 error 6 in libapt-pkg-libc6.10-6.so.4.8.0[7f06d05f6000+c5000]
kernel: [ 5991.238428] apt-get[4181]: segfault at 7f809c17e77b ip 00007f809621c23c sp 00007fff740deb30 error 6 in libapt-pkg-libc6.10-6.so.4.8.0[7f80961db000+c5000]
Run Code Online (Sandbox Code Playgroud)
此外,我在尝试使用时遇到了同样的错误,aptitude safe-upgrade
因为从日志文件中可以清楚地看出。
如何在不重新安装系统的情况下解决此问题?
众所周知,建议系统管理员使用普通用户(非root)登录系统。当admin需要做特权任务时, sudo
可以用来成为超级用户。在获得请求的权限之前,系统会提示管理员输入第一次登录时使用的相同密码。
我想知道是否可以将系统配置为在执行sudo
. 因此,用户将有两个密码。第一个密码将提供对 SSH 会话的访问。另一个密码(不是同一个)将用于获得管理员(root)权限。
这可能吗?我认为它将为系统增加更多的安全性。你同意?
顺便说一句,这将类似于 Cisco 设备使用的访问控制。首先,管理员使用密码登录。然后,访问“启用”(特权)模式需要另一个密码(可以是不同的或相同的密码)。