企业常用Linux服务搭建

准备3台CentOS7

dns一台、ftp一台、samba一台

要求:可以通过域名访问ftp和samba

下面是dns部署脚本

#!/bin/bash
#DNS主域名服务
#user li 20250325
 
#检查是否为root用户
if
  [  "$USER"  != "root"   ]
then
   echo "错误:非root用户,权限不足!"
  exit  0
fi
 
#防火墙与高级权限
systemctl stop firewalld && systemctl disable firewalld  && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config  &&   setenforce 0  && echo "关闭selinux"
 
#切换阿里云
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
 
#安装BIND相关工具
yum install -y bind*
if
    [ $? = 0 ]
    then
            echo "安装成功"
    else
            echo "安装失败"
            sleep 5
            exit 0
fi
 
#设置变量
read -ep "请设置DNS区域名(如xiaomao.com):"  a
read -ep "请输入本机IP地址:"  b
read -ep "请输入反向解析的IP地址(如1.168.192):" c
ip="$b"
d=$(echo "$ip" | cut -d '.' -f 4)
 
#配置BIND主配置文件
cp /etc/named.conf /etc/named/conf.bak
sed -i 's/listen-on port 53 { 127.0.0.1; };/listen-on port 53 { any; };/g' /etc/named.conf
sed -i 's/allow-query     { localhost; }/allow-query     { any; }/g' /etc/named.conf
 
echo "zone "$a" IN {
    type master;
    file \"/var/named/$a.zone\";
};
zone "$c.in-addr.arpa" IN {
    type master;
    file \"/var/named/$c.rev\";
};" >> /etc/named.rfc1912.zones
#创建正向解析区域文件
echo "\$TTL 86400
@   IN  SOA  ns.$a. admin.$a. (
            2025032501 ; Serial
            3600       ; Refresh
            1800       ; Retry
            604800     ; Expire
            86400      ; Minimum TTL
)
@   IN  NS   ns.$a.
$a. IN  A       $b
ns       IN  A       $b
" > /var/named/$a.zone
 
#创建反向解析区域文件
echo "\$TTL 86400
@   IN  SOA  ns.$a. admin.$a. (
            2025032501 ; Serial
            3600       ; Refresh
            1800       ; Retry
            604800     ; Expire
            86400      ; Minimum TTL
)
@       IN  NS   ns.$a.
$d     IN  PTR  $a.
" > /var/named/$c.rev
 
#调整权限
chown named:named /var/named/$a.zone /var/named/$c.rev
chmod 640 /var/named/$a.zone /var/named/$c.rev
 
#启动BIND服务并设置为开机自启
systemctl enable named   &&   systemctl start named
if
       [ $? = 0 ]
then
     echo "服务启动成功"
     else
     echo "破产,10秒后退出"
      sleep  10
   exit  0
fi
 
 

在此基础上添加以下

vim /var/named/wcl.com.zone 

$TTL 86400
@   IN  SOA  ns.wcl.com. admin.wcl.com. (
            2025032501 ; Serial
            3600       ; Refresh
            1800       ; Retry
            604800     ; Expire
            86400      ; Minimum TTL
)
@   IN  NS   ns.wcl.com.
wcl.com. IN  A       192.168.43.63
ns       IN  A       192.168.43.63
ftp      IN  A       192.168.43.250
samba    IN  A       192.168.43.63
[root@dns ~]# vim /etc/resolv.conf 
# Generated by NetworkManager
search localdomain
nameserver 192.168.43.1
nameserver 192.168.43.63

 验证

部署ftp服务

1 安装Vsftpd服务

yum install vsftpd -y

2 创建vsftpd使用的系统用户,主目录为/home/vsftpd,禁止ssh登录, 创建之后所有虚拟用户使用这个系统用户访问文件

useradd vsftpd -d /vsftpd -s /bin/false

3 创建虚拟用户主目录,比如虚拟用户叫ftp1

mkdir -p /vsftpd/ftp1/

mkdir -p /vsftpd/ftp2/

chown -R vsftpd.vsftpd /vsftpd/*

4 创建虚拟用户

vi /etc/vsftpd/loginusers.conf

ftp1

123456

ftp2

234567

5 创建数据库文件

db_load -T -t hash -f  /etc/vsftpd/loginusers.conf  /etc/vsftpd/loginusers.db

chmod 600 /etc/vsftpd/loginusers.db

chmod 600 /etc/vsftpd/loginusers.conf

6 启用数据库文件

vi /etc/pam.d/vsftpd # 注释掉所有内容后,增加下面的内容

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers

7 创建虚拟用户配置文件

mkdir -p /etc/vsftpd/userconf

这里的文件名称必须与虚拟用户名一致

vi /etc/vsftpd/userconf/ftp1

local_root=/vsftpd/ftp1

write_enable=YES

vi /etc/vsftpd/userconf/ftp2

local_root=/vsftpd/ftp2

write_enable=YES

8 修改主配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

chroot_local_user=YES

allow_writeable_chroot=YES

#网络与端口

listen=NO

listen_ipv6=YES

pasv_min_port=40000

pasv_max_port=40010

listen_port=21

#超时与并发

idle_session_timeout=300

data_connection_timeout=600

max_clients=3000

max_per_ip=3000

#虚拟用户

guest_enable=YES

guest_username=vsftpd

user_config_dir=/etc/vsftpd/userconf

virtual_use_local_privs=YES

#日志与传输

xferlog_enable=YES

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

#其他配置

use_localtime=YES

ftpd_banner=Welcome to blah FTP service.

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

dirmessage_enable=YES

connect_from_port_20=YES

async_abor_enable=YES

9 重启服务使配置生效

systemctl restart vsftpd

 验证:

部署samba服务
1.         yum install samba -y

2.         mkdir   -p   /samba
            chmod -R 777 /samba

3.         useradd  -M  samba                #创建系统用户不创建属主目录     
            smbpasswd -a samba             #为其设置samba密码

4.         vim  /etc/samba/smb.conf
[samba]
        comment = IMMENGXIN        ##共享的描述性注释
        path = /samba                          ##共享目录的实际路径
        public = yes                               ##表明允许未授权的用户访问该共享
        browseable = yes                      ##表示这个共享在网络中是可见的
        read only = no                           ##意味着客户端对该共享目录具备读写权限

5.            systemctl start smb nmb
               systemctl enable smb nmb
                systemctl restart smb nmb

6.验证           smbclient //192.168.43.63/samba -U samba

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值