0 虚拟机安装CentOS
CentOS7下载地址:https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/
0.1 系统分区
可采用以下分区
除了SWAP分区外,其他分区的文件系统一律选择ext4类型,设备类型默认选标准分区
分区方案描述
必须分区
- boot分区
- 作用:引导分区,包含了系统启动的必要内核文件,即使根分区顺坏也能正常引导启动 一般这些文件所占空间在200M以下
- 分区建议:分区的时候可选100M-500M之间,如果空间足够用,建议分300-500M。避免由于长期使用的冗余文件塞满这个分区。
- 分区格式:建议ext4,按需求更改
- /分区(根分区)
- 作用:所有的文件都从这里开始,你可以比喻为Windows的C盘,但其实有区别。如果你有大量的数据在根目录下(比如FTP等)可以划分大一点的空间
- 分区建议:建议15G以上。看需求,根分区和home分区的大小就类似C盘和D盘的空间分布一样,主要占空间在哪儿就在那里分大容量
- 分区格式:建议ext4,按需求更改
- swap分区
- 作用:类似于Windows的虚拟内存,在内存不够用时占用硬盘的虚拟内存来进行临时数据的存放,而对于linux就是swap分区
- 分区建议:建议是物理内存大小的2倍,比如你电脑是4G的物理内存,swap分区可以是8G
- 分区格式:swap格式
可选分区
- home分区
- 作用:存放用户数据,HOME的结构一般是 HOME/userName/userFile,如果不分则默认在/目录下
- 分区建议:如果用户数据多可以将此分区适当增大,请参考“根分区”分区建议;一般硬盘的主要容量几乎都在Home分区和根分区下
- 分区格式:建议ext4,按需求更改
- var分区
- 作用:用于log日志的文件的存放,如果不分则默认在/目录下
- 分区建议:如果你安装的linux是用于服务器或者经常做日志分析,请划分var分区,避免日志文件不断膨胀塞满导致根分区而引发问题。
- 分区格式:建议ext4,按需求更改
0.2 网络设置
确认连好网络
动态获取IP
首先输入指令ip addr
查看是否有ip
然后修改网卡设置vi /etc/sysconfig/network-scripts/ifcfg-ens32
(最后一个为网卡名称)
动态获取IP地址需要修改两处地方即可
(1)bootproto=dhcp
(2)onboot=yes
修改后重启一下网络服务即可 systemctl restart network
设置静态IP
修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens32
修改如下
(1)bootproto=static
(2)onboot=yes
(3)在最后加上几行,IP地址、子网掩码、网关、dns服务器
IPADDR=192.168.1.160
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=119.29.29.29
DNS2=8.8.8.8
修改后重启一下网络服务即可 systemctl restart network
yum换源
进入yum源配置文件cd /etc/yum.repos.d
备份一下当前的源,以防出错后可以还原回来mv ./CentOS-Base.repo ./CentOS-Base-repo.bak
下载网易163的源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
清理一下旧包 yum clean all
生成缓存即可用163源了 yum makecache
安装ifconfig
首先看看是否因为环境变量没设置导致没有ls /sbin/ifconfig
如果显示没有此文件即没有安装
输入指令安装yum search ifconfig
查到ifconfig所在的包
安装yum install net-tools.x86_64
测试ifconfig
指令
0.3 SHH服务
-
安装openssh-server
首先,确保CentOS7安装了openssh-server
,在终端中输入yum list installed | grep openssh-server
如果没有任何输入说明没有安装,输入yum install openssh-server
安装 -
配置sshd_config
用vi打开sshd_configvi /etc/ssh/sshd-config
将文件中,关于监听端口、监听地址前的 # 号去除,然后开启允许远程登录,开启使用用户名密码来作为连接验证,保存文件,退出
Port 22
ListenAddress 0.0.0.0
ListenAddress ::
PermitRootLogin yes
Passworduthentication yes
- 开启sshd服务
输入sudo service sshd start
开启服务
检查sshd服务是否已经开启,输入ps -e | grep sshd
或者输入netstat -an | grep 22
检查 22 号端口是否开启监听
0.4 FTP服务
-
安装vsftp
yum -y install vsftpd
-
修改配置文件
vi /etc/vsftpd/vsftpd.conf
保证下面3项为YES
anonymous_enable=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
-
设置vsftpd开机启动
service vsftpd start && systemctl restart vsftpd.service
查看开启状态netstat -nltp | grep 21
-
启动并查看vsftpd服务状态,systemctl启动服务成功不会有任何提示,绿色的active表示服务正在运行
systemctl start vsftpd.service
systemctl status vsftpd.service
-
本地验证ftp是否可以正常访问
安装ftpyum -y install ftp
使用anonymous登陆,无需密码ftp localhost
(220表示服务正常,可以登陆;230表示登陆成功) -
关闭防火墙
停止firewallsystemctl stop firewalld.service
禁止firewall开机启动systemctl disable firewalld.service
-
修改/etc/selinux/config 文件
将SELINUX=enforcing
改为SELINUX=disabled
重启服务
service vsftpd restart && systemctl restart vsftpd.service
创建新用户
useradd star-air
echo "star-airmima" | passwd star-air --stdin
限制该用户仅能通过 FTP 访问,而不能直接登录服务器
usermod -s /sbin/nologin 用户名
为用户分配主目录 为用户 创建主目录 并约定:/data/ftp 为主目录, 该目录不可上传文件
mkdir -p /data/ftp/Nodejs
写欢迎文件 /data/ftp/welcome.txt
echo "Welcome to use FTP service." > /data/ftp/welcome.txt
设置访问权限 chmod a-w
chmod a-w /data/ftp && chmod 777 -R /data/ftp/Nodejs
设置为用户主目录
usermod -d /data/ftp star-air
重启服务器
sudo systemctl restart vsftpd.service
打开资源管理器输入ftp://star-air:star-airmima@IP地址
即可访问
如果不可访问
进入/etc/pam.d
将vsftpd
文件中的pam_shells.so
改为pam_nologin.so
,然后systemctl restart vsftpd重启服务,即可连接ftp成功