网络配置文件夹 /etc/sysconfig/network-scripts/ifcfg-eth0

Linux常见命令

  1. passwd 用于更改账号密码

  2. pwd 查看当前目录位置

  3. cd 用来切换目录

    cd 回到家目录

    cd / 回到根目录

    cd .. 返回父目录

  4. ls 列出文件或目录信息

    参数:

    -a查看当前目录下的所有目录和文件(包括隐藏的文件)

    -l列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样

  5. cat 文件名 用于查看文件内容

  6. mkdir 文件夹名 / 目录1/目录2/文件夹名 //创建一个或多个目录

  7. touch 文件名 //创建普通文件

  8. cp 源文件 目的文件 //复制文件或目录

    例如:

    cp file1 file2 将文件复制成file2,如果file2存在为目录则文件复制到file2目录下

    cp -r file1 file2 复制整个目录为file2

  9. mv 源文件 目的文件 //移动或更改文件和目录的名称

    参数:-r删除包含当前目录的所有子目录 -f删除文件或目录不提示

用户账号管理

  1. 查看用户配置文件cat /etc/passwd

    root   :  x    :     0     :    0    :    root:     /root:   /bin/bash
    用户名 : 口令 : 用户标识号 : 组标识号 : 注释性描述 : 主目录 : 默认shell
    
  2. 查看用户口令文件cat /etc/shadow

    root : PTrw1TJDNijAOk1 :17833       :      0        :   99999       :    7     :             :          :
    用户名 : 加密口令   :   最后一次修改时间 : 最小时间间隔 : 最大时间间隔 : 警告时间 : 不活动时间 : 失效时间 : 保留字段
    
  3. 查看用户组配置文件 cat /ect/group

    root : x    :    0     : 
    组名 : 口令 : 组标识号 : 组内用户列表
    
  4. 添加用户useradd 参数 用户

  1. 例如:Useradd -s /bin/sh -g group -G abc,root q2
    

    注意:前提需要有这个组,没有这个组就无法将用户属于这个组

  2. 删除用户 userdel 参数 用户名

    参数:

    -r 强制删除

    -f 同时删除用户及用户目录

  3. 修改用户usermod 选项 用户名

    常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值

    usermod -s /bin/ksh -d /home/z –g developer sam
    此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer
    
  4. 设置或修改用户口令Passwd 参数 用户名

  1. 切换用户身份su – 用户名

注意:如果加-则使用新用户的环境变量,不加用户名默认使用root用户

组账号管理

  1. 创建用户组groupadd 参数 用户名

    参数:-g 用指定的GID号创建用户
    
  2. 修改用户组groupmod 参数 用户名

    参数 -n修改用户组名 例如 groupmod -n 新用户名 原用户名
    		 -g 修改用户主的GID 例如 groupmod -g 新GID 用户名
    
  3. groupdel 用户名 删除用户组

    例如:
    groupdel group1
    
  4. 用户组的用户管理gpasswd 参数 用户名 组名

    参数 -a 添加用户到组
    		 -d删除用户到组
    

文件权限

  1. 文件权限字符和数字表示

    r: 可读(4), w: 可写(2), x: 可执行(1)

  2. chmod [-R] xyz 文件或目录

选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx属性数值的相加。
-R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

实现挂载换源及关闭selinux

前提:确保虚拟机的CD/DVD已经选择了光盘ISO镜像文件,并且勾上了已连接和启动时连接。

mkdir /mnt/cdrom //创建/mnt/cdrom文件夹
mount /dev/cdrom /mnt/cdrom //将光盘挂载到/mnt/cdrom
cd /etc/yum.repos.d //进入/etc/yum.repos.d目录下
mkdir old //将旧的repo放到其他目录下
mv *.* old
vi CentOS-Media.repo //创建CentOS-Media.repo文件

输入i进入编辑模式,复制以下代码
[CentOS7]
name=CentOS
baseurl=file:///mnt/cdrom/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7.

-----关闭selinux实现对文件系统的控制-------

vi /etc/selinux/config
将 enforcing修改为disabled后重启系统实现永久生效

reboot now

通过mdadm创建raid5

前提:在虚拟机设备上添加4块硬盘

补充:

  • raid0:负载均衡模式,速度和容量翻倍,但是不具有冗余性,最少需要2块磁盘
  • raid1:镜像模式,速度和容量不变,但是具有很强的冗余性,最少需要2块磁盘
  • raid5:校验模式,速度和容量均有提升,具有较好的冗余性,最少需要3块磁盘
  • raid需要硬件或者软件的支持,在绝大部分情况下,服务器本身会配置raid卡(磁盘阵列卡)
  • 硬件raid:直接从底层进行raid,可以直接在阵列上装系统存数据
  • 软件raid:raid不能存在于系统分区上,只能在操作系统安装好后,应用在新添加的硬盘上,性能相比硬件raid会有较大的损失

注意:在创建raid后,raid内的所有硬盘将会被清空

yum install mdadm  //下载mdadm
fdisk -l //在硬盘添加完成时查看硬盘状态
mdadm -Cv /dev/md0 -l5 -n3 /dev/sd[bcd] -x1 /dev/sde
//使用mdadm创建raid5其中C表示创建,v表示显示详细信息,l5表示raid5,n3表示使用3块盘创建raid,x1表示一块热备盘
cat /proc/mdstat //查看创建进度
mdadm -D /dev/md0 //查看raid详细信息
mkfs/xfs /dev/md0 //格式化raid 为ext4文件系统
mkdir /raid //创建用于挂载raid的文件夹
vi /ect/fstab //编辑分区表
/dev/md0 /raid xfs defaults 0 0 //在末尾添加以下一行以实现自动挂载

重启后使用mount命令或df- H查看是否有/dev/md0的挂载
模拟磁盘损坏的情况:
mdadm /dev/md0 --fail /dev/sdb //设置sdb为损坏状态
mdadm /dev/md0 --remove /dev/sdb //从raid中移除sdb
mdadm -D /dev/md0 //查看raid状态,可以看到sde热备盘自动接替了被移除的sdb

磁盘分区管理

  1. df 检查文件系统的磁盘空间占用情况

    df [-ahikHTm] [目录或文件名]
    选项与参数:
    -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
    -k :以 KBytes 的容量显示各文件系统;
    -m :以 MBytes 的容量显示各文件系统;
    -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
    -H :以 M=1000K 取代 M=1024K 的进位方式;
    -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
    -i :不用硬盘容量,而以 inode 的数量来显示
    
  2. fdisk 是 Linux 的磁盘分区表操作工具。

    fdisk [-l] 装置名称
    fdisk /dev/sda //对第一快磁盘进行分区
    参数:
    m :显示菜单和帮助信息
    a :活动分区标记/引导分区
    d :删除分区
    l :显示分区类型
    n :新建分区
    p :显示分区信息
    q :退出不保存
    t :设置分区号
    v :进行分区检查
    w :保存修改
    x :扩展应用,高级功能
    

NFS服务端的配置

服务器的配置

--步骤1:安装NFS软件包---------
yum -y install rpcbind nfs-utils nano

--步骤2:创建目录和测试文件---------
mkdir -p /mnt/{share,managerdata,upload,nfs}
touch /mnt/share/{share1.txt,share2.txt}
touch /mnt/managerdata/{data1.txt,data2.txt}
touch /mnt/upload/upload.txt
touch /mnt/nfs/{nfs1.txt,nfs2.txt}

- --步骤3:设置权限----------
useradd zhang
echo "123456" | passwd --stdin zhang
chmod 777 /mnt/share
chmod 700 /mnt/managerdata
chown -R zhang:zhang /mnt/managerdata
groupadd -g 123 nfsupload
useradd -g 123 -u 123 -M nfsupload
chown -R nfsupload:nfsupload /mnt/upload

- --步骤4:编辑exports文件---------
nano /etc/exports
输入以下内容:
/mnt/share 192.168.100.0/24(rw,no_root_squash)
/mnt/managerdata 192.168.100.10(rw)
/mnt/upload 192.168.100.0/24(rw,all_squash,anonuid=123,anongid=123)
/mnt/nfs 192.168.100.0/24(ro) *(rw,all_squash)
//ro:目录只读rw:目录读写 
//all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
//no_all_squash:与all_squash取反(默认设置);
//root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
//no_root_squash:与rootsquash取反;

- --步骤5:关闭selinux,防火墙并重启服务---------
setenforce 0
systemctl stop firewalld
systemctl restart nfs

---步骤6:修改虚拟机nat模式下的DHCP网段为192.168.100.0/24网段--------
注意,修改完后虚拟机的ip地址就变成了192.168.100.0网段,需重新查看该ip并重新连接CRT

客户端的配置

--步骤1:安装NFS软件包---------
yum -y install rpcbind nfs-utils nano

--步骤2:查看服务器上的共享------
showmount -e 服务器ip

- --步骤3:在本机建立目录并挂载---------
mkdir /mnt/{ClientNFS,ClientUpload}
mount -t nfs 服务器IP:/mnt/nfs /mnt/ClientNFS
mount -t nfs 服务器IP:/mnt/upload /mnt/ClientUpload

- --步骤4:功能测试---------
ls /mnt/ClientNFS   //如有nfs1,2两个文件代表成功
touch /mnt/ClientNFS/nfs3.txt //提示只读代表成功
touch /mnt/ClientUpload/updata1.txt
ll /mnt/ClientUpload  //可以查看到updata1.txt代表成功
groupadd -g 123 nfsupload
useradd -g 123 -u 123 -M nfsupload
ll /mnt/ClientUpload  //可以看到root用户创建的文件属性依然是nfsupload

DHCP配置

服务器设置

  1. 关闭当前网络中的DHCP服务,避免产生干扰

    1. 网络设备上的DHCP(没权限关),避开
    2. 虚拟机上的DHCP服务,关闭
  2. 克隆一台linux主机作为dhcp客户端

  3. 修改网卡设置静态获取IP vi /etc/sysconfig/network-scripts/ifcfg-ens33 //修改dhcp服务端的网卡配置

    //新增以下内容
    将bootprotocol改为static
    IPADDR=192.168.100.200
    NETMASK=255.255.255.0
    GATEWAY=192.168.100.254
    
  4. systemctl restart network //重启网卡

  5. yum install dhcp -y //安装dhcp服务

  6. vi /etc/dhcp/dhcpd.conf //对配置文件进行配置

    修改为:
    option domain-name-servers 114.114.114.114;  [//设定所有作用域都使用114.114.114.114作为DNS](<https://xn--114-h69d9ft80c7kgbzo9ok5r9aca0940e9io.114.114.xn--114dns-yy7ij1f/>)
    ddns-update-style none;.
    subnet 192.168.100.0 netmask 255.255.255.0 {      //作用域
    range 192.168.100.3 192.168.100.100;            //地址范围
    option routers 192.168.100.254;                   //默认网关
    }
    
  7. 关闭防火墙并开启服务

    systemctl stop firewalld
    systemctl start dhcpd
    systemctl enable dhcpd
    

客户机配置

  1. 在克隆机上做下静态ip配置,从而确保网络可达。配置完后克隆机ping dhcp服务器,可达才行

  2. 删除网卡上的静态ip的配置并重启网卡

  3. 重启网卡后查看ip

    systemctl restart network、

    ip addr

DNS配置

服务器配置

  1. 将服务器的IP地址配置为静态地址 vi /etc/sysconfig/network-scripts/ifcfg-ens33‘

    IPADDR=192.168.100.200
    NETMASK=255.255.255.0
    GATEWAY=192.168.100.254
    
  2. 重启网卡

    systemctl restart network

  3. 配置服务器端的DNS功能

    yum install bind bind-utils -y

  4. 修改主配置文件

    vi /etc/named.conf
    listen-on port 53 { any; };     //监听本机的所有网卡
    allow-query     { any; };       //允许所有客户端查询
    倒数第二行加上
    include "/etc/hbnamed.zones";
    
  5. 配置自定义域(全文)

    vi /etc/hbnamed.zones

    zone "[hbliti.com](<http://hbliti.com/>)" IN {
    type master;
    file "hbliti.com.files";
    };
    zone "100.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.100.files";
    };
    
  6. 编辑自定义域的配置文件 vi /var/named/hbliti.com.files

    # 正向解析
    $TTL 1D
    @       IN SOA  [dns.hbliti.com](<http://dns.hbliti.com/>). [admin.hbliti.com](<http://admin.hbliti.com/>). (
    0       ; serial
    1D      ; refresh
    1H      ; retry
    1W      ; expire
    3H )    ; minimum
    @       NS      [dns.hbliti.com](<http://dns.hbliti.com/>).
    @       MX      5       [mail.hbliti.com](<http://mail.hbliti.com/>).
    @       A       192.168.100.200
    dns     A       192.168.100.200
    www     A       192.168.100.254
    ftp    A       192.168.100.253
    data     A       192.168.100.253
    mail     A       192.168.100.254
    
  7. 配置反向解析

    vi /var/named/192.168.100.files

    #配置反向解析
    $TTL 1D
    @       IN SOA  [dns.hbliti.com](<http://dns.hbliti.com/>). [admin.hbliti.com](<http://admin.hbliti.com/>). (
    0       ; serial
    1D      ; refresh
    1H      ; retry
    1W      ; expire
    3H )    ; minimum
    @       NS      [dns.hbliti.com](<http://dns.hbliti.com/>).
    200             PTR     [dns.hbliti.com](<http://dns.hbliti.com/>).
    254              PTR     [www.hbliti.com](<http://www.hbliti.com/>).
    254              PTR     [mail.hbliti.com](<http://mail.hbliti.com/>).
    253              PTR     [ftp.hbliti.com](<http://ftp.hbliti.com/>).
    253              PTR     [data.hbliti.com](<http://data.hbliti.com/>).
    
  8. 启动服务,开机自启,防火墙

    systemctl stop firewalld
    systemctl start named
    systemctl enable named
     
    

客户机测试

cat /etc/resolv.conf //查看dns配置

nslookup
www.hbliti.com     //查询结果应该为192.168.100.200
set q=ptr
192.168.100.253   //查询结果应该为data.baidu.com
set q=mx    //设置查询方式为邮件
hbliti.com    //查询结果应该为mail.hbliti.com

配置个人web站点

1安装web服务软件httpd

前提:设置好本地更新源

yum install httpd nano -y

2创建用户jack,修改默认目录权限,创建网页

useradd jack
mkdir /home/jack/public_html
chown -R jack /home/jack
chmod 711 /home/jack
chmod 755 /home/jack/public_html

3创建网页文件index.html

echo "This is jack's website" > /home/jack/public_html/index.html

4编辑userdir.conf配置文件

vi /etc/httpd/conf.d/userdir.conf

1、在UserDir disabled前添加#号进行注释

2、去掉UserDir public_html前的#号从而启用该功能

3、将option后的参数改为None

<Directory "/home/*/public_html">

AllowOverride FileInfo AuthConfig Limit Indexes

Options None

Require method GET POST OPTIONS

5关闭selinux,防火墙并重启服务

systemctl stop firewalld
setenforce 0
systemctl restart httpd

6测试

在物理机上打开网址http://ip/~jack/

配置web服务虚拟目录

在服务器中创建名为myweb的虚拟目录,对应的物理目录是/user/web,并对外提供服务

1安装httpd网页服务

yum -y install httpd nano

2创建目录及网页文件

mkdir -p /user/web
echo "虚拟目录 demo" > /user/web/index.html

3修改httpd文件

nano /etc/httpd/conf/httpd.conf

使用ctrl+w可以启用搜索功能

1、找到<IfModule alias_module>段代码,添加以下内容:
Alias /myweb /user/web/

2、在这段代码后
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

添加以下代码:
<Directory "/user/web">
    AllowOverride None
    Options None
    Require all granted
</Directory>

4关闭selinux,防火墙并重启服务

systemctl stop firewalld
setenforce 0
systemctl restart httpd

5测试

在物理机上打开网址http://ip/myweb

基于域名的虚拟主机

域名1: www1.abccc.com 步骤1服务器的地址

域名2: www2.abccc.com 步骤1服务器的地址

1 查看web服务器的IP地址

注意,此处服务器采用虚拟机软件DHCP分配的临时地址,非正规做法

ip addr

2安装web服务软件httpd、dns和nano

安装之前确保已经配置好了本地更新源的设置。

本地更新源笔记 1 本地更新源

yum install httpd bind bind-utils nano -y

3 配置服务器端的DNS功能

// 修改主配置文件
vi /etc/named.conf
listen-on port 53 { any; };     //监听本机的所有网卡
allow-query     { any; };       //允许所有客户端查询

//配置自定义域(全文)
vi /etc/named.rfc1912.zones

zone "abccc.com" IN {                //正解
        type master;
        file "named.localhost";
};

zone "xx.168.192.in-addr.arpa" IN {      //根据服务器的网段来写反解
        type master;
        file "named.loopback";
};

//编辑自定义域的配置文件
正解(全文):
vi /var/named/named.localhost
$TTL 1D
@       IN SOA  dns.abccc.com. admin.abccc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      dns.abccc.com.
@       MX      5       mail.abccc.com.
@       A       服务器地址
dns     A       服务器地址
www1     A       服务器地址
www2     A       服务器地址

//启动服务,开机自启,防火墙
systemctl stop firewalld
systemctl start named
systemctl enable named

4 创建网站目录及网页

mkdir -p /var/www/{web1,web2}
echo "This is web1 website" > /var/www/web1/index.html
echo "This is web2 website" > /var/www/web2/index.html

5 修改配置文件

//修改配置文件
vi /etc/httpd/conf/httpd.conf
在<VirtualHost>字段中添加以下代码
<VirtualHost 192.168.141.130>   //注意这里的ip要修改
        ServerAdmin root@baidu.com
        DocumentRoot /var/www/web1
        DirectoryIndex index.html
        ServerName www1.abccc.com
</VirtualHost>

<VirtualHost 192.168.141.130>   //注意这里的ip要修改
        ServerAdmin root@baidu.com
        DocumentRoot /var/www/web2
        DirectoryIndex index.html
        ServerName www2.abccc.com
</VirtualHost>

-----------------------------------
//关闭selinux并重启httpd服务
setenforce 0
systemctl restart httpd
systemctl stop firewalld

6 测试

在物理机上配置dns为服务器地址

打开浏览器,分别输入www1.abccc.com和www2.abccc.com

网页信息分别为This is web1 website和This is web2 website即代表成功

基于端口的虚拟主机

1 安装web服务软件httpd和nano

yum install httpd nano -y

2 创建网站目录及网页

mkdir -p /var/www/{8080,8081}
echo "This is port8080 website" > /var/www/8080/index.html
echo "This is port8081 website" > /var/www/8081/index.html

3 修改配置文件

//修改配置文件
nano /etc/httpd/conf/httpd.conf

//修改监听端口
Listen 8080
Listen 8081

//修改虚拟主机的配置
在<VirtualHost>字段中添加以下代码
<VirtualHost 192.168.141.130:8080>   //注意这里的ip要修改
        ServerAdmin root@baidu.com
        DocumentRoot /var/www/8080
        DirectoryIndex index.html

</VirtualHost>

<VirtualHost 192.168.141.130:8081>   //注意这里的ip要修改
        ServerAdmin root@baidu.com
        DocumentRoot /var/www/8081
        DirectoryIndex index.html

</VirtualHost>

-----------------------------------
//关闭selinux并启动httpd服务
setenforce 0
systemctl start httpd
systemctl stop firewalld

4 测试

打开浏览器,分别输入http://ip:8080和http://ip:8081

网页信息分别为This is port8080 website和This is port8081 website即代表成功

配置基于HTTPS的网站

1 安装web服务软件httpd和nano

yum install httpd nano mod_ssl openssl -y

2 创建网站目录及网页

mkdir -p /var/www/myweb
echo "This is my https website" > /var/www/myweb/index.html

3 创建密钥保存目录

mkdir /etc/httpd/ssl

4 创建自签名证书

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

选项输入信息如下:
name:cn
provice name:fujian
city:fuzhou
company:回车
unit name : 回车
hostname:回车
address:root@baidu.com

5 修改配置文件

//修改配置文件
nano /etc/httpd/conf.d/ssl.conf

//使用CTRL+w搜索<VirtualHost,复制以下内容:
DocumentRoot "/var/www/myweb"
DirectoryIndex index.html
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
SSLCertificateFile  /etc/httpd/ssl/apache.crt

//往下几行,找到并注释掉
注释掉 #SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
注释掉#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
-----------------------------------
//关闭selinux并启动httpd服务
setenforce 0
systemctl start httpd
systemctl stop firewalld

6 测试

打开浏览器,输入https://ip

点击高级,继续访问

网页信息分别为This is my https website 即代表成功

PS:如果遇到无法打开或者出现默认页的问题时,请修改/etc/httpd/conf/httpd.conf文件中的
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
将/var/www修改为当前网站的目录,并重启服务即可

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐