1 学习一个软件服务配置的步骤

1 搞懂这个技术,服务是做什么,功能是什么,用途在哪,为什么要用它
2 这个软件安装的方式,在服务端安装,还是客户端安装,安装命令是什么
3 该软件安装完毕后,路经在哪里,配置文件在哪里,启动文件在哪里
4 配置文件里面的内容是什么,参数的含义是什么
5 如何启动服务,怎么查看是否已经启动,端口号是多少
必须监听一个端口 ntp UDP-123 
6 这个软件和服务都部署好了,怎么验证,怎么使用

环境:Centos7.2

2 ntp服务

a 定义
客户端获取和同步时间
b 安装
NTP服务器监听端口为UDP的123,那就需要在本地防火墙开启运行客户端访问123端口,vi /etc/sysconfig/iptables添加如下规则:
-AINPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
关闭防火墙的命令:
service stop firewalld 
关闭Selinux软件服务:
Setenforce 0 临时关闭
Sestatus查看selinux的状态,为disabled就OK了。
NTP时间服务器配置:
yum install ntp ntpdate -y 即可!
修改ntp.conf配置文件
cp  /etp/ntp.conf /etc/ntp.conf.bak 
vi/etc/ntp.conf 只修改如下两行,把#号去掉即可!
server 127.127.1.0     #local clock
fudge  127.127.1.0stratum 10
以守护进程启动ntpd 
/etc/init.d/ntpd start 即可
(注意*: ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。)
以下是ntp服务器配置文件内容(局域网NTP,如果需要跟外网同步,添加外网server即可) 
driftfile  /var/lib/ntp/drift
restrict   default kod nomodify notrap nopeer noquery
restrict-6 default kod nomodify notrap nopeer noquery
restrict127.0.0.1 
restrict-6 ::1
server   127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10
includefile/etc/ntp/crypto/pw
keys  /etc/ntp/keys

c 查看安装的ntp路经
[root@57135test ~]# rpm -ql ntp |more
/etc/ntp.conf
[root@57135test ~]# systemctl restart ntpd
d  查看是否启动
[root@57135test ~]# ps -ef|grep ntp
ntp       23526      1  0 04:00 ?        00:00:00 /usr/sbin/ntpd -u ntp:ntp -g
root      23549  22795  0 04:01 pts/1    00:00:00 grep --color=auto ntp
e 服务器监听的所有端口
[root@57135test ~]# netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::3306                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN
[root@57135test ~]# netstat -nul
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 192.168.57.135:123      0.0.0.0:*                          
udp        0      0 127.0.0.1:123           0.0.0.0:*                          
udp        0      0 0.0.0.0:123             0.0.0.0:*                          
udp        0      0 0.0.0.0:25831           0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp6       0      0 fe80::20c:29ff:fe62:123 :::*                               
udp6       0      0 ::1:123                 :::*                               
udp6       0      0 :::123                  :::*                               
udp6       0      0 :::6678
注:
   ntp与ntpdate的区别
   服务端安装配置好ntp服务后,局域网内的其它机器可以直接使用ntpdate IP 可以保证局域网所有的服务器与时间服务器的时间保持一致
   ntpdate直接与时间服务器同步,可以配置到定时任务中
   [root@57135test ~]# ntpdate pool.ntp.org
f 配置时间同步客户机
crontab -e 
增加一行,在每天的6点10分与时间同步服务器进行同步
10 06 * * * /usr/sbin/ntpdate ntp-server的ip>>/usr/local/logs/crontab/ntpdate.log
分 时 日 月 周  命令 
注:命令要使用绝对路径,crontab精确到分钟
    安装:[root@57135test ~]# yum -y install crontab*
    重启:[root@57135test ~]# systemctl status crond

3 DHCP服务

a 定义
客户端动态获取IP地址
b安装
yum  install  dhcp* -y 即可,然后修改DHCP /etc/dhcpd.conf配置文件内容如下:
ddns-update-styleinterim;
ignoreclient-updates;
next-server 192.168.0.79;
filename "pxelinux.0";
allowbooting;
allow bootp;                
subnet 192.168.0.0 netmask 255.255.255.0 {
#--- default gateway
optionrouters        192.168.0.1;
optionsubnet-mask      255.255.255.0;
#  optionnis-domain       "domain.org";
#  option domain-name "192.168.0.10";
#  option domain-name-servers  192.168.0.11;
#  option ntp-servers      192.168.1.1;
#  option netbios-name-servers  192.168.1.1;
# ---Selects point-to-point node (default is hybrid). Don'tchange this unless
# -- youunderstand Netbios very well
#  option netbios-node-type 2;
range  dynamic-bootp 192.168.0.100 192.168.0.200;
host ns {
hardwareethernet  00:1a:a0:2b:38:81;
fixed-address 192.168.0.101;}
}
c 查看dhcp安装的路径
[root@57135test ~]# rpm -ql dhcp |more
/etc/NetworkManager
/etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/12-dhcpd
/etc/dhcp
/etc/dhcp/dhcpd.conf
d 启动
systemctl start dhcpd

4 Samba服务

a 定义
windows与linux之间文件共享
b 安装
yum -y install samba*
c 查看安装包
rpm -qa|grep samba
d 查看samba安装路径
rpm -ql samba|more
e 配置文件
[root@57135test samba]# ls
lmhosts  smb.conf  smb.conf.example
[root@57135test samba]# 
f 启动
sysctmctl start smb

5 nfs服务

a 定义
linux与linux之间文件共享
b 安装(服务端)
yum -y install nfs*
c 配置
NFS安装完毕,需要创建共享目录,共享目录在vi /etc/exports文件里面配置,可配置参数如下:
/data/      *(rw,no_root_squash,no_all_squash,sync)
第一列/data/表示需要共享的目录。
IP表示允许哪个客户端访问。
IP后括号里的设置表示对该共享文件的权限。
ro                      只读访问
rw                      读写访问
sync                    所有数据在请求时写入共享
all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash           保留共享文件的UID和GID(默认)
root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash           root用户具有根目录的完全管理访问权限
d 启动
systemctl restart nfs
[root@57135test samba]# systemctl restartrpcbind 远程协议调用
e 挂载(客户端)
mount –t  nfs  192.168.57.135:/data/    /mnt

6 ftp服务

a 定义
文件共享与传输服务,支持windows,linux
b 安装
yum -y install vsftpd*
c 查看配置文件在哪里
rpm -ql vsftp |more
d 启动
systemctl restart vsftpd
e 默认系统账户可登录ftp
f vsftp虚拟账户
1)安装(虚拟账户在db数据库中)
[root@57135test ~]# yum  install  pam*  libdb-utils libdb*--skip-broken  –y
上述为centos7安装方法,如果是红帽6.5.只需要
yum install db4*
2)创建并生成vsftpd数据库文件vi /etc/vsftpd/ftpusers.txt,内容如下:
第一行为FTP虚拟用户,登录用户名,第二行为密码,第三行为用户名,依次类推。
chy1
123456
chy2
123456
3)生成数据库文件命令:
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db
4)配置PAM验证文件:
在配置文件vi  /etc/pam.d/vsftpd 行首加入如下两行认证语句:(如果是32位,lib64需改成lib,如果RedHat,加入的语句不一样,需注意)
auth    sufficient      /lib64/security/pam_userdb.so     db=/etc/vsftpd/vsftpd_login
account sufficient      /lib64/security/pam_userdb.so      db=/etc/vsftpd/vsftpd_login
5)创建vsftpd映射本地用户:
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码,也不需要登录。主要用来做虚拟用户映射使用。
useradd -s /sbin/nologin ftpuser
6)修改完整版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_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
7)保存重启,重启后即可使用虚拟用户登录,这时候所有的虚拟用户共同使用/home/ftpuser目录上传下载,如果想使用自己独立的目录,可以在/etc/vsftpd/vsftpd_user_conf目录创建各自的配置文件,如给wugk创建独立的配置文件:
vi /etc/vsftpd/vsftpd_user_conf/chy1,内容如下,建立自己的FTP目录。
local_root=/home/ftpuser/wugk1
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
 要创建/home/ftpuser/chy1和/home/ftpuser/chy2
mkdir -p /home/ftpuser/{wugk,wugk1} ;
chown -R ftpuser:ftpuser/home/ftpuser
 重启,使用客户端登录FTP,测试即可
 遇到的问题:
 两个虚拟用户,一个没有问题,另一个目录还是/home/ftpuser(配置文件已经配置好)
 原因:权限问题,只需要chmod 755 即可
 local_root=/home/ftpuser/wugk1

7 vnc服务

1)安装桌面
[root@localhost ~]# yum groupinstall "X Window System" 
[root@localhost ~]# yum groupinstall "Desktop" 
如果没有组只需要安装kde和gnome
yum install kde*
yum install gnome*
2)安装vnc
a 查看本机是否已经安装vncserver
[root@localhost ~]rpm -qa|grep tigervnc
b 安装vncserver
[root@localhost ~]# yum -y install tigervnc-server
c、启动并设置vncserver密码
在第一次启动vncserver会提示输入密码,之后就需要使用vncpasswd命令
# vncserver
Password:
Verify:
d、修改/root/.vnc/xstartup文件
由于我们这里使用的centos系统,安装的是gnome桌面
[root@localhost ~]# sed -i 's/twm &/gnome-session &/' /root/.vnc/xstartup

e、修改/etc/sysconfig/vncservers文件
在这里文件中可以设置希望运行VNC桌面的用户,以及使用vncview连接时显示的屏幕分辨率。VNCSERVERS中的1表示VNC以桌面1运行,如果希望添加其他的桌面,可以修改配置
[root@localhost ~]# echo -e 'VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768"
' >> /etc/sysconfig/vncservers

f、设置为开机启动
[root@localhost ~]# chkconfig --add vncserver
[root@localhost ~]# chkconfig vncserver on

g、重启vncserver
[root@localhost ~]# service vncserver restart

h、防火墙端口开放
[root@localhost ~]# /sbin/iptables -I INPUT -p tcp --dport 5901 -j ACCEPT 
[root@localhost ~]# /etc/rc.d/init.d/iptables save

i、查看启动状况
# netstat -tulnp
          
注:如果通过VNC客户端来访问VNC则端口为5901