首页 > 技术文章 > [Linux系统学习] 服务器系统部署-CentOS

star-air 2021-09-15 09:00 原文

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_config vi /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.dvsftpd文件中的pam_shells.so改为pam_nologin.so,然后systemctl restart vsftpd重启服务,即可连接ftp成功

推荐阅读