mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-28 23:20:10 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
15cb498fee
@ -1,11 +1,11 @@
|
||||
我是被 root@notty 黑了吗?
|
||||
我是被 “root@notty” 黑了吗?
|
||||
======
|
||||
|
||||
当你在 `ps aux` 的输出中看到 `sshd:root@notty` 时会觉得很奇怪吧,`notty` 算是哪门子的主机,是不是黑客计算机的名字啊。不过不用担心; `notty` 仅仅是表示 `no tty` 而已。
|
||||
当你在 `ps aux` 的输出中看到 `sshd:root@notty` 时会觉得很奇怪吧,`notty` 算是哪门子的主机,是不是黑客计算机的名字啊。不过不用担心;`notty` 仅仅是表示 没有 tty 而已。
|
||||
|
||||
当你在本地登陆 linux 机器时,登陆终端会在进程列表中显示为 `tty`( 比如。tty7)。若你通过 ssh 登陆一台远程服务器,则会看到类似 `root@pts/0` 这样的东西。
|
||||
当你在本地登录 Linux 机器时,登录终端会在进程列表中显示为 `tty`( 比如,tty7)。若你通过 ssh 登录一台远程服务器,则会看到类似 `root@pts/0` 这样的东西。
|
||||
|
||||
而若某个连接是由 sftp 或者是由 scp 拷贝文件而创建的,则该连接会会显示成 no tty (notty)。
|
||||
而若某个连接是由 sftp 或者是由 scp 拷贝文件而创建的,则该连接会会显示成没有 tty (notty)。
|
||||
|
||||
如果你仍然想知道服务器上发生了什么事情,可以检查 `ps auxf` 的输出来查看进程树,或者运行 `netstat -vatn` 来检查所有的 TCP 连接。
|
||||
|
||||
@ -15,7 +15,7 @@ via: http://www.sysadminworld.com/2011/ps-aux-shows-sshd-rootnotty/
|
||||
|
||||
作者:[sysadminworld][a]
|
||||
译者:[lujun9972](https://github.com/lujun9972)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,135 @@
|
||||
如何在 Linux/Unix 之上绑定 ntpd 到特定的 IP 地址
|
||||
======
|
||||
|
||||
默认的情况下,我们的 ntpd/NTP 服务器会监听所有的端口或者 IP 地址,也就是:`0.0.0.0:123`。 怎么才可以在一个 Linux 或是 FreeBSD Unix 服务器上,确保只监听特定的 IP 地址,比如 `localhost` 或者是 `192.168.1.1:123` ?
|
||||
|
||||
NTP 是<ruby>网络时间协议<rt>Network Time Protocol</rt></ruby>的首字母简写,这是一个用来同步两台电脑之间时间的协议。ntpd 是一个操作系统守护进程,可以设置并且保证系统的时间与互联网标准时间服务器同步。
|
||||
|
||||
[![如何在 Linux 和 Unix 服务器,防止 NTPD 监听 0.0.0.0:123 并将其绑定到特定的 IP 地址][1]][1]
|
||||
|
||||
NTP 使用 `/etc/directory` 之下的 `ntp.conf` 作为配置文件。
|
||||
|
||||
### /etc/ntp.conf 之中的端口指令
|
||||
|
||||
你可以通过设置端口命令来防止 ntpd 监听 `0.0.0.0:123`,语法如下:
|
||||
|
||||
```
|
||||
interface listen IPv4|IPv6|all
|
||||
interface ignore IPv4|IPv6|all
|
||||
interface drop IPv4|IPv6|all
|
||||
```
|
||||
|
||||
上面的配置可以使 `ntpd` 监听那个地址或者不出来任何请求而直接丢弃。`ignore` 会防止打开匹配的地址,`drop` 会导致 ntpd 打开该地址并丢弃所有接收到的包,而不做任何检查。举个例子,如果要忽略所有端口之上的监听,加入下面的语句到 `/etc/ntp.conf`:
|
||||
|
||||
```
|
||||
interface ignore wildcard
|
||||
```
|
||||
|
||||
如果只监听 127.0.0.1 和 192.168.1.1 则是这样:
|
||||
|
||||
```
|
||||
interface listen 127.0.0.1
|
||||
interface listen 192.168.1.1
|
||||
```
|
||||
|
||||
这是我 FreeBSD 云服务器上的样例 `/etc/ntp.conf` 文件:
|
||||
|
||||
```
|
||||
$ egrep -v '^#|$^' /etc/ntp.conf
|
||||
```
|
||||
|
||||
样例输出为:
|
||||
|
||||
```
|
||||
tos minclock 3 maxclock 6
|
||||
pool 0.freebsd.pool.ntp.org iburst
|
||||
restrict default limited kod nomodify notrap noquery nopeer
|
||||
restrict -6 default limited kod nomodify notrap noquery nopeer
|
||||
restrict source limited kod nomodify notrap noquery
|
||||
restrict 127.0.0.1
|
||||
restrict -6 ::1
|
||||
leapfile "/var/db/ntpd.leap-seconds.list"
|
||||
interface ignore wildcard
|
||||
interface listen 172.16.3.1
|
||||
interface listen 10.105.28.1
|
||||
```
|
||||
|
||||
### 重启 ntpd
|
||||
|
||||
在 FreeBSD Unix 之上重新加载/重启 ntpd:
|
||||
|
||||
```
|
||||
$ sudo /etc/rc.d/ntpd restart
|
||||
```
|
||||
|
||||
或者 [在 Debian 和 Ubuntu Linux 之上使用下面的命令][2]:
|
||||
|
||||
```
|
||||
$ sudo systemctl restart ntp
|
||||
```
|
||||
|
||||
或者 [在 CentOS/RHEL 7/Fedora Linux 之上使用下面的命令][2]:
|
||||
|
||||
```
|
||||
$ sudo systemctl restart ntpd
|
||||
```
|
||||
|
||||
### 校验
|
||||
|
||||
使用 `netstat` 和 `ss` 命令来检查 ntpd 只绑定到了特定的 IP 地址:
|
||||
|
||||
```
|
||||
$ netstat -tulpn | grep :123
|
||||
```
|
||||
|
||||
或是:
|
||||
|
||||
```
|
||||
$ ss -tulpn | grep :123
|
||||
```
|
||||
|
||||
样例输出:
|
||||
|
||||
```
|
||||
udp 0 0 10.105.28.1:123 0.0.0.0:* -
|
||||
udp 0 0 172.16.3.1:123 0.0.0.0:* -
|
||||
```
|
||||
|
||||
[在 FreeBSD Unix 服务器上使用 sockstat 命令][3]:
|
||||
|
||||
```
|
||||
$ sudo sockstat
|
||||
$ sudo sockstat -4
|
||||
$ sudo sockstat -4 | grep :123
|
||||
```
|
||||
|
||||
样例输出:
|
||||
|
||||
```
|
||||
root ntpd 59914 22 udp4 127.0.0.1:123 *:*
|
||||
root ntpd 59914 24 udp4 127.0.1.1:123 *:*
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
作者是 nixCraft 的创始人并且是一位经验丰富的系统管理员、DevOps 工程师,也是一名 Linux 操作系统和 Unix shell 脚本的训练师。他为全球不同行业,包括 IT、教育业、安全防护、空间研究和非营利性组织的客户工作。关注他的 [Twitter][4], [Facebook][5], [Google+][6]。
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.cyberciti.biz/faq/how-to-bind-ntpd-to-specific-ip-addresses-on-linuxunix/
|
||||
|
||||
作者:[Vivek Gite][a]
|
||||
译者:[Drshu](https://github.com/Drshu)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://www.cyberciti.biz
|
||||
[1]:https://www.cyberciti.biz/media/new/faq/2017/10/how-to-prevent-ntpd-to-listen-on-all-interfaces-on-linux-unix-box.jpg
|
||||
[2]:https://www.cyberciti.biz/faq/restarting-ntp-service-on-linux/
|
||||
[3]:https://www.cyberciti.biz/faq/freebsd-unix-find-the-process-pid-listening-on-a-certain-port-commands/
|
||||
[4]:https://twitter.com/nixcraft
|
||||
[5]:https://facebook.com/nixcraft
|
||||
[6]:https://plus.google.com/+CybercitiBiz
|
@ -7,7 +7,7 @@
|
||||
|
||||
### 要求
|
||||
|
||||
* 了解标准的 Unix / Linux 权限系统
|
||||
* 了解标准的 Unix / Linux 权限系统
|
||||
|
||||
### 难度
|
||||
|
||||
@ -15,55 +15,49 @@
|
||||
|
||||
### 约定
|
||||
|
||||
* **#** \- 要求直接以 root 用户或使用 `sudo` 命令执行指定的命令
|
||||
* **$** \- 用普通的非特权用户来执行指定的命令
|
||||
* `#` - 要求直接以 root 用户或使用 `sudo` 命令执行指定的命令
|
||||
* `$` - 用普通的非特权用户来执行指定的命令
|
||||
|
||||
### 介绍
|
||||
|
||||
通常,在类 Unix 操作系统上,文件和目录的所有权是基于文件创建者的默认 `uid`(user-id)和 `gid`(group-id)的。启动一个进程时也是同样的情况:它以启动它的用户的 uid 和 gid 运行,并具有相应的权限。这种行为可以通过使用特殊的权限进行改变。
|
||||
通常,在类 Unix 操作系统上,文件和目录的所有权是基于文件创建者的默认 `uid`(user-id)和 `gid`(group-id)的。启动一个进程时也是同样的情况:它以启动它的用户的 `uid` 和 `gid` 运行,并具有相应的权限。这种行为可以通过使用特殊的权限进行改变。
|
||||
|
||||
### setuid 位
|
||||
|
||||
当使用 setuid 位时,之前描述的行为会有所变化,所以当一个可执行文件启动时,它不会以启动它的用户的权限运行,而是以该文件所有者的权限运行。所以,如果在一个可执行文件上设置了 setuid 位,并且该文件由 root 拥有,当一个普通用户启动它时,它将以 root 权限运行。显然,如果 setuid 位使用不当的话,会带来潜在的安全风险。
|
||||
当使用 setuid (设置用户 ID)位时,之前描述的行为会有所变化,所以当一个可执行文件启动时,它不会以启动它的用户的权限运行,而是**以该文件所有者的权限运行**。所以,如果在一个可执行文件上设置了 setuid 位,并且该文件由 root 拥有,当一个普通用户启动它时,它将以 root 权限运行。显然,如果 setuid 位使用不当的话,会带来潜在的安全风险。
|
||||
|
||||
使用 setuid 权限的可执行文件的例子是 `passwd`,我们可以使用该程序更改登录密码。我们可以通过使用 `ls` 命令来验证:
|
||||
|
||||
```
|
||||
|
||||
ls -l /bin/passwd
|
||||
-rwsr-xr-x. 1 root root 27768 Feb 11 2017 /bin/passwd
|
||||
|
||||
```
|
||||
|
||||
如何识别 `setuid` 位呢?相信您在上面命令的输出已经注意到,`setuid` 位是用 `s` 来表示的,代替了可执行位的 `x`。小写的 `s` 意味着可执行位已经被设置,否则你会看到一个大写的 `S`。大写的 `S` 发生于当设置了 `setuid` 或 `setgid` 位、但没有设置可执行位 `x` 时。它用于提醒用户这个矛盾的设置:如果可执行位未设置,则 `setuid` 和 `setgid` 位均不起作用。setuid 位对目录没有影响。
|
||||
|
||||
### setgid 位
|
||||
|
||||
与 `setuid` 位不同,`setgid` 位对文件和目录都有影响。在第一个例子中,具有 `setgid` 位设置的文件在执行时,不是以启动它的用户所属组的权限运行,而是以拥有该文件的组运行。换句话说,进程的 gid 与文件的 gid 相同。
|
||||
与 `setuid` 位不同,`setgid` (设置组 ID)位对文件和目录都有影响。在第一个例子中,具有 `setgid` 位设置的文件在执行时,不是以启动它的用户所属组的权限运行,而是**以拥有该文件的组运行**。换句话说,进程的 `gid` 与文件的 `gid` 相同。
|
||||
|
||||
当在一个目录上使用时,`setgid` 位与一般的行为不同,它使得在所述目录内创建的文件,不属于创建者所属的组,而是属于父目录所属的组。这个功能通常用于文件共享(目录所属组中的所有用户都可以修改文件)。就像 setuid 一样,setgid 位很容易识别(我们用 test 目录举例):
|
||||
|
||||
```
|
||||
|
||||
ls -ld test
|
||||
drwxrwsr-x. 2 egdoc egdoc 4096 Nov 1 17:25 test
|
||||
|
||||
```
|
||||
|
||||
这次 `s` 出现在组权限的可执行位上。
|
||||
|
||||
### sticky 位
|
||||
|
||||
Sticky 位的工作方式有所不同:它对文件没有影响,但当它在目录上使用时,所述目录中的所有文件只能由其所有者删除或移动。一个典型的例子是 `/tmp` 目录,通常系统中的所有用户都对这个目录有写权限。所以,设置 sticky 位使用户不能删除其他用户的文件:
|
||||
sticky (粘连)位的工作方式有所不同:它对文件没有影响,但当它在目录上使用时,所述目录中的所有文件只能由其所有者删除或移动。一个典型的例子是 `/tmp` 目录,通常系统中的所有用户都对这个目录有写权限。所以,设置 sticky 位使用户不能删除其他用户的文件:
|
||||
|
||||
```
|
||||
|
||||
$ ls -ld /tmp
|
||||
drwxrwxrwt. 14 root root 300 Nov 1 16:48 /tmp
|
||||
|
||||
```
|
||||
|
||||
在上面的例子中,目录所有者、组和其他用户对该目录具有完全的权限(读、写和执行)。Sticky 位在可执行位上用 `t` 来标识。同样,小写的 `t` 表示可执行权限 `x`也被设置了,否则你会看到一个大写字母 `T`。
|
||||
在上面的例子中,目录所有者、组和其他用户对该目录具有完全的权限(读、写和执行)。sticky 位在可执行位上用 `t` 来标识。同样,小写的 `t` 表示可执行权限 `x`也被设置了,否则你会看到一个大写字母 `T`。
|
||||
|
||||
### 如何设置特殊权限位
|
||||
|
||||
@ -87,7 +81,7 @@ $ chmod g+s test
|
||||
$ chmod u+s file
|
||||
```
|
||||
|
||||
要设置 Sticky 位,可运行:
|
||||
要设置 sticky 位,可运行:
|
||||
|
||||
```
|
||||
$ chmod o+t test
|
||||
@ -101,7 +95,7 @@ via: https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-an
|
||||
|
||||
作者:[Egidio Docile][a]
|
||||
译者:[jessie-pang](https://github.com/jessie-pang)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,41 +1,53 @@
|
||||
用示例讲解 Linux Gunzip 命令
|
||||
用示例讲解 Linux gunzip 命令
|
||||
======
|
||||
|
||||
我们已经讨论过[ Linux 下 **gzip** 命令的用法 ][1]。对于初学者来说,gzip 工具主要用于压缩或者扩展文件。解压时,在 gzip 命令后添加 -d 选项,使用示例如下:
|
||||
我们已经讨论过 [Linux 下 gzip 命令的用法][1]。对于初学者来说,`gzip` 工具主要用于压缩或者展开文件。解压时,在 `gzip` 命令后添加 `-d` 选项即可,使用示例如下:
|
||||
|
||||
```
|
||||
gzip -d [compressed-file-name]
|
||||
```
|
||||
|
||||
不过,在解压或扩展 gzip 创建的压缩文件时,有另一款完全不同的工具可供使用。谈及的这款工具就是 **gunzip**。在本文中,我们会使用一些简单、易于理解的例子来解释 gunzip 命令的用法。文中所有示例及指南都在 Ubuntu 16.04 环境下测试。
|
||||
不过,在解压或扩展 gzip 创建的压缩文件时,有另一款完全不同的工具可供使用。谈及的这款工具就是 `gunzip`。在本文中,我们会使用一些简单、易于理解的例子来解释 `gunzip` 命令的用法。文中所有示例及指南都在 Ubuntu 16.04 环境下测试。
|
||||
|
||||
### Linux gunzip 命令
|
||||
|
||||
我们现在知道压缩文件可以用 'gzip -d' 或 gunzip 命令解压。基本的 gunzip 语法为:
|
||||
我们现在知道压缩文件可以用 `gzip -d` 或 `gunzip` 命令解压。基本的 `gunzip` 语法为:
|
||||
|
||||
```
|
||||
gunzip [compressed-file-name]
|
||||
```
|
||||
|
||||
以下的 Q&A 例子将更清晰地展示 gunzip 工具如何工作:
|
||||
以下的 Q&A 例子将更清晰地展示 `gunzip` 工具如何工作:
|
||||
|
||||
### Q1. 如何使用 gunzip 解压压缩文件?
|
||||
|
||||
解压命令非常简单,仅仅需要将压缩文件名称作为参数传递到 gunzip 命令后。
|
||||
解压命令非常简单,仅仅需要将压缩文件名称作为参数传递到 `gunzip` 命令后。
|
||||
|
||||
```
|
||||
gunzip [archive-name]
|
||||
```
|
||||
|
||||
比如:
|
||||
|
||||
```
|
||||
gunzip file1.gz
|
||||
```
|
||||
|
||||
[![如何使用 gunzip 解压压缩文件?][2]][3]
|
||||
|
||||
### Q2. 如何让 gunzip 不删除原始压缩文件?
|
||||
|
||||
正如你已注意到的那样,gunzip 命令解压后会删除原始压缩文件。如果你想保留原始压缩文件,可以使用 **-c** 选项。
|
||||
正如你已注意到的那样,`gunzip` 命令解压后会删除原始压缩文件。如果你想保留原始压缩文件,可以使用 `-c` 选项。
|
||||
|
||||
```
|
||||
gunzip -c [archive-name] > [outputfile-name]
|
||||
```
|
||||
|
||||
比如:
|
||||
|
||||
```
|
||||
gunzip -c file1.gz > file1
|
||||
```
|
||||
|
||||
[![如何让 gunzip 不删除原始压缩文件?][4]][5]
|
||||
|
||||
@ -43,26 +55,30 @@ gunzip -c file1.gz > file1
|
||||
|
||||
### Q3. 如何用 gunzip 解压文件到其他路径?
|
||||
|
||||
在 Q&A 中我们已经讨论过 **-c** 选项的用法。 使用 gunzip 解压文件到工作目录外的其他路径,仅需要在重定向操作符后添加目标目录的绝对路径即可。
|
||||
在 Q&A 中我们已经讨论过 `-c` 选项的用法。 使用 gunzip 解压文件到工作目录外的其他路径,仅需要在重定向操作符后添加目标目录的绝对路径即可。
|
||||
|
||||
```
|
||||
gunzip -c [compressed-file] > [/complete/path/to/dest/dir/filename]
|
||||
```
|
||||
|
||||
示例如下:
|
||||
|
||||
```
|
||||
gunzip -c file1.gz > /home/himanshu/file1
|
||||
```
|
||||
|
||||
### 更多信息
|
||||
|
||||
以下从 gzip/gunzip man page 中摘录的细节,对于想了解更多的人会有所助益。
|
||||
```
|
||||
gunzip 用命令行列出文件,并且替换每个以正确的幻数开头,后缀名为.gz,-gz,.z,-z,或 _z (忽略) 的压缩文件,删除原始文件。 gunzip 也可识别一些特殊扩展名的压缩文件,如 .tgz 和 .taz 分别是 .tar.gz 和 .tar.Z 的缩写。在压缩时,gzip 在必要情况下使用 .tgz 作为扩展名,而不是只截取为 .tar 作为后缀。
|
||||
以下从 gzip/gunzip 的 man 页中摘录的细节,对于想了解更多的人会有所助益。
|
||||
|
||||
gunzip 目前可以解压 gzip,zip,compress,compress -H,pack 产生的文件。gunzip 自动检测输入文件格式。在使用前两种压缩格式时,gunzip 会检验 32 位循环冗余校验码(CRC)。对于 pack 包,gunzip 会检验压缩长度。标准压缩格式设计上不允许相容性检测。不过 gunzip 有时可以检测出坏的 .Z 文件。如果你解压 .Z 文件时出错,不要因为标准解压没报错就认为 .Z 文件一定是正确的。这通常意味着标准解压过程不检测它的输入,而是直接产生一个错误的输出。SCO compress -H 格式(lzh 压缩方法)不包括 CRC 校验码,但也允许一些相容性检查。
|
||||
> `gunzip` 在命令行接受一系列的文件,并且将每个文件内容以正确的魔法数开始,且后缀名为 `.gz`、`-gz`、`.z`、`-z` 或 `_z` (忽略大小写)的压缩文件,用未压缩的文件替换它,并删除其原扩展名。 `gunzip` 也可识别一些特殊扩展名的压缩文件,如 `.tgz` 和 `.taz` 分别是 `.tar.gz` 和 `.tar.Z` 的缩写。在压缩时,`gzip` 在必要情况下使用 `.tgz` 作为扩展名,而不是只截取掉 `.tar` 后缀。
|
||||
|
||||
> `gunzip` 目前可以解压 `gzip`、`zip`、`compress`、`compress -H`(`pack`)产生的文件。`gunzip` 自动检测输入文件格式。在使用前两种压缩格式时,`gunzip` 会检验 32 位循环冗余校验码(CRC)。对于 pack 包,`gunzip` 会检验压缩长度。标准压缩格式在设计上不允许相容性检测。不过 `gunzip` 有时可以检测出坏的 `.Z` 文件。如果你解压 `.Z` 文件时出错,不要因为标准解压没报错就认为 `.Z` 文件一定是正确的。这通常意味着标准解压过程不检测它的输入,而是直接产生一个错误的输出。SCO 的 `compress -H` 格式(lzh 压缩方法)不包括 CRC 校验码,但也允许一些相容性检查。
|
||||
```
|
||||
|
||||
### 结语
|
||||
|
||||
到目前为止提到的 gunzip 基本用法,并不需要过多的学习曲线。我们已包含了一个初学者开始使用它所必须了解的几乎全部知识。想要了解更多的用法,去看 [man page][6] 吧。
|
||||
到目前为止提到的 `gunzip` 基本用法,并不需要过多的学习曲线。我们已包含了一个初学者开始使用它所必须了解的几乎全部知识。想要了解更多的用法,去看 [man 页面][6] 吧。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
@ -71,7 +87,7 @@ via: https://www.howtoforge.com/linux-gunzip-command/
|
||||
|
||||
作者:[Himanshu Arora][a]
|
||||
译者:[erialin](https://github.com/erialin)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
|
@ -1,123 +0,0 @@
|
||||
如何在 Linux/Unix 之上绑定 ntpd 到特定的 IP 地址
|
||||
======
|
||||
|
||||
默认的情况下,我们的 ntpd/NTP 服务器会监听所有的端口或者 IP 地址,也就是:0.0.0.0:123。 怎么才可以在一个 Linux 或是 FreeBSD Unix 服务器上,确保只监听特定的 IP 地址,比如 localhost 或者是 192.168.1.1:123 ?
|
||||
|
||||
NTP 是网络时间协议的首字母简写,这是一个用来同步两台电脑之间时间的协议。ntpd 是一个操作系统守护进程,可以设置并且保证系统的时间与互联网标准时间服务器同步。
|
||||
|
||||
[![如何在Linux和Unix服务器,防止 NTPD 监听0.0.0.0:123 并将其绑定到特定的 IP 地址][1]][1]
|
||||
|
||||
NTP使用 `/etc/directory` 之下的 `ntp.conf`作为配置文件。
|
||||
|
||||
|
||||
|
||||
## /etc/ntp.conf 之中的端口指令
|
||||
|
||||
你可以通过设置端口命令来防止 ntpd 监听 0.0.0.0:123,语法如下:
|
||||
|
||||
```
|
||||
interface listen IPv4|IPv6|all
|
||||
interface ignore IPv4|IPv6|all
|
||||
interface drop IPv4|IPv6|all
|
||||
```
|
||||
|
||||
上面的配置可以使 ntpd 监听或者断开一个网络地址而不需要任何的请求。**这样将会** 举个例子,如果要忽略所有端口之上的监听,加入下面的语句到`/etc/ntp.conf`:
|
||||
|
||||
The above configures which network addresses ntpd listens or dropped without processing any requests. **The ignore prevents opening matching addresses, drop causes ntpd to open the address and drop all received packets without examination.** For example to ignore listing on all interfaces, add the following in /etc/ntp.conf:
|
||||
|
||||
`interface ignore wildcard`
|
||||
|
||||
如果只监听 127.0.0.1 和 192.168.1.1 则是这样:
|
||||
|
||||
```
|
||||
interface listen 127.0.0.1
|
||||
interface listen 192.168.1.1
|
||||
```
|
||||
|
||||
这是我 FreeBSD 云服务器上的样例 /etc/ntp.conf 文件:
|
||||
|
||||
`$ egrep -v '^#|$^' /etc/ntp.conf`
|
||||
|
||||
样例输出为:
|
||||
|
||||
```
|
||||
tos minclock 3 maxclock 6
|
||||
pool 0.freebsd.pool.ntp.org iburst
|
||||
restrict default limited kod nomodify notrap noquery nopeer
|
||||
restrict -6 default limited kod nomodify notrap noquery nopeer
|
||||
restrict source limited kod nomodify notrap noquery
|
||||
restrict 127.0.0.1
|
||||
restrict -6 ::1
|
||||
leapfile "/var/db/ntpd.leap-seconds.list"
|
||||
interface ignore wildcard
|
||||
interface listen 172.16.3.1
|
||||
interface listen 10.105.28.1
|
||||
```
|
||||
|
||||
|
||||
## 重启 ntpd
|
||||
|
||||
在 FreeBSD Unix 之上重新加载/重启 ntpd
|
||||
|
||||
`$ sudo /etc/rc.d/ntpd restart`
|
||||
或者 [在Debian和Ubuntu Linux 之上使用下面的命令][2]:
|
||||
`$ sudo systemctl restart ntp`
|
||||
或者 [在CentOS/RHEL 7/Fedora Linux 之上使用下面的命令][2]:
|
||||
`$ sudo systemctl restart ntpd`
|
||||
|
||||
## 校验
|
||||
|
||||
使用 `netstat` 和 `ss` 命令来检查 ntpd只绑定到了特定的 IP 地址:
|
||||
|
||||
`$ netstat -tulpn | grep :123`
|
||||
或是
|
||||
`$ ss -tulpn | grep :123`
|
||||
样例输出:
|
||||
|
||||
```
|
||||
udp 0 0 10.105.28.1:123 0.0.0.0:* -
|
||||
udp 0 0 172.16.3.1:123 0.0.0.0:* -
|
||||
```
|
||||
使用
|
||||
|
||||
使用 [socksata命令(FreeBSD Unix 服务群)][3]:
|
||||
|
||||
```
|
||||
$ sudo sockstat
|
||||
$ sudo sockstat -4
|
||||
$ sudo sockstat -4 | grep :123
|
||||
```
|
||||
|
||||
|
||||
样例输出:
|
||||
|
||||
```
|
||||
root ntpd 59914 22 udp4 127.0.0.1:123 *:*
|
||||
root ntpd 59914 24 udp4 127.0.1.1:123 *:*
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Vivek Gite 投稿
|
||||
|
||||
这个作者是 nixCraft 的作者并且是一位经验丰富的系统管理员,也是一名 Linux 操作系统和 Unix shell 脚本的训练师。他为全球不同行业,包括 IT、教育业、安全防护、空间研究和非营利性组织的客户工作。关注他的 [Twitter][4], [Facebook][5], [Google+][6]。
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.cyberciti.biz/faq/how-to-bind-ntpd-to-specific-ip-addresses-on-linuxunix/
|
||||
|
||||
作者:[Vivek Gite][a]
|
||||
译者:[Drshu](https://github.com/Drshu)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://www.cyberciti.biz
|
||||
[1]:https://www.cyberciti.biz/media/new/faq/2017/10/how-to-prevent-ntpd-to-listen-on-all-interfaces-on-linux-unix-box.jpg
|
||||
[2]:https://www.cyberciti.biz/faq/restarting-ntp-service-on-linux/
|
||||
[3]:https://www.cyberciti.biz/faq/freebsd-unix-find-the-process-pid-listening-on-a-certain-port-commands/
|
||||
[4]:https://twitter.com/nixcraft
|
||||
[5]:https://facebook.com/nixcraft
|
||||
[6]:https://plus.google.com/+CybercitiBiz
|
Loading…
Reference in New Issue
Block a user