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

简介:

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
相关文章
|
5月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
378 25
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
6月前
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
146 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
8月前
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
568 19
|
8月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
296 11
|
8月前
|
监控 Linux
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
3709 7
|
8月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
269 6
|
10月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
389 24
|
10月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
193 5
linux系统服务二!
|
10月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
164 3
linux系统服务!!!