千家信息网

ntp、dhcp、samba、NFS、ftp的简化配置

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,1、ntpNTP的相关配置文件端口号:ipv4 udp 123(源端口:接收客户端请求的)、先处理权限方面的问题,包括放行上层服务器以及开放局域网用户来源:restrict default kod n
千家信息网最后更新 2024年10月01日ntp、dhcp、samba、NFS、ftp的简化配置

1、ntp
NTP的相关配置文件
端口号:ipv4 udp 123(源端口:接收客户端请求的)、

先处理权限方面的问题,包括放行上层服务器以及开放局域网用户来源:
restrict default kod nomodify notrap nopeer noquery <==拒绝 IPv4 的用户
restrict -6 default kod nomodify notrap nopeer noquery <==拒绝 IPv6 的用户
restrict 220.130.158.71 <==放行 tock.stdtime.gov.tw 进入本 NTP 的服务器
restrict 59.124.196.83 <==放行 tick.stdtime.gov.tw 进入本 NTP 的服务器
restrict 59.124.196.84 <==放行 time.stdtime.gov.tw 进入本 NTP 的服务器
restrict 127.0.0.1 <==底下两个是默认值,放行本机来源
restrict -6 ::1
restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行局域网用户来源,或者列出单独IP

设定主机来源,请先将原本的 [0|1|2].centos.pool.ntp.org 的设定批注掉:
server 220.130.158.71 prefer <==以这部主机为最优先的server
server 59.124.196.83
server 59.124.196.84

默认的一个内部时钟数据,用在没有外部 NTP 服务器时,使用它为局域网用户提供服务:
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

预设时间差异分析档案与暂不用到的 keys 等,不需要更动它:
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

2、dhcp

DHCP的相关配置文件
端口号:ipv4 udp 67(源端口:接收客户端请求的)、

udp 68(目的端口:向客户端发送请求成功或失败的回应)

   ipv6  udp 546、udp 547

服务名:dhcpd、dhcrelay

主配置文件:/etc/dhcp/dhcpd.conf

模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

中继配置文件:/etc/sysconfig/dhcrelay

执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay

服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay

执行参数配置:/etc/sysconfig/dhcpd

查看租约文件:/var/lib/dhcpd/dhcpd.lease

很多网络服务的排错日志:/var/log/messages

1)这部分是全局设置

option domain-name"zzhz.com"; #设置"域名"体现在/etc/resolv.conf中的search

option domain-name-servers IP1, IP2; # DNS设置,会修改客户端的/etc/resolv.conf

default-lease-time 259200; 租约时间

max-lease-time 518400; 最大租约时间

ddns-update-style none; #也有这个值 interim;

ignore client-updates;

2)subnet :指定子网作用域(动态IP)

subnet 192.168.0.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.0.128 192.168.0.254; #地址范围 有使用这个range dynamic-BOOTP

option routers 192.168.0.1; #网关

option subnet-mask 255.255.255.0; #子网掩码

option nis-domain "domain.org";

option broadcast-address 192.168.0.255;#广播地址

option time-offset -18000; #时区时间

option ntp-servers 192.168.1.1;

option netbios-name-servers 192.168.1.1;

option netbios-node-type 2;

3)固定IP地址设置
  host win7 {
  hardware ethernet 12:34:56:78:AB:CD;
  fixed-address 207.175.42.254;
  }
}

3、samba

/etc/samba/smb.conf

[global]

    workgroup = MYGROUP    server string = Samba Server Version %v    security = user    passdb backend = tdbsam    load printers = yes    cups options = raw

[homes]

    comment = Home Directories    browseable = no    writable = yes

[printers]

    comment = All Printers    path = /var/spool/samba    browseable = no    guest ok = no    writable = no    printable = yes

主要有以上三个部分:[global], [homes], [printers]。

[global] 定义全局的配置,"workgroup"用来定义工作组,相信如果你安装过windows的系统,你会对这个workgroup不陌生。一般情况下,需要我们把这里的"MYGROUP"改成"WORKGROUP"(windows默认的工作组名字)。

security = user #这里指定samba的安全等级。关于安全等级有四种:

share:用户不需要账户及密码即可登录samba服务器

user:由提供服务的samba服务器负责检查账户及密码(默认)

server:检查账户及密码的工作由另一台windows或samba服务器负责

domain:指定windows域控制服务器来验证用户的账户及密码。

passdb backend = tdbsam # passdb backend (用户后台),samba有三种用户后台:smbpasswd, tdbsam和ldapsam.

smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。

tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd -a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:

pdbedit -a username:新建Samba账户。

pdbedit -x username:删除Samba账户。

pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。

pdbedit -Lv:列出Samba用户列表详细信息。

pdbedit -c "[D]" -u username:暂停该Samba用户账号。

pdbedit -c "[]" -u username:恢复该Samba用户账号。

ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置"passdb backend = ldapsam:ldap://LDAP Server"

load printers 和 cups options 两个参数用来设置打印机相关。

除了这些参数外,还有几个参数需要你了解:

netbios name = MYSERVER # 设置出现在"网上邻居"中的主机名

hosts allow = 127. 192.168.12. 192.168.13. # 用来设置允许的主机,如果在前面加";"则表示允许所有主机

log file = /var/log/samba/%m.log #定义samba的日志,这里的%m是上面的netbios name

max log size = 50 # 指定日志的最大容量,单位是K

[homes] 该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单纯的文件共享的环境来说,这部分可以注视掉。

[printers] 该部分内容设置打印机共享。

4、NFS

RH系操作系统在6.0版本之后没有portmap服务控制rpc的启动,由于NFS和nfslock的启动需要向rpc进行注册,rpc不启动的话就会报错。

/etc/exports

/data/lys 192.168.2.0/24(rw,no_root_squash,no_all_squash,sync)

常见的参数则有:

参数值 内容说明
rw  ro 该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。

sync  async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!

no_root_squash  root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!

all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦!

anonuid  anongid anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。

5、ftp

控制连接 21端口 用于发送ftp命令

数据连接 20端口 用于上传下载数据

anonymous_enable=YES 开启匿名用户访问;

local_enable=YES 启用本地系统用户访问;

write_enable=YES 本地系统用户写入权限;

local_umask=022 本地用户创建文件及目录默认权限掩码;

dirmessage_enable=YES 打印目录显示信息,通常用于用户第一次访问目录时,信息提示;

xferlog_enable=YES 启用上传/下载日志记录;

connect_from_port_20=YES FTP使用20端口进行数据传输;

xferlog_std_format=YES 日志文件将根据xferlog的标准格式写入;

listen=NO Vsftpd不以独立的服务启动,通过Xinetd服务管理,建议改成YES;

listen_ipv6=YES 启用IPV6监听;

pam_service_name=vsftpd 登录FTP服务器,依据/etc/pam.d/vsftpd中内容进行认证;

userlist_enable=YES Vsftpd.user_list和ftpusers配置文件里用户禁止访问FTP;

tcp_wrappers=YES 设置vsftpd与tcp wrapper结合进行主机的访问控制,Vsftpd服务器检查/etc/hosts.allow 和/etc/hosts.deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。

匿名用户完整vsftpd.conf配置文件代码如下

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

Vsftpd系统用户配置

(1) Linux系统中创建系统用户jfedu1、jfedu2,分别设置密码为123456:

useradd jfedu1

useradd jfedu2

echo 123456|passwd --stdin jfedu1

echo 123456|passwd --stdin jfedu2

(2) 修改vsftpd.conf配置文件代码如下:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

Vsftpd虚拟用户配置

(1) 安装Vsftpd虚拟用户需用到的软件及认证模块:

yum install pam libdb-utils libdb --skip-broken -y

(2) 创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt,新建虚拟用户和密码,其中jfedu001、jfedu002为虚拟用户名,123456为密码,如果有多个用户,依次格式填写即可:

jfedu001

123456

jfedu002

123456

(3) 生成Vsftpd虚拟用户数据库认证文件,设置权限700:

db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db

chmod 700 /etc/vsftpd/vsftpd_login.db

(4) 配置PAM认证文件,/etc/pam.d/vsftpd行首加入如下两行:

auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login

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

(5) 所有Vsftpd虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用,创建命令如下:

useradd -s /sbin/nologin ftpuser

(6) 完整vsftpd.conf配置文件代码如下:

#global config Vsftpd 2017

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

userlist_enable=YES

tcp_wrappers=YES

#config virtual user FTP

pam_service_name=vsftpd

guest_enable=YES

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

如上Vsftpd虚拟用户配置文件参数详解:

#config virtual user FTP

pam_service_name=vsftpd 虚拟用户启用pam认证;

guest_enable=YES 启用虚拟用户;

guest_username=ftpuser 映射虚拟用户至系统用户ftpuser;

user_config_dir=/etc/vsftpd/vsftpd_user_conf 设置虚拟用户配置文件所在的目录;

virtual_use_local_privs=YES 虚拟用户使用与本地用户相同的权限。

(7) 至此,所有虚拟用户共同基于/home/ftpuser主目录实现文件上传与下载,可以在/etc/vsftpd/vsftpd_user_conf目录创建虚拟用户各自的配置文件,创建虚拟用户配置文件主目录:

mkdir -p /etc/vsftpd/vsftpd_user_conf/

(8) 如下分别为虚拟用户jfedu001、jfedu002用户创建配置文件:

/etc/vsftpd/vsftpd_user_conf/jfedu001,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/jfedu001

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

/etc/vsftpd/vsftpd_user_conf/jfedu002,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/jfedu002

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

虚拟用户配置文件内容详解:

local_root=/home/ftpuser/jfedu002 jfedu002虚拟用户配置文件路径;

write_enable=YES 允许登陆用户有写权限;

anon_world_readable_only=YES 允许匿名用户下载,然后读取文件;

anon_upload_enable=YES 允许匿名用户上传文件,只有在write_enable=YES时该参数才生效;

anon_mkdir_write_enable=YES 允许匿名用户创建目录,只有在write_enable=YES时该参数才生效;

anon_other_write_enable=YES 允许匿名用户其他权限,例如删除、重命名等。

(9) 创建虚拟用户各自虚拟目录:

mkdir -p /home/ftpuser/{jfedu001,jfedu002}

chown -R ftpuser:ftpuser /home/ftpuser

重启Vsftpd服务,通过Windows客户端资源管理器登录Vsftpd服务端

用户 文件 服务 配置 系统 服务器 目录 数据 参数 密码 客户 客户端 权限 账户 主机 数据库 端口 身份 代码 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国电信公司网络安全中心 虚拟专网络技术应用 贵州小石软件开发有限公司 h3c防火墙双线服务器 安徽交友软件开发大概要多少钱 用触发器使两个数据库表同步 2021年网络安全研究专家去世 数据库与表的基本操作 如何用电脑网络安全检测 徐汇区互联网软件开发大概费用 平顶山软件开发分类 数据库一般包括哪些系统 杭州区块链软件开发 科技互联网快速发展的时代 晶和软件开发岗面试 登录服务器指令st 连接宇宙数据库 浦东新区本地软件开发公司 重庆师范大学复试数据库百度云 数据库怎么入账 stm32 数据库访问 如何把c 连接到数据库 黎溪服务器到韶关始兴还有多远 联合国全球网络安全指数下载 first软件开发 女性网络安全宣传册 安阳进销存管理软件开发 合肥软件开发驻场好不好 直销软件开发到直销大师可靠 网络安全隐患清查培训会报道
0