/etc/sysconfig/network-scripts/ifcfg-enoxxxxxxxx
临时设置别名:
alias vinet='vi /etc/sysconfig/network-scripts/ifcfg-eno16777728'
查看别名:
alias
取消临时别名:
alias vinet
永久设置别名:vi /root/.bashrc
alias vinet='vi /etc/sysconfig/network-scripts/ifcfg-eno16777728'
加载使立即生效:
source /root/.bashrc
,下面我们就来说一说关于linux的实战系列?我们一起去了解并探讨一下这个问题吧!
linux的实战系列
企业实战静态ip地址配置- 网卡的路径:
/etc/sysconfig/network-scripts/ifcfg-enoxxxxxxxx
- alias命令实现别名:
临时设置别名:
alias vinet='vi /etc/sysconfig/network-scripts/ifcfg-eno16777728'
查看别名:
alias
取消临时别名:
alias vinet
永久设置别名:vi /root/.bashrc
alias vinet='vi /etc/sysconfig/network-scripts/ifcfg-eno16777728'
加载使立即生效:
source /root/.bashrc
- 修改ip地址为静态
BOOTPROTO="static"
IPADDR=xxx.xxx.xxx.xxx
GATEWAY=xxx.xxx.xxx.xxx
NETMASK=255.255.255.0
ONBOOT="yes"
修改以上信息,以下是我网卡信息
HWADDR="00:0c:29:dc:47:58"
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPADDR=192.168.1.128
GATEWAY=192.168.1.2
NETMASK=255.255.255.0
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777728"
UUID="3199add9-379c-43a9-bab1-ae4e05c0f2cc"
ONBOOT="yes"
- 重启网卡
systemctl restart network.service
- PING不通域名:
[root@localhost ~]# ping www.baidu.com
ping: unknown host www.baidu.com
解决:vi /etc/resolv.conf 加上以下域名服务器解析地址
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 1.1.1.1
- 查看主机名命令:
hostname
- 修改主机名的命令:
hostnamectl set-hostname cyz1
- 修改后记得重启使得生效:
reboot
- 修改/etc/hosts文件:vi /etc/hosts
192.168.1.128 cyz1
- 测试能否ping通
[root@cyz2 ~]# ping cyz1
PING cyz1 (192.168.1.128) 56(84) bytes of data.
64 bytes from cyz1 (192.168.1.128): icmp_seq=1 ttl=64 time=0.332 ms
64 bytes from cyz1 (192.168.1.128): icmp_seq=2 ttl=64 time=0.274 ms
64 bytes from cyz1 (192.168.1.128): icmp_seq=3 ttl=64 time=0.272 ms
- 执行命令创建密钥:ssh-keygen -t RSA
[root@cyz1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter File in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
51:98:6e:75:8a:c4:50:1e:84:5f:ce:24:7b:53:e5:92 root@cyz1
The key's randomart image is:
--[ RSA 2048]----
| .* o. .. |
| ..*o oo |
| oX E . |
| *.* . |
| .S. . |
| |
| |
| |
| |
-----------------
[root@cyz1 ~]#
- 从cyz1拷贝文件到cyz2并重命名为authorized_keys
scp /root/.ssh/id_rsa.pub root@cyz2:/root/.ssh/authorized_keys
- 测试能不能免密登录cyz2
[root@cyz1 xiaoming]# ssh cyz2
Last login: Sun Sep 25 23:55:08 2022 from 192.168.1.1
- NFS介绍:
NFS(Network File System)即网络文件系统,它允许网络中服务器之间通过TCP/IP网络共享资源,NFS的一个最大优点就是可以节省本地存储空间
- NFS体系至少有两个主要部分:
一台NFS服务器和若干台客户机
- 环境准备:
A:192.168.1.128 作服务端
B:192.168.1.129 作客户端
- 在A服务端机器 安装nfs-utils和rpcbind包:
yum install -y nfs-utils rpcbind
nfs-utils包提供了NFS服务器程序和相应的管理工具
rpc则是能够获得nfs服务器端的端口号等信息
- 检查是否启动了rpcbind服务并监听着 111端口:
netstat -tunlp | grep 111
- 配置NFS服务的配置文件,参数配置: vi /etc/exports
/data/NFSdata 192.168.1.129/24(rw,sync)
/data/NFSdata #表示你要共享的目录
192.168.1.129/24 #表示所允许访问的客户端IP
(rw,sync) #rw:表示读写权限,sync:表示数据同步写入内存硬盘
- 启动nfs服务
systemctl start nfs
- 设置开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
- 在B客户端机器 安装nfs-utils和rpcbind包:
yum install -y nfs-utils rpcbind
- 设置开机启动:
systemctl enable rpcbind.service
- 挂载:
mount -t nfs 192.168.1.128:/data/NFSdata /NFS
showmount -e 192.168.1.128
- FTP文件服务器概述:
是一种文件传输服务器,默认使用TCP协议的20、21端口与客户端进行通信,20端口用于建立数据连接,并传输文件数据;21端口用于建立控制连接,并传输FTP控制命令;
- FTP数据连接分为主动模式和被动模式:
主动模式:服务器向客户端主动发起数据连接(PORT 模式)
被动模式:客户端向服务器主动发起数据连接(PASV 模式)
- FTP服务器软件的种类
凡是可通过文件传输协议(File Transport Protocol)下载文件服务器上的文件,以实现资源共享的,我们称之为ftp服务器
FTP服务器软件包括FileZilla Sener、Serv-U、IIS等。而在Linux系统中,vsftpd是目前在Linux/UNIX领域应用比较广泛的一款FTP服务软件,特点是速度快,安全易用,并发量高,可以支持15000个用户并发连接
- FTP用户类型:
匿名用户:就是不需要用户名,密码。就能登录到服务器电脑里面
本地用户:需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你 linux 系统里面,已经有的用户。
虚拟用户:同样需要用户名和密码才能登录。但是和上面的区别就是,在linux 系统中是没有该用户帐号
- 搭建匿名访问 vsftpd 服务:
检查是否已经安装vsftpd软件包:
rpm -qa vsftpd
yum 安装 vsftpd:
yum -y install vsftpd
查找 vsftpd 的文件位置:
whereis vsftpd
启动 ftp 服务:
systemctl start vsftpd
查看监听的端口号:
netstat -tunlp | grep vsftpd
查看防火墙的状态:
firewall-cmd --state
创建测试文件:
mkdir -p /var/ftp/pub/ && echo "this is ftptest" >test.txt
使用 windows 客户端访问:
ftp://192.168.1.128/
安装 FTP 客户端工具:
yum -y install ftp
连接vsftpd:
ftp 192.168.1.128
下载文件:
get test.txt
上传文件:
put test.txt
退出:
quit 或者 exit
- 配置本地用户访问 vsftpd 服务:
关闭之前的匿名访问:
vi /etc/vsftpd/vsftpd.conf #编辑配置文件
anonymous_enable=NO
systemctl restart vsftpd #重新启动服务
mkdir -p /var/ftp/html #创建目录
useradd -g root -M -d /var/ftp/html -s /sbin/nologin ftptest #添加系统用户
chown -R ftptest:root /var/ftp/html #配置权限
passwd ftptest #设置密码
cd /var/ftp/html && echo "this is ftptest" >ftptest.txt #添加测试文件
使用 windows 客户端访问:
ftp://192.168.1.128/
配置文件/etc/vsftp/vsftpd.conf 的一些常用权限解释:
anonymous_enable=YES 允许匿名用户访问
write_enable=YES 允许登录用户有写权限。属于全局设置
anon_root=var/ftp 指定匿名用户登录的目录
anon_upload_enable=YES 允许匿名用户有上传文件的权限
anon_mkdir_write_enable=YES 允许匿名用户有新增目录的权限
chown_username=username 设置匿名用户上传文件的属主名
- 配置虚拟用户的 vsftpd 服务
虚拟用户访问 vsftpd 服务是得经过用户认证的,虚拟用户的用户认证是通过 pam 方式去认证的,pam 文件里面指定了认证的db 文件,db 文件又是通过明文用户名和密码文件生成而来
第一步:修改配置文件指定用户认证是pam方式认证
第二步:修改pam配置文件指定db文件的路径
第三步:生成db文件
(1)第一步指定 pam 文件(系统默认已经指定了):
vi /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd
(2)第二步编辑pam 文件指定认证的db 文件:/etc/pam.d/vsftpd,把文件内容全部注释掉,在最上面加上以下俩行配置:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
[root@cyz1 html]# vi /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny
file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
(3)第三步生成 db 文件,由于 db 文件是通过明文用户名和密码文件生成而来,所以先创建一个保存明文用户名和密码的文件 vuser_passwd.txt
vi /etc/vsftpd/vuser_passwd.txt #该文件奇行为用户名,偶行为密码
通过以下命令生成 db 文件:
cd /etc/vsftpd/ && db_load -T -t hash -f vuser_passwd.txt vuser_passwd.db
(4)接下来就是根据需要和以上各文件信息来修改配置文件 /etc/vsftpd/vsftpd.conf 了,启用或更改以下配置的值:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁用匿名登录
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES #启用限定用户在其主目录下
手动添加:
guest_enable=YES #设定启用虚拟用户功能
guest_username=ftptest #指定虚拟用户的宿主用户,CentOS 中已经有内置的ftp 用户了
user_config_dir=/etc/vsftpd/vuser_conf #虚拟用户配置文件存放的路径
allow_writeable_chroot=YES #如果启用了限定用户在其主目录下需要添加这个配置
(6)对虚拟用户权限与路径进行配置
mkdir /etc/vsftpd/vuser_conf #创建一个目录存放文件
vi /etc/vsftpd/vuser_conf/xiaoming #创建一个以虚拟用户名的文件(文件名一定要与登录名一样)
[root@cyz1 vsftpd]# vi vuser_conf/xiaoming
local_root=/var/ftp/xiaoming
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=yes
- 配置系统用户的 FTP与配置虚拟用户的 FTP 共存
修改配置文件/etc/pam.d/vsftpd,把原来的auth required改为auth sufficient
[root@cyz1 html]# vi /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
# %PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers
onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
个人博客:cyz
,