增加一个新的用户账号`zhangsan`,设置初始密码,锁定用户账号`wangwu`,并完全删除用户账号`lisi`的命令如下:
```bash
# 增加新用户账号zhangsan
sudo useradd zhangsan
# 为新用户zhangsan设置初始密码
echo "zhangsan:password" | sudo chpasswd
# 锁定用户账号wangwu
sudo usermod -L wangwu
# 完全删除用户账号lisi
sudo userdel -r lisi
```
要将/home/zheng目录下的所有文件打包压缩成/tmp/zheng.tar.gz,可以使用以下命令:
```bash
# 打包压缩/home/zheng目录到/tmp/zheng.tar.gz
sudo tar -czvf /tmp/zheng.tar.gz /home/zheng
```
当需要从压缩包中恢复时,可以使用以下命令:
```bash
# 解压/tmp/zheng.tar.gz到当前目录
sudo tar -xzvf /tmp/zheng.tar.gz
```
静态IP和动态IP是两种不同的IP地址分配方式。
静态IP:静态IP是指由网络管理员手动分配给设备的固定IP地址。一旦分配,该IP地址不会改变,除非管理员进行更改。静态IP适用于需要稳定、可靠连接的场景,例如服务器、路由器等设备。
动态IP:动态IP是指由DHCP(Dynamic Host Configuration Protocol)服务器自动分配给设备的IP地址。当设备连接到网络时,DHCP服务器会为其分配一个可用的IP地址,并在设备断开连接时回收该地址。动态IP适用于临时连接的设备,如笔记本电脑、智能手机等。
实际应用场景:
1. 静态IP:公司内部网络中的服务器通常使用静态IP地址,以确保它们始终可以通过相同的IP地址访问。此外,静态IP也适用于家庭网络中的某些设备,如家庭媒体中心或游戏机,这些设备可能需要固定的IP地址以便远程访问。
2. 动态IP:在公共Wi-Fi热点、酒店房间、学校图书馆等场景中,通常会为每个连接到网络的设备分配动态IP地址。这样可以确保每个设备都有一个独立的IP地址,并且可以在不同的时间点重新连接到网络时获得新的IP地址。
三次握手过程
客户端发送 SYN 报文:客户端发送一个带有同步标志(SYN)的数据段,表示想要与服务端建立连接。这个数据段中包含了客户端的初始序列号(ISN),假设为 x。
服务端发送 SYN+ACK 报文:服务端在收到客户端的 SYN 报文后,会发送一个带有同步标志(SYN)和确认标志(ACK)的数据段作为回应。这个数据段中包含了服务端的初始序列号(ISN),假设为 y,以及对客户端 SYN 报文的确认,即 ack=x+1。
客户端发送 ACK 报文:客户端在收到服务端的 SYN+ACK 报文后,会发送一个带有确认标志(ACK)的数据段作为回应。这个数据段中包含了对服务端 SYN+ACK 报文的确认,即 ack=y+1,以及客户端自己的序列号 x+1。
四次挥手过程
客户端发送 FIN 报文:数据传输完毕后,客户端想要释放连接,于是向服务端发送一个带有 FIN 标志的数据段,请求释放连接。
服务端发送 ACK 报文:服务端收到客户端的 FIN 报文后,会发送一个带有确认标志(ACK)的数据段作为回应,表示已经收到客户端的释放请求。
服务端发送 FIN 报文:服务端在发送完确认报文后,经过一段时间的关闭等待,会发送一个带有 FIN 标志的数据段,表示服务端也准备释放连接。
客户端发送 ACK 报文:客户端在收到服务端的 FIN 报文后,会发送一个带有确认标志(ACK)的数据段作为回应,表示确认收到服务端的释放请求。这个数据段中包含了对服务端 FIN 报文的确认,即 ack=w+1,以及客户端自己的序列号 u+1。