企业常用Linux服务搭建

发布于:2025-04-03 ⋅ 阅读:(21) ⋅ 点赞:(0)

1.需要两台centos  7服务器,一台部署DNS服务器,另一台部署ftp和Samba服务器。

2. 部署DNS 服务器​

#!/bin/bash
 
 
# 更新系统
echo "更新系统..."
sudo yum update -y
 
# 安装 BIND 和相关工具
echo "安装 BIND 和相关工具..."
sudo yum install -y bind bind-utils
 
# 配置 named.conf 文件
echo "配置 BIND 配置文件..."
cat > /etc/named.conf <<EOL
options {
    listen-on port 53 { any; };             # 监听所有接口
    listen-on-v6 port 53 { none; };         # 不启用 IPv6
    directory       "/var/named";           # 区域文件路径
    dump-file       "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { any; };               # 允许所有查询
};
 
zone "zhangabc.com" IN {
    type master;
    file "/var/named/zhangabc.com.zone";    # 区域文件路径
    allow-update { none; };                # 禁止动态更新
};
EOL
 
# 创建区域文件
echo "创建区域文件..."
cat > /var/named/zhangabc.com.zone <<EOL
\$TTL 86400
@   IN  SOA     ns1.zhangabc.com. admin.zhangabc.com. (
                2024032501 ; 序列号
                3600       ; 刷新时间
                1800       ; 重试时间
                604800     ; 过期时间
                86400      ; 最小TTL
)
@       IN  NS      ns1.zhangabc.com.
ns1     IN  A       192.168.86.129
@       IN  A       192.168.86.130
www     IN  A       192.168.86.130
EOL
 
# 修改权限
echo "修改文件权限..."
sudo chown named:named /var/named/zhangabc.com.zone
sudo chmod 640  /var/named/zhangabc.com.zone
 
# 检查配置文件是否正确
echo "检查配置文件..."
sudo named-checkconf
sudo named-checkzone zhangabc.com  /var/named/zhangabc.com.zone
 
# 启动并启用 BIND 服务
echo "启动并启用 BIND 服务..."
sudo systemctl enable named
sudo systemctl start named
 
# 开放防火墙 53 端口
echo "配置防火墙..."
sudo firewall-cmd --add-port=53/tcp --permanent
sudo firewall-cmd --add-port=53/udp --permanent
sudo firewall-cmd --reload
 
# 重启防火墙和 BIND 服务
echo "重启防火墙和 BIND 服务..."
sudo systemctl restart named
sudo systemctl restart firewalld
 
# 验证 DNS 配置
echo "验证 DNS 配置..."
nslookup zhangabc.com 127.0.0.1

3. 在此基础上添加以下

vim  /var/named/zhangabc.com.zone 

$TTL 86400
@   IN  SOA  ns.zhangabc.com. admin.zhangabc.com. (
            2025032501 ; Serial
            3600       ; Refresh
            1800       ; Retry
            604800     ; Expire
            86400      ; Minimum TTL
)
@   IN  NS   ns.laodi.com.
zhangabc.com. IN  A       192.168.86.129
ns       IN  A       192.168.86.129
ftp      IN  A       192.168.86.145
samba    IN  A       192.168.86.145

[root@dns ~]# vim /etc/resolv.conf 
# Generated by NetworkManager
search localdomain
nameserver 192.168.86.129
nameserver 192.168.86.2

4.在 Windows 10 远程测试:

在另一台centos  7部署ftp服务

yum install vsftpd -y

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

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

7.创建虚拟用户主目录,比如虚拟用户叫zhang1

mkdir -p /vsftpd/zhang1/

mkdir -p /vsftpd/zhang2/

chown -R vsftpd.vsftpd /vsftpd/*

8.创建虚拟用户

vim /etc/vsftpd/loginusers.conf

zhang1

123456

zhang2

456789

9.创建数据库文件

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

10. 启用数据库文件

vim  /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

 11.创建虚拟用户配置文件

mkdir -p /etc/vsftpd/userconf

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

# vim /etc/vsftpd/userconf/zhang1

local_root=/vsftpd/zhang1

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

# vim /etc/vsftpd/userconf/zhang2

local_root=/vsftpd/zhang2

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
#网络与端口

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=vsftpduser

user_config_dir=/etc/vsftpd/vconf

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



13.重启服务使配置生效

systemctl restart vsftpd

部署Samba服务

yum install samba -y
mkdir   -p   /samba
chmod -R 777 /samba
  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                         ##意味着客户端对该共享目录具备读写权限
systemctl start smb nmb
systemctl enable smb nmb
systemctl restart smb nmb

 验证

 smbclient //192.168.86.145 /samba -U samba