39.搭建Linux基础服务dhcp、samba、ftp、dns

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介:

LInux搭建各种服务器教程!

 

DHCP服务器:

设置永久网络配置文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0

设置网卡显示配置文件路径:/etc/udev/rules.d/70-persistent-net.rules

防火墙配置文件路径:/etc/sysconfig/selinux

DHCP服务的进程名:dhcpd

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装dhcpd软件包。

 复制模版文件/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf

 配置dhcpd.conf文件作用域参数,然后保存。

 重新载入服务service dhcpd reload

注意:

 作用域参数必须有属于服务器网段的作用域,不然服务无法正常启动。

 无法获取到地址检查网络连通性,主机地址配置参数必须完整。

 服务无法正常启动检查配置文件的完整性,一个空格一个符号不对都会出现问题,出现无法结局问题我们只能重新复制模版文件的参数。

 

 

Samba服务器:共享文件服务器

Samba服务的进程名:samdnmbd

Samba服务配置文件路径:/etc/samba/smb.conf

Samba共享用户的账户数据库文件路径:/var/lib/samba/private/passdb.tdb

Samba共享帐号的映射文件位于/etc/samba/smbusers

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装Samba软件包。它有三个包一个公共包,一个服务端包,一个客户端包。

 配置文件smb.conf参数。

 重新载入服务service dhcpd reload

创建共享用户:该服务拥有独立的用户数据库,但是创建共享用户的前提是必须有相同账户的系统用户。命令:pdbedit -a -u ren 意思:将系统用户ren加入到共享用户中。

共享帐号映射创建步骤:

 编辑帐号映射文件smabusers

 主配置文件smb.conf添加全局参数username map = /etc/samba/smbusers

 重新载入服务service dhcpd reload

使用客户端访问共享文件夹:smbclient -U ren //192.168.1.1/pub

为了长期访问此共享文件夹可以将此网络路径挂载在一个指定的目录:

编辑/etc/fstab文件设置对应参数,这里使用的系统文件类型是:smbfs

mount -o username=renpasswoed=123 //192.168.1.1/pub   /mnt

 

smb.conf文件常见的参数

配置項

说明

workgroup

设置服务器所在的工作组名称,一般保持默认就好

Server string

设置服务器的说明文字,用于描述文件服务器

 

Security

 

设置成user代表使用共享用户名和密码登录,设置成share可以匿名访问,设置成server代表验证用户名和密码的工作交给另外一台服务器,设置成domain代表验证用户名和密码的工作由域控完成

Log life

设置服务器的日志文件,默认在/var/log/samba/log.%m文件中

Passwd backend

设置共享账户的类型,默认使用TDB数据库文件,保持默认就好

Conmment

设置对应共享目录的注释参数

Path

设置共享目录的路径

Browseable

设置该共享目录在网上邻居中是否可见,no为隐藏共享目录

Guest ok

设置该共享目录是否可以被所有人访问,跟public参数用法相同

Writable

设置该共享目录是否可写

Valid users

设置只允许该用户访问此目录

Writable list

设置只允许该用户可写

Read only

设置该共享目录可读

注意:搭建匿名访问和用户访问同时使用,在全局参数中加入map to guest = bad user参数, Security参数设置为user那么使用用户访问的只需添加参数Valid users指定谁访问。匿名访问没有此指定即可。

 

FTP文件传输服务

FTP服务的进程名:vsftpd

FTP服务的配置文件路径:/etc/vsftpd/vsftpd.conf

FTP服务的用户列表文件路径:/etc/vsftpd/ftpusers, /etc/vsftpd/user_list

FTP服务默认的PAM认证文件路径:/etc/pam.d/vsftpd

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装FTP软件包。vaftpd为服务端包,ftp为客户端包。

 配置文件vsftpd.conf参数。

 重新载入服务service dhcpd reload

  帐号映射创建步骤:

 创建文本格式的用户名,密码列表:vim /etc/vsftpd/ren.list(文件规则:奇数行为用户名,偶数行为密码)。

 将列表转换成DB数据库文件:db_load  -T  -t  hash  -f  ren.list  ren.db

 创建需要映射的系统帐号:useradd  -d  /var/ftproot  -s  /sbin/nologin  ren

 更改家目录权限可读可执行:chmod  755  /var/ftproot

 建立PAM认证文件:vim   /etc/pam.d/ren.vu

spacer.gif  #%PAM-1.0

spacer.gif  auth       required   pam_userdb.so   db=/etc/vsftpd/ren

  account    required   pam_userdb.so   db=/etc/vsftpd/ren

 修改vsftpd.conf参数,添加虚拟用户支持:

Local_enable=YES

需映射本地用户,所以启用此项

Write_enable=YES

启用上传写入支持

Anon_umask=022

指定上传权限掩码

Guest_enable=YES

启用用户映射功能

Guest_username=virtual

指定映射的系统用户名称

Pam_service_name=ren.vu

指定新的PAM认证文件

为不同的虚拟用户建立独立的配置文件:

 编辑vsftpd.conf文件:vim /etc/vsftpd/vsftpd.conf

 添加参数:user_config_dir=/etc/vsftpd/ren_dir

 创建配置文件目录:mkdir  /etc/vsftpd/ren_dir

 进入此目录为用户建立独立的配置文件:

vim ren

anon_upload_enable=YES

anon_mkdir_write_enable=YES

 重新加载配置:service dhcpd reload

vsftpd.conf常见配置参数

作用范围

配置参数

意思

 

 

 

匿名用户

Anonymous_enables=YES

是否允许匿名访问

Anon_umask=022

匿名用户上传文件的掩码值(这里是反掩码)

Anon_root=/var/ftp

设置匿名用户的FTP根目录

Anon_upload_enable=YES

设置匿名用户是否可以上传文件

Anon_mkdir_write_enable=YES

设置匿名用户有创建目录的写入权限

Anon_other_write_enable=YES

是否允许匿名用户有其他的写入权限

Anon_max_rate=0

限制匿名用户的最大传输速率,0表示不限制

 

 

本地用户

Local_enable=YES

是否允许本地用户访问

Local_umask=022

设置本地用户上传文件的掩码值(这里是反掩码)

Local_root=/var/ftp

设置本地用户的FTP根目录

Chroot_local_user=YES

是否将FTP用户禁锢在宿主目录中

Local_max_rate=0

设置本地用户的最大传输速率,0表示不限制

 

 

 

 

全局配置

Listen=YES

是否以独立运行的方式监听服务

Listen_address=0.0.0.0

设置FTP服务的IP地址

Listen_port=21

设置坚挺FTP服务的端口号

Write_enable=YES

启用任何形式的写入权限

Download_enable=YES

是否允许下载文件

Dirmessage_enable=YES

用户切换进入目录时显示.message文件

Xferlog_enable=YES

启用Xferlog日志,默认记录在/var/ftp/xferlog

Xferlog_std_format=YES

启动标准的Xferlog日志格式

Connet_form_port_20=YES

允许服务器主动模式(从20号端口建立数据连接)

 

 

 

 

全局配置

Pasv_enable=YES

允许被动模式连接

Pasv_max_port=24600

设置用于被动模式的服务器最大端口号

Pasv_min_port=24500

设置用于被动模式的服务器最小端口号

Pam_service_name=vsftpd

设置用于用户认证的PAM文件位置

Userlist_enable=YES

是否启用user_list用户列表文件

Userlist_deny=YES

是否禁用user_list用户列表中的用户帐号

Max_client=0

最多允许多少客户端同时连接,0表示不限制

Max_per_ip=0

对来自同一个IP地址的客户端,最多允许多少个并发连接,0表示不限制

Tcp_wrappers=YES

是否启动Tcp_wrappers主机访问控制

注意:

FTP根目录不能给写的权限,这个是固定的。

用户列表文件设置ftpusers文件,此文件中列出的用户将禁止登录vsftpd服务器,连输密码的机会都没有。

用户列表文件设置user_list文件,此文件可以包含的用户可能被禁止登录,也可能被允许登录,具体取决于vsftpd.conf文件中的参数配置,可以输密码但是登录不成功。

上传反掩码计算:文件权限=777-111-022,目录权限=777-022

在以上步骤中如果遇到需要创建目录和文件的步骤注意文件权限给好,不然可能导致后面的操作出现问题。

服务器主动模式:服务器20号端口主动连接客户端的20号端口,相同端口传输数据,传输速率高。

服务器被动模式:服务端20号端口被动连接客户端的非20号端口,不同端口传输数据,较安全,但是要经过端口计算传输速率低。

映射用户的权限默认使用的是匿名用户的权限,所以你要对映射用户进行操作,只需要操作有关匿名用户的参数。(编辑vsftpd.conf有关anon参数)

 

 

DNS域名解析服务:使用BIND软件

BIND服务进程名:named

BIND服务的配置文件路径:/etc/named.conf

BIND服务的区域数据库文件路径:/etc/named/

BIND服务的根数据文件保存路径:/var/named/named.ca

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装BIND软件包:bind包主程序包,bind-utils提供对服务的测试工具程序包,bind-libs提供bind需要使用的库函数,bind-chrootBIND服务提供一个伪装目录(/var/named/chroot),以提高安全性。

 设置named.conf文件参数:vim  /etc/named.conf

 创建区域数据配置文件:cp  /var/named/named.empty   /var/named/ren.zone

 编辑该区域数据配置文件添加解析记录:vim  /var/named/ren.zone

 给该文件可读可写权限:chmod  777  ren.zone

 启动named服务以及重新加载配置:service  named  start     service  named  reload

构建缓存域名服务器:

 编辑主配置文件:vim /etc/named.conf添加参数:

option {

  forwarders { 202.96.134.133; 114.114.114.114; };

};

 启动named服务:service  named  start

构建主域名服务器:

 编辑主配置文件:vim /etc/named.conf添加参数:

zone "benet.com" IN {                                       正向解析

  type  master;                                          设置为主域名服务器

  file "benet.zone"                                        设置区域数据文件路径      

  allow-transfer { 192.168.1.2 ; };                           允许从服务器下载正向数据

};

zone "192.168.1.in-addr.arpa" IN {                             反向解析   

  type  master;                                          设置为主域名服务器     

  file "192.168.1.2.arpa";                                   设置区域数据文件路径     

  allow-transfer { 192.168.1.2 ; };                           允许从服务器下载反向数据      

};

 配置区域数据文件:vim  /var/named/ren.zone

 启动named服务:service  named  start

构建缓存服务器:

 编辑主配置文件:vim /etc/named.conf添加参数:

zone "benet.com" IN {                                       正向解析

  type  slave;                                          设置为主域名服务器

  file "slaves/benet.zone"                                设置区域数据文件路径      

  masters  { 192.168.1.1 ; };                           从主域名服务器下载正向数据

};

zone "192.168.1.in-addr.arpa" IN {                             反向解析   

  type  slave;                                         设置为主域名服务器     

  file "slaves/192.168.1.2.arpa";                          设置区域数据文件路径     

  masters  { 192.168.1.1 ; };                           从主域名服务器下载反向数据      

};

 启动named服务以及重新加载配置:service  named  start   service  named  reload

 查看数据是否从主域名服务器上复制相同的区域数据文件:cd /etc/named/slaves | ls

注意:

每个配置文件中必须存在.”根域的参数,这个参数建议不要随意更改。

我们可以借助nslookup工具来测试DNS服务的解析情况:nslookup

server 192.168.1.1 指定DNS服务器

set  type=nsmxacnameptr 指定测试的解析记录类型

www.benet.com 测试这个域名的解析情况

解析记录:

MX邮件解析记录:把一个公司的二级域名解析出这个公司内的一台三级域名的邮件服务器。

NS解析记录:把一个公司的二级域名解析出这个公司内的一台三级域名的服务器。

A主机解析记录:将一个域名解析成一个IP地址。

PTR指针解析记录:将一个IP地址解析成一个域名。

CNAME别名解析记录:将一个域名解析成另外一个别名,来提高服务器的安全性。

 

 

服务器搭建大概思路:配置正确网络参数,关闭防火墙。安装服务对应软件包,编辑对应配置文件。开启服务,重新加载配置文件。配置文件修改时注意各类标注符号,出现问题冷静思考错误提示,认真检查配置文件。

Samba服务参数记忆:global为全局参数项,homes为家目录参数项,printers为打印机共享参数项。

FTP服务参数记忆规律:看到anon为匿名访问参数,local为用户访问参数,其他为全局。

BIND服务主域类型为master,从域类型为slave,区域地址数据配置注意解析记录方向。


本文转自   触动的风   51CTO博客,原文链接:http://blog.51cto.com/10978134/1945761
相关文章
|
14天前
|
弹性计算 运维 安全
优化管理与服务:操作系统控制平台的订阅功能解析
本文介绍了如何通过操作系统控制平台提升系统效率,优化资源利用。首先,通过阿里云官方平台开通服务并安装SysOM组件,体验操作系统控制平台的功能。接着,详细讲解了订阅管理功能,包括创建订阅、查看和管理ECS实例的私有YUM仓库权限。订阅私有YUM仓库能够集中管理软件包版本、提升安全性,并提供灵活的配置选项。最后总结指出,使用阿里云的订阅和私有YUM仓库功能,可以提高系统可靠性和运维效率,确保业务顺畅运行。
|
5月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
201 3
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
71 11
|
2月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
127 6
|
3月前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
117 4
|
4月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
133 17
|
4月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
107 4
|
4月前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
4月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
4月前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验

相关产品

  • 云解析DNS
  • 推荐镜像

    更多