温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-12 18:00:06 来源:亿速云 阅读:133 作者:元一 栏目:系统运维

1、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] 该部分内容设置打印机共享。

2、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

3、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 啰。

4、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;
  }
}

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服务端

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI