1.NTP时间服务器(协议)
说明:校准局域网内的时间
典型应用场景:火车票放票时间,在线商店秒杀时间

监听端口:UDP的123
vi /etc/sysconfig/iptables 添加如下规则:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT


cp /etp/ntp.conf /etc/ntp.conf.bak

vi /etc/ntp.conf

粘贴如下内容覆盖原内容driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1
server cn.ntp.org.cn

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys


/etc/init.d/ntpd start
ps -ef |grep ntp(e等于A,看所有的进程,f为full显示全名)
netstat -nul  看123端口

ntpq -p 查看ntp服务器的情况这台服务器会跟哪几个上级服务器同步

客户机:安装ntpdate
ntpdate 服务器ip
date 看下服务器和客户机的时间是不是一样
如果提示NTP已启用,就把NTP 关掉/etc/init.d/ntpd stop或者卸载yum remove
date 分时日月年 -s是改时分

企业一般用内网,把外网的那个server去掉,就跟本地同步,/etc/init.d/ntpd stop 先把内网服务器用ntpdate 上级ip 同步,然后把/etc/init.d/ntpd start 然后本地时间就对了,可以让下级跟本机同步

用date把系统时间改到你想要的时间,用touch把文件改成你想要的修改时间,再把时间改回来
公司一般都是内网,所以要自己搭建NTP服务,怎么搭内网?


客户端想定时更新时间,配置任务计划
安装crontab*
配置root用户计划
vim /var/spool/cron/root
分 时 日 月 星期 ntpdate cn.ntp.org.cn       */2可以每2小时同步一次   6-12/2可以6点到12点每2小时同步一次
/etc/init.d/crond restart
rontab -e 就是打开上面那个文件 -l看有哪些用户计划

怕系统找不到的话就写绝对路径 
which 或者shereis 可以查找命令存放路径 


2.DHCP服务器(协议)
说明:分配IP地址,子网掩码
典型应用场景:给内部网络或者网络服务供应商自动分配IP地址
UDP端口67 68

先把服务器地址设成静态

最好用NAT模式,桥接的话相当于你局域网里有两个DHCP服务器,你客户机容易连到真实路由上。


yum install dhcp* -y
cd /etc/etc/dhcp/
vim ./dhcpd.conf 把自己配置内容粘贴进来

1.配置作用域subnet 、netmask

2.设置网关、子网掩码option routers 、option netmask

3.配置地址池

4.(配置客户端DNS)


linuxNTP时间服务器、DHCP服务器、Samba服务器、NFS文件系统、FTP服务器_NTP

全局设置

ddns-update-style interim; 表示dhcp服务器和dns服务器的动态信息更新模式。这行必须要有dhcp服务器才能启动来。

Default-lease-time 21600; 默认租约时间

Max-lease-time 43200; 最大租约时间

Option domain-name "123.com"; 域名服务器的名称,这一行注释掉

Option domain-name-servers 192.168.245.5 默认域名服务的ip地址(你服务器的IP)写成8.8.8.8

一个配置文件可以有多个子网属性。

Sub 192.168.0.0 netmask 255.255.255.0 {(意思是我所分配的ip地址所在的网段

为192.168.0.0 子网掩码为255.255.255.0 )

Range 192.168.0.2 192.168.0.100; (分配的ip地址范围为192.168.0.2到

192.168.0.100)

Option subnet-mask 255.255.255.0 ; (分配ip地址的子网掩码为 255.255.255.0

Option routers 192.168.0.3; (分给客户机的网关为192.168.0.3)

}

有时候我们需要为某一个机器配置固定的ip地址,而下面的配置选项满足了这一要求:

Host server01 {

Hardware ethernet b0:c0:12:f2:a3:a4;

Fixed-address 192.168.0.100;

}


配置完后重启/etc/init.d/dhcpd restart 
重启失败,看 tail -fn 100 /var/log/messages

然后客户机设置成dhcp,看会不会从服务器获取IP,
可以看看DNS是不是服务器的 cat /etc/resolv.conf
也可以看服务器cat /var/lib/dhcpd/dhcpd.leases,看MAC地址是不是客户机的


3.Samba服务器(协议)就是桑巴舞那个桑巴
说明:共享目录、文件和打印机。是客户机/服务机型服务
yum install -y samba
rpm -ql samba |more
cd /etc/samba

去掉#号,grep -v "#" smb.conf >smb.conf.short分号也去掉

其中

security =后面写share不需要密码,写user只能被授权的用户访问,

path=/写要共享的目录

browseable=用来指定该共享是否可以浏览

writable = 用来指定该共享路径是否可写

在共享的目录里创建个文件
重启服务/etc/init.d/smb restart 

用自己电脑当客户机,\\服务器IP

不能写入删除的话给目录一个写权限。-R 文件夹权限大于文件权限

没有权限访问的话把防火墙和selinux关了

service iptables stop
setenforce 0

4.NFSNetwork File System网络文件系统  客户端跟主机 依赖于RPC协议

可以让多台机器共享同样的数据,常用于高可用文件共享,发布目录多个机器用一个目录

一般是共享目录,共享一个文件没意义

Mount -t nfs 192.168.245. :/data/ /mnt/

Windows文件共享跟nfs一样的


yum安装nfs-utils portmap

配置文件
rpm -ql nfs
vim /etc.nfsmount.conf 这个文件 不改


vim /etc/exports  去配置文件粘贴

/data/ *(rw,no_root_squash,no_all_squash,sync)


星号表示允许谁访问,ro只读访问,rw读写访问,sync实时更新共享

all_squash沉默,匿名用户,适合公用目录,no_all_squash保留文件的UID和GID,权限也是这个权限

root_squash,no_root_squash

 all_squash:    将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);

  no_all_squash: 与all_squash取反(默认设置);

  root_squash:   将root用户及所属组都映射为匿名用户或用户组(默认设置);

  no_root_squash:与rootsquash取反;

  anonuid=xxx:   将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);

  anongid=xxx:   将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);



/etc/init.d/nfs restart
失败了,/etc/init.d/rpcbind restart

客户端 粘贴配置文件里的命令mount -t nfs 192.168.245.5:/tmp/  /mnt/ 

本地不支持的话安装一个nfs-utils,防火墙


设置固定端口使防火墙便于管理:http://showerlee.blog.51cto.com/2047005/1127122/


5.FTP服务器 基于TCP 端口21 20   主机跟主机

这个公司用的很多,每个部门一个用户一个文件夹,互相之间不能访问不能修改

vsftpd是最常用的,Windows有个server U
安装
配置文件都在/etc/ftpd/下的conf里

grep -v "#" vsftpd.conf.bak |grep -v "^$" >vsftpd.conf

对发布目录没有写权限,要chmod o+w /www

其中pam. 我们操作系统登录也是用的这个pam认证服务配置文件

cd /etc/vsftpd/vsftpd.conf 这就是vsftpd的核心配置文件 

anonymous_enable=YES/no 是否允许匿名用户登录 

local_enable= YES/no 是否允许本地用户登录 

write_enable= YES/no 是否允许本地用户上传 

guest_enable=yes/no 是否允许虚拟用户登录; 

local_mask=022 设置本地用户的文件生成掩码为022,默认值为077 

dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容 

xferlog_enable= YES 激活上传和下载日志 

connect_from_port_20=YES 启用FTP数据端口连接 

pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下 

userlist_enable= YES yes的话这里面的用户不能访问,防止权限过高的用户用ftp
userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器 

listen= YES/no 是否使用独占启动方式(这一项比较重要) 

tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式 


/etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器 

/etc/vsftpd.user_list 文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。



虚拟用户

得安装pam,是把虚拟用户映射到一个系统用户上

第一步yum  install  pam*  libdb-utils libdb* --skip-broken  –y (centos7)

yum install db4* -y (centos6.5)

 这个是一个库,用来放数据

vi /etc/vsftpd/ftpuser.txt

每一行一个用户名、密码

生成数据库文件命令

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

chmod 700 /etc/vsftpd/vsftpd_login.db 改成只有root可以看到

第二步配置pam认证文件

vim /etc/pam.d/vsftpd

前置这两行

auth  sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

account  sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login


创建vsftp映射本地用户

useradd -s /sbin/nologin ftpuser,不需要设密码

然后在vsftpd.conf配置文件加入以下几行

#####

guest_enable=YES

guest_username=ftpuser

pam_service_name=vsftpd

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

可以重启测试了

创建目录mkdir -p /etc/vsftpd/vsftpd_user_conf,这个是虚拟用户的配置目录,每个虚拟用户一个配置文件

进到这个目录下,为虚拟用户创建配置文件,名字同用户名

把配置文件粘贴进去

local_root=/home/ftpuser/jfedu1

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES


然后mkdir -p /home/vsftpd/jfedu1

登录不成功,对着视频把过程再做一遍


主动模式被动模式

主动模式和被动模式的不同简单概述为:

主动模式传送数据时是“服务器20端口”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器21”的端口。

 

主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

被动模式只需要服务器端开放端口给客户端连接就行了。