[内容] /etc/resolv.conf 配置文件的 search 选项

内容一:测试 search 选项的配置

# cat /etc/resolv.conf
search eternalcenter.com local new
nameserver 8.8.8.8

内容二:测试 search 选项

2.1 查询 zhumingyu

# host -a zhumingyu
Trying "zhumingyu.eternalcenter.com"
Trying "zhumingyu.local"
Trying "zhumingyu.new"
Trying "zhumingyu"
Host zhumingyu not found: 3(NXDOMAIN)
Received 102 bytes from 8.8.8.8#53 in 62 ms

(补充:当查询 zhumingyu 时,也就是中间没有点 “.”,则默认会被视为查询主机名,会先依次把 eternalcenter.com、local 和 new 作为后缀添加到 zhumingyu 后进行查询,最后才查询 zhumingyu)

2.2 zhumingyu.com

# host -a zhumingyu.com
Trying "zhumingyu.com"
Received 31 bytes from 1.1.1.1#53 in 217 ms
Trying "zhumingyu.com.eternalcenter.com"
Trying "zhumingyu.com.local"
Trying "zhumingyu.com.new"
Host zhumingyu.com.new not found: 4(NOTIMP)
Received 35 bytes from 1.1.1.1#53 in 218 ms

(补充:当查询 zhumingyu.com 时,也就是中间有 1 个点 “.”,则默认会被视为查询域名,会先查询 mingyuzhu.com,如果查询失败,则会先依次把 eternalcenter.com、local 和 new 作为后缀添加到 zhumingyu 后进行查询)

2.3 查询 zhumingyu.com.

# host -a zhumingyu.com.
Trying "zhumingyu.com"
Host zhumingyu.com not found: 4(NOTIMP)
Received 31 bytes from 1.1.1.1#53 in 204 ms
Received 31 bytes from 1.1.1.1#53 in 204 ms

(补充:当查询 zhumingyu.com. 时,也就是末尾有 1 个点 “.”,默认会被视为查询域名,且只会查询这个域名。不会查询 search 里的每 1 项)

[命令] SFTP 常用命令

内容一:SFTP 显示相关

1.1 显示目录或文件

1.1.1 显示远程的目录或文件
sftp> ls
1.1.2 显示本地的目录或文件
sftp> lls

1.2 显示目录路径

1.2.1 显示远程目录路径
sftp> pwd
1.2.2 显示本地目录路径
sftp> lpwd

1.3 显示协议版本

sftp> version

1.4 显示帮助信息

sftp> help

内容二:SFTP 目录相关

2.1 创建目录

2.1.1 创建远程目录
sftp> mkdir <directory>
2.1.2 创建本地目录
sftp> lmkdir <directory>

2.2 删除目录

2.2.1 删除远程目录
sftp> rmdir <directory>
2.2.2 删除本地目录
sftp> lmkdir <directory>

2.3 修改目录下

2.3.1 修改目录的所属主
sftp> chown <user> <directory>
2.3.2 修改目录的所属组
sftp> chgrp <group> <directory>
2.3.3 修改目录权限
sftp> chmod <privilege> <directory>

2.4 进入目录

2.4.1 进入远程目录
sftp> cd <directory>
2.4.2 进入本地目录
sftp> lcd <directory>

内容三:SFTP 文件相关

3.1 删除文件

3.1.1 删除远程文件
sftp> rm <file>
3.1.2 删除本地文件
sftp> lrm <file>

3.2 移动文件

移动远程文件

sftp> mv <file>

内容四:上传和下载

4.1 从远程下载文件到本地
sftp> get <file>
4.2 从本地上传文件到远程
sftp> put <file>

内容五:SFTP 管理相关

退出 SFTP

sftp> exit

或者:

sftp> quit

[命令] Linux 命令 dig (从 DNS 服务器获取主机信息)

内容一:dig 命令简介

dig 即 domain information groper,主要功能是从 DNS 服务器获取主机信息

内容二:dig 命令的使用案例

2.1 案例一:显示互联网上所有 DNS 根服务器的信息

# dig

2.2 案例二:直接通过域名获取主机信息

# dig eternalcenter.com

(补充:这里以通过 eternalcenter.com 域名获取主机信息为例)

2.3 案例三:直接通过域名获取主机信息,但只显示最基础的内容

# dig eternalcenter.com +short

(补充:这里以通过 eternalcenter.com 域名获取主机信息为例)

2.4 案例四:直接通过域名获取主机信息,并指定显示的内容

# dig eternalcenter.com +noall +answer

(补充:这里以通过 eternalcenter.com 域名获取主机信息,并显示 noall 和 answer 部分的内容为例)

2.5 案例五:从指定的 DNS 服务器和端口号通过域名获取主机信息

# dig @8.8.8.8 -p 53 eternalcenter.com

(补充:这里以通过 eternalcenter.com 域名从 IP 地址是 8.8.8.8 端口是 53 的 DNS 服务器获取主机信息为例)

2.6 案例六:通过 IP 地址获取主机信息

# dig -x 8.8.8.8

(补充:这里以通过 IP 地址 8.8.8.8 获取主机信息为例)

2.7 案例七:通过 IP 地址获得主机信息,但只显示最基础的内容

# dig -x 8.8.8.8  +short

(补充:这里以通过 IP 地址 8.8.8.8 获取主机信息为例)

2.8 案例八:直接通过域名获取主机信息,同时显示获取的过程

# dig eternalcenter.com +trace

(补充:这里以通过 eternalcenter.com 域名获取主机信息为例)

[排错] 解决 SFTP 登录时报错 “client_loop: send disconnect: Broken pipe ……”

报错代码

client_loop: send disconnect: Broken pipe
Connection closed.  
Connection closed

分析

SFTP 目录的所属主必须是 root,权限最高只能是 755,否则就算此目录的所属主是此 SFTP 用户也会报错

解决方法

步骤一:将 SFTP 目录的所属主设置为 root

# chown root: <sftp directory>

步骤二:将 SFTP 目录的权限设置为 755

# chmod 755 <sftp directory>

[内容] SFTP 的配置案例

案例一:将 SFTP 用户的家目录作为 SFTP 用户的 SFTP 目录,让 SFTP 用户通过 SFTP 登录时被限制在自己的家目录里,并使用 2200 端口

# vim /etc/ssh/sshd_config

将以下内容:

......
Subsystem       sftp ......
......

修改为:

......
# Subsystem       sftp ......
......

并添加以下内容:

......
Subsystem       sftp    internal-sftp
Match LocalPort 2200
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory %h
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

(补充:这里以将 /etc/ssh/sshd_config 最为 SFTP 的配置文件为例)

(注意:SFTP 目录的所属主必须是 root,权限最高只能是 755,否则就算此目录的所属主是此 SFTP 用户也会报错)

案例二:将根目录下以和 SFTP 用户名同名的目录作为此 SFTP 用户的 SFTP 目录,让此 SFTP 用户通过 SFTP 登录时被限制在根目录下以和自己用户名同名的目录里,但是此设置只适用于组是 sftpuser 的用户

# vim /etc/ssh/sshd_config

将以下内容:

......
Subsystem       sftp ......
......

修改为:

......
# Subsystem       sftp ......
......

并添加以下内容:

......
Subsystem       sftp    internal-sftp
Match Group sftpuser
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /%u
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

(补充:这里以将 /etc/ssh/sshd_config 最为 SFTP 的配置文件为例)

(注意:SFTP 目录的所属主必须是 root,权限最高只能是 755,否则就算此目录的所属主是此 SFTP 用户也会报错)

案例三:将根目录下以和 SFTP 用户名同名的目录作为此 SFTP 用户的 SFTP 目录,让此 SFTP 用户通过 SFTP 登录时被限制在根目录下以和自己用户名同名的目录里,但是此设置只适用于用户 sftpuser

# vim /etc/ssh/sshd_config

将以下内容:

......
Subsystem       sftp ......
......

修改为:

......
# Subsystem       sftp ......
......

并添加以下内容:

......
Subsystem       sftp    internal-sftp
Match User sftpuser
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /%u
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

(补充:这里以将 /etc/ssh/sshd_config 最为 SFTP 的配置文件为例)

(注意:SFTP 目录的所属主必须是 root,权限最高只能是 755,否则就算此目录的所属主是此 SFTP 用户也会报错)