centos6.5实验文档
安装centos6.5
常见问题
主机名
[root@server ~]# vim /etc/sysconfig/network
有的时候通过上面的方法无法修改,使用以下方法
[root@server ~]# vim /etc/hosts
127.0.0.1 client localhost.localdomain localhost4 localhost4.localdomin 2#在127.0.0.1后面添加需要修改的主机名
::1 localhost localhost.localdomain localhost6 localhost6.locadomain6#
[root@server ~]# reboot
yum仓库
DNS服务
DNS主服务
实验环境
server | centos 6.5 | 192.168.80.21 |
---|---|---|
client | centos 6.5 | 192.168.80.22 |
clinet2 | centos6.5 | 192.168.80.23 |
实验需求
1:在server上搭建DNS服务将以下ip进行解析
2:在client1上做DNS从属服务器,clinet2DNS指向1可以做解析
dns.qq.com | 192.168.80.21 |
---|---|
web.qq.com | 192.168.80.22 |
www.qq.com | 192.168.80.23 |
实验思路
1:安装bind
2:正向解析
3:反向解析
实验步骤
基础环境配置
[root@server named]# setenforce 0
[root@server named]# service iptables stop
第一步:安装bind程序(用来管理域名解析服务的程序)
主配置文件 | /etc/named.conf | 定义bind程序运行的参数 |
---|---|---|
区域配置文件 | /etc/named.rfc1912.zones | 保存域名与ip的对应关系所在位置 |
数据配置文件目录 | /etc/named | 保存真实的域名与ip的对应关系 |
[root@server ~]# yum install -y bind
第二步:编写主配置文件
[root@server ~]# vim /etc/named.conf
10 options { #全局变量配置
11 listen-on port 53 { any; }; #ipv4监听端口,这里修改为any
12 # listen-on-v6 port 53 { ::1; }; #ipv6监听端口 ,这里注释掉
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { any; }; #允许访问列表 ,这里修改为any
37 zone "." IN {
38 type hint; #将这个文件复制两份,放在下面来写
39 file "named.ca";
41 zone "qq.om" IN { #需要解析的域名
42 type master; #服务类型:主区域
43 file "a"; #正向解析文件名
44 };
45 zone "80.168.192.in-addr.arpa" IN { #该网段反向解析区域
46 type master; #服务类型:主区域
47 file "b"; #反向解析文件名
48 };
服务类型 | |
---|---|
hint | 根区域 |
master | 主区域 |
slave | 辅助区域 |
第三步:配置正向解析
[root@server ~]# cd /var/named/
[root@server named]# cp named.loopback a
[root@server named]# cp named.loopback b
[root@server named]# chown :named a
[root@server named]# chown :named b
[root@server named]# ll
总用量 36
-rw-r-----. 1 root named 168 7月 28 11:07 a
-rw-r-----. 1 root named 168 7月 28 11:07 b
drwxrwx---. 2 named named 4096 8月 27 2013 data
drwxrwx---. 2 named named 4096 8月 27 2013 dynamic
-rw-r-----. 1 root named 1892 2月 18 2008 named.ca
-rw-r-----. 1 root named 152 12月 15 2009 named.empty
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
-rw-r-----. 1 root named 168 12月 15 2009 named.loopback
drwxrwx---. 2 named named 4096 8月 27 2013 slaves
[root@server named]# vim a
$TTL 1D
@ IN SOA qq.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.qq.com.
dns A 192.168.80.21
web A 192.168.80.22
www A 192.168.80.23
第四步:配置反向代理
[root@server named]# vim b
$TTL 1D
@ IN SOA qq.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.qq.com.
21 PTR dns.qq.com.
22 PTR web.qq.com.
23 PTR www.qq.com.
第五步:重启服务
[root@server ~]# service named restart
第六步:在client1检查解析结果
[root@client1 ~]# yum install -y bind* #里面包含了nslookup命令干脆直接下载
[root@client1 ~]# vim /etc/resolv.conf #指定DNS
nameserver 192.168.80.21
[root@client1 ~]# nslookup
> www.qq.com
Server: 192.168.80.21
Address: 192.168.80.21#53
Name: www.qq.com
Address: 192.168.80.23
>
DNS从属服务
本环境全是以上DNS主服务的环境,此处不再过多讲述
基础配置:同步时间(主从服务器都得同步时间)
[root@server ~]#yum install -y ntpdate
[root@server ~]#ntpdate ntp.api.bz#同步时间
[root@client1 ~]#yum install -y ntpdate
[root@client1 ~]#ntpdate ntp.api.bz#同步时间
第一步:在主服务器上(server)编辑主配置文件
[root@server ~]# vim /etc/named.conf
41 zone "qq.com" IN {
42 type master;
43 file "a";
44 allow-transfer { 192.168.80.22; }; #允许备份
45 };
46 zone "80.192.168.in-addr.arpa" IN {
47 type master;
48 file "b";
49 allow-transfer { 192.168.80.22; }; #允许备份
50 };
第二步:写正反向解析:添加一条NS记录和A记录
[root@server ~]# vim /var/named/a
$TTL 1D
@ IN SOA qq.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.qq.com.
dns A 192.168.80.21
web A 192.168.80.22
www A 192.168.80.23
@ IN NS server1.qq.com. #添加一条NS记录
server1 A 192.168.80.24 #添加条A记录
第三步:写反向解析
[root@server ~]# vim /var/named/b
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.qq.com.
21 PTR dns.qq.com.
22 PTR web.qq.com.
23 PTR www.qq.com.
24 PTR service1.qq.com. #添加条反向解析
@ IN NS service1.qq.com. #添加条NS记录
第四步:重启服务
[root@server ~]# service named restart
第五步:在从服务器上编写主配置文件
[root@client1 ~]# service iptables
[root@client1 ~]# setenforce 0
[root@client1 ~]# yum install -y bind*
[root@client1 ~]# vim /etc/named.conf
11 listen-on port 53 { any; };
12 # listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { any; };
18 recursion yes;
19
20 dnssec-enable no; #zhe
21 dnssec-validation no;
40 zone "qq.com" IN {
41 type slave; #从服务
42 file "slave/a"; #从服务/ 主服务器的正向解析文件名
43 masters {192.168.80.21; }; #指定主服务器
44 };
45 zone "80.168.192.in-addr.arpa" IN {
46 type slave; #从服务
47 file "slave/b"; #从服务/从服务器的反向解析文件名
48 masters {192.168.80.21; }; #指定从服务器
49 };
第六步:重启从服务器named服务
[root@client1 ~]# service named restart
第七步:用server2进行测试
[root@client1 ~]# yum install -y bind-utils #下载nslookup命令 (其实建议直接下载bind*全部都包括了)
[root@client1 ~]# yum install -y bind*
[root@client1 ~]# vim /etc/resolv.conf #指定DNS为server1
nameserver 192.168.80.22
[root@client1 ~]# nslookup
> www.qq.com
Server: 192.168.80.22
Address: 192.168.80.22#53
Name: www.qq.com
Address: 192.168.80.23
>
NFS
实验环境
server1 | 192.168.80.21 |
---|---|
client1 | 192.168.80.22 |
windows server 2012 | 192.168.80.25 |
匿名访问
[root@server ~]# service iptables stop
[root@server ~]# setenforce 0
[root@server ~]# yum install -y nfs-utils
[root@server ~]# service rpcbind start
[root@server ~]# service nfs start
[root@server ~]# mkdir /opt/a1
[root@server ~]# mkdir /opt/a2
[root@server ~]# chmod o+x /opt/a1
[root@server ~]# chmod o+x /opt/a2
[root@server ~]# vim /etc/exports
/opt/a1 192.168.80.22/24(rw)
/opt/a2 192.168.80.22/24(ro)
/opt/a1 192.168.80.25/24(rw)
/opt/a2 192.168.80.25/24(ro)
[root@server ~]# service rpcbind restart
[root@server ~]# service nfs restart
测试
centos:
[root@client1 ~]# yum install -y nfs-utils
[root@client1 ~]# mkdir /opt/a1
[root@client1 opt]# mount -t nfs 192.168.80.21:/opt/a1 /opt/a1
[root@client1 ~]# cd /opt/a1
[root@client1 a1]# mkdir aa
去服务端查看
[root@server ~]# ls /opt/a1
aa
windows 测试
安装nfs客户端
把nfs共享文件夹映射为网络驱动器
showmount -e 192.168.80.21
mount \\192.168.80.21\opt\a3 k:
·去主服务器看一下
[root@server ~]# ls /opt/a3
123
用户访问
在之前的环境上做
[root@server ~]# vim /etc/exports
/home/gt1 192.168.80.22/24(rw)
/home/gt2 192.168.80.22/24(ro)
/home/gt3 192.168.80.25/24(rw)
/home/gt4 192.168.80.25/24(ro)
[root@server ~]# exportfs -r #重新加载
[root@server ~]# userad gt1
[root@server ~]# userad gt2
[root@server ~]# userad gt3
[root@server ~]# userad gt4
[root@server ~]# service nfs restart
[root@server ~]# chmod 777 /home/gt3 #不知道为什么windows下的需要给权限才能用
[root@server ~]# chmod 777 /home/gt4 #
centos下测试
centos
[root@client1 ~]# useradd gt1
[root@client1 ~]# useradd gt2
[root@client1 ~]# vim /etc/fstab
192.168.80.21:/home/gt1 /home/gt1 nfs defaults,_netdev 0 0
192.168.80.21:/home/gt2 /home/gt2 nfs defaults,_netdev 0 0
[root@client1 ~]# mount -a
[root@client1 ~]# su - gt1
[gt1@client1 ~]$ ls
haha
[gt1@client1 ~]$ mkdir aa
[gt1@client1 ~]$ ls
aa haha
[gt1@client1 ~]$
windows下测试
打开管理员模式的cmd
net user gt3 123.com /add
net user gt4 123.com /add
切换用户为gt3
打开普通管理员cmd
showmount -e 192.168.80.21
mount \\192.168.80.21\home\gt3 k:
切换用户为gt4
打开普通管理员cmd
showmount -e 192.168.80.21
mount \\192.168.80.21\home\gt3 f:
实验环境
server centos6.5 192.168.80.21
client centos6.5 192.168.80.22
实验需求
name实际共享路径:/opt/you
kpl实际共享路径:/opt/hn
1:在server搭建samba服务,共享名为name和kpl,所有人都能访问,不需要用户验证,但是,只能在name中写,kpl中所有的人只有只读的权限。
2:现有组uo,该组成员user1,user2能对name进行读写操作,而组po成员user3,user4只能对name有读的操作,对于共享目录kpl,则权限相反
实验步骤
实验一
#服务端操作
[root@server ~]# yum install -y samba
[root@server ~]# vim /etc/samba/smb.conf
101 行 security = share #第101行修改为share(匿名访问)
[name]
comment = gongxiangwenjian #自定义共享名称
path = /opt/you #共享路径
public = yes #允许匿名访问
writable = yes #可写
browseable = yes #是否可浏览
create mask = 0644 #设置上传的文件的权限
directory mask = 0755 #设置创建的目录的权限
[kpl]
comment = gongxiangwenjian #注释
path = /opt/hn #路径
public = yes #允许匿名访问
writable = no #可写
browseable = yes #可浏览
create mask = 0644 #设置上传的文件的权限
directory mask = 0755 #设置创建的目录的权限
[root@server samba]# mkdir /opt/you
[root@server samba]# mkdir /opt/hn
[root@server samba]# chmod o+w /opt/you
[root@server samba]# chmod o+w /opt/hn
[root@server samba]# service smb start
[root@server samba]# service nmb start
[root@server samba]# setenforce 0
[root@server samba]# service iptables stop
#客户端操作
[root@client ~]# yum install -y samba-client cifs-utils
[root@client ~]# smbclient //192.168.80.21/name -U share
Enter share's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
Server not using user level security and no password supplied.
smb: \>
smb: \>
[root@client ~]# mkdir /root/op
[root@client ~]# mount -t cifs //192.168.80.21/name /root/op -o username=share
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 `在这里插入代码片` 20G 1002M 18G 6% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 124M 27M 92M 23% /boot
/dev/sr0 4.2G 4.2G 0 100% /mnt
//192.168.80.21/name 20G 989M 18G 6% /root/op
[root@client ~]# cd op
[root@client op]# ls
[root@client op]# mkdir aa
[root@client op]# ls
aa
[root@client op]# mkdir /root/kpl
[root@client op]# mount -t cifs //192.168.80.21/kpl /root/kpl -o username=share
Password:
[root@client op]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 1003M 18G 6% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 124M 27M 92M 23% /boot
/dev/sr0 4.2G 4.2G 0 100% /mnt
//192.168.80.21/name 20G 990M 18G 6% /root/op
//192.168.80.21/kpl 20G 990M 18G 6% /root/kpl
[root@client op]# cd /root/kpl/
[root@client kpl]# ls
[root@client kpl]# mkdir aaaaa
mkdir: 无法创建目录"aaaaa": 权限不够
实验成功
实验二
本实验为全新环境,所以smb服务从新下载
#服务端操作
[root@zl ~]# yum install -y samba
[root@zl ~]# vim /etc/samba/smb.conf
[name]
comment = gongxiangwenjian
path = /opt/you
public = no
writable = yes
write list = @uo
read only=yes
browseable = yes
[kpl]
comment = gongxiangwenjian
path = /opt/hn
public = no
writable = yes
write list=@po
read only=yes
[root@zl ~]# mkdir /opt/you
[root@zl ~]# mkdir /opt/hn
[root@zl ~]# chmod 777 /opt/you
[root@zl ~]# chmod 777 /opt/hn
[root@zl ~]# useradd user1
[root@zl ~]# useradd user2
[root@zl ~]# useradd user3
[root@zl ~]# useradd user4
[root@zl ~]# groupadd up
[root@zl ~]# groupadd op
[root@zl ~]# groupadd uo
[root@zl ~]# groupadd po
[root@zl ~]# usermod -g uo user1
[root@zl ~]# usermod -g uo user2
[root@zl ~]# usermod -g po user3
[root@zl ~]# usermod -g po user4
[root@zl ~]# setfacl -m g:uo:rwx /opt/you
[root@zl ~]# setfacl -m g:po:rwx /opt/hn
[root@zl ~]# setenforce 0
[root@zl ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
s[root@zl ~]# service smb start
Starting SMB services: [ OK ]
[root@zl ~]# service nmb start
Starting NMB services: [ OK ]
[root@zl ~]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.
[root@zl ~]# smbpasswd -a user2
New SMB password:
Retype new SMB password:
Added user user2.
[root@zl ~]# smbpasswd -a user3
New SMB password:
Retype new SMB password:
Added user user3.
[root@zl ~]# smbpasswd -a user4
New SMB password:
Retype new SMB password:
Added user user4.
[root@zl ~]# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@zl ~]# service nmb restart
Shutting down NMB services: [ OK ]
Starting NMB services: [ OK ]
##客户端
[root@zl ~]# yum install -y samba-client cifs-utils
[root@zl ~]# mkdir user1
[root@zl ~]# mkdir user2
[root@zl ~]# mkdir user3
[root@zl ~]# mkdir user4
[root@zl ~]# mkdir user11
[root@zl ~]# mkdir user12
[root@zl ~]# mkdir user13
[root@zl ~]# mkdir user14
[root@zl ~]# mount -t cifs //192.168.80.21/name /root/user1 -o username=user1,password=123
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[root@zl ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 1009M 18G 6% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 124M 27M 92M 23% /boot
/dev/sr0 4.2G 4.2G 0 100% /mnt
[root@zl ~]# mount -t cifs //192.168.80.21/name /root/user1 -o username=user1,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/name /root/user2 -o username=user2,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/name /root/user3 -o username=user3,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/name /root/user4 -o username=user4,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/kpl /root/user1 -o username=user1,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/kpl /root/user11 -o username=user1,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/kpl /root/user12 -o username=user2,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/kpl /root/user13 -o username=user3,password=123
[root@zl ~]# mount -t cifs //192.168.80.21/kpl /root/user14 -o username=user4,password=123
[root@zl ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 1011M 18G 6% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 124M 27M 92M 23% /boot
/dev/sr0 4.2G 4.2G 0 100% /mnt
//192.168.80.21/name 20G 991M 18G 6% /root/user1
//192.168.80.21/name 20G 991M 18G 6% /root/user2
//192.168.80.21/name 20G 991M 18G 6% /root/user3
//192.168.80.21/name 20G 991M 18G 6% /root/user4
//192.168.80.21/kpl 20G 991M 18G 6% /root/user11
//192.168.80.21/kpl 20G 991M 18G 6% /root/user12
//192.168.80.21/kpl 20G 991M 18G 6% /root/user13
//192.168.80.21/kpl 20G 991M 18G 6% /root/user14
[root@zl ~]# cd user1
[root@zl user1]# mkdir 11
[root@zl user1]# ls
11
[root@zl user1]# cd
[root@zl ~]# cd user 3
-bash: cd: user: 没有那个文件或目录
[root@zl ~]# cd user33
-bash: cd: user33: 没有那个文件或目录
[root@zl ~]# cd user3
[root@zl user3]# ls
11
[root@zl user3]# mkdir 22
mkdir: 无法创建目录"22": 权限不够
[root@zl user3]# cd
[root@zl ~]# cd user2
[root@zl user2]# mkdir 22
[root@zl user2]# ls
11 22
[root@zl user2]# cd
[root@zl ~]# cd
[root@zl ~]# cd user3
[root@zl user3]# cd
[root@zl ~]# cd user4
[root@zl user4]# mkdir 4
mkdir: 无法创建目录"4": 权限不够
[root@zl user4]# cd
[root@zl ~]# cd user11
[root@zl user11]# mkdir 11
mkdir: 无法创建目录"11": 权限不够
[root@zl user11]# cd
[root@zl ~]# mkdir 12
vsftp实验
实验环境
server centos6.5 192.168.80.21
client windows service 2012 192.168.80.22
实验需求
1:在server上搭建vsftp服务,client实现匿名访问,并创建文件夹
2:client实现虚拟用户访问,并创建文件夹
可使用参数以及文件
参数 | 作用 |
---|---|
anonymous_enable=YES 启用匿名用户登录anon_upload_enable=YES | 允许匿名用户上传 |
anon_mkdir_write_enable=YES | 允许匿名用户创建目录,但是不能删除 |
anon_other_write_enable=YES | 允许匿名用户创建和删除目录 |
local_enable=YES | 启用本地用户登录 |
write_enable=YES | 允许本地用户有写权限 |
local_umask=022 | 通过ftp上传文件的默认遮罩码 |
chroot_local_user=YES | 禁锢所有的ftp本地用户于其家目录中 |
chroot_list_enable=YES | 开启禁锢文件列表需要与chroot_list_file参数一起使用 |
chroot_list_file=/etc/vsftpd/chroot_list | 指定禁锢列表文件路径在此文件里面的用户将被禁锢在其家目录中 |
allow_writeable_chroot=YES | 允许被禁锢的用户家目录有写权限 |
xferlog_enable=YES | 是否启用传输日志,记录ftp传输过程 |
xferlog_std_format=YES | 传输日志是否使用标准格式 |
xferlog_file=/var/log/xferlog | 指定传输日志存储的位置 |
chown_uploads=YES | 是否启用改变上传文件属主的功能 |
chown_username=whoever | 指定要将上传的文件的属主改为哪个用户此用户必须在系统中存在 |
pam_service_name=vsftpd | 指定vsftpd使用/etc/pam.d下的哪个pam配置文件进行用户认证 |
userlist_enable=YES | 是否启用控制用户登录的列表文件:默认为/etc/vsftpd/user_list文件 |
userlist_deny=YES | 是否拒绝userlist指定的列表文件中存在的用户登录ftp |
max_clients=# | 最大并发连接数 |
max_per_ip=# | 每个IP可同时发起的并发请求数 |
anon_max_rate | 匿名用户的最大传输速率,单位是“字节/秒” |
local_max_rate | 本地用户的最大传输速率,单位是“字节/秒” |
dirmessage_enable=YES | 启用某目录下的.message描述信息假定有一个目录为/upload,在其下创建一个文件名为.message,在文件内写入一些描述信息,则当用户切换至/upload目录下时会自动显示…message文件中的内容 |
message_file | 设置访问一个目录时获得的目录信息文件的文件名,默认是.message |
idle_session_timeout=600 | 设置默认的断开不活跃session的时间 |
data_connection_timeout=120 | 设置数据传输超时时间 |
ftpd_banner=“Welcome to chenlf FTP service.” | 定制欢迎信息,登录ftp时自动显示 |
- 文件:
- ftpuser:总是生效,相当于黑名单,拒绝其中的用户登录
- user_list:当vsftpd.config中的userlist_enable=YES,且userlist_deny=YES时,user_list文件相当于黑名单。当userlist_enable=YES,但userlist_deny=NO时,user_list文件相当于白名单,但是只有文件内的用户能登录;当都userlist_enable=NO时,则本地和user_list中的用户都可登录
实验步骤
匿名访问
[root@server vsftpd]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@server vsftpd]# setenforce 0
[root@server etc]# yum install -y vsftpd
[root@server etc]# cd /etc/vsftpd
[root@server vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@server vsftpd]# vim vsftpd.conf
anonymous_enable=YES //允许匿名登录
anon_upload_enable=YES //允许匿名上传
anon_mkdir_write_enable=YES //允许匿名创建文件夹,但是不能删除
anon_other_write_enable=YES //允许匿名创建和删除
[root@server ~]# cd /var/ftp
[root@server ftp]# ll //此处为匿名用户访问路径
总用量 4
drwxr-xr-x. 2 root root 4096 3月 22 2017 pub
//但是可以发现没有写的权限,ftp访问也要基于现有的权限,所以想要写,那需要给pub其他人有写的权限
[root@server ftp]# chmod o+w pub/
[root@server vsftpd]# service vsftpd restart
- Windows 测试
虚拟用户访问
#第二个实验是全新的环境
[root@server etc]# yum install -y vsftpd
[root@server etc]# yum install -y db* pam* #用网络源下载
[root@server ~]# touch /etc/vsftpd/ftpusers.txt
[root@server ~]# vim /etc/vsftpd/ftpusers.txt //虚拟登录用户
//奇数行为用户名,偶数行为密码
tom
123
gt
123
[root@server vsftpd]# db_load -T -t hash -f ftpusers.txt ftpusers.db //生成.db文件
[root@server vsftpd]# vim /etc/pam.d/vsftpd
//添加,此处/lib64是该系统为64位操作系统,可使用uname -a查看
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/ftpusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/ftpusers
[root@server vsftpd]# useradd -d /home/ftpusers -s /bin/nologin ftpusers //创建一个虚拟用户共同登录当本机的本地用户,并且默认使用的是该用户的家目录
[root@server vsftpd]# vim vsftpd.conf
//开启基于ascii的上传和下载
ascii_upload_enable=YES
ascii_download_enable=YES
guest_enable=YES //允许虚拟用户访问
guest_username=ftpusers //指定映射的本机用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf //可在该目录下对虚拟用户做单独的配置文件
virtual_use_local_privs=YES //使虚拟用户于本地用户有相同权限
[root@server vsftpd]# service vsftpd restart //重启服务
//windows连接测试,服务器目录查看
[root@server vsftpd]# ls /home/ftpusers/
新建文本文档.txt
[root@server vsftpd]# mkdir vsftpd_user_conf
[root@server vsftpd]# vim vsftpd_user_conf/gt //该目录下的文件于虚拟用户同名
[root@server vsftpd]# cat vsftpd_user_conf/gt
local_root=/opt/kl //指定通过gt登录的家目录,但实际上还是通过ftpusers进入到本机,只不过换了个目录
//此处如果要测试,因为没有真实的gt用户,所以该用户对于目录相当于是其他人,需要给予该目录其他人写的权限。
[root@server vsftpd]# chmod o+rwx /opt/kl
[root@server vsftpd]# service vsftpd restart
WEB服务
配置服务文件参数
配置文件路径
文件参数
基本配置
[root@server ~]# service iptables stop
[root@server ~]# setenforce 0
1:安装Apache服务程序(Apache的软件包名称为httpd)
[root@server ~]# yum install -y httpd
2:开启服务并加入开机自启
[root@server ~]# service httpd start
[root@server ~]# service httpd start
测试(用本主机的ip访问:)192.168.80.21
网站基础配置
[root@server ~]# vim /etc/httpd/conf/httpd.conf
136 Listen 8090 #默认访问端口(默认80,这里改为8090)
292 DocumentRoot "/qq" #网站默认页面储存路径(这里改为/qq)
[root@server ~]# echo "123"> /qq/index.html #在路径里面写一个index.php文件
[root@server ~]# service httpd restart
测试
用户个人主页
[root@server ~]# vim /etc/httpd/conf/httpd.conf
366 #UserDir disabled //注释该行
373 UserDir public_html //取消该行注释
//381-392都取消注释
381 <Directory /home/*/public_html>
382 AllowOverride FileInfo AuthConfig Limit
383 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
384 <Limit GET POST OPTIONS>
385 Order allow,deny
386 Allow from all
387 </Limit>
388 <LimitExcept GET POST OPTIONS>
389 Order deny,allow
390 Deny from all
391 </LimitExcept>
392 </Directory>
[root@server ~]# useradd zl
[root@server ~]# su - zl
[gt@server ~]$ mkdir public_html
[gt@server ~]$ echo "zl" > public_html/index.html
[gt@server ~]$ ls public_html/
index.html
[gt@server ~]$ cat public_html/index.html
zl
[gt@server ~]$ exit
logout
[root@server ~]# chmod 755 -R /home/gt/ #因为是zl的家目录,所以得给个权限
[root@server ~]# service httpd reatart
//访问方式:浏览器http://192.168.80.21:8090/~zl/ 后面是对应的用户名
既然是个人主页肯定要设置密码啊
[root@server ~]# htpasswd -c /etc/httpd/passwd gt
[root@server ~]# vim /etc/httpd/conf/httpd.conf
381-396行取消注释
381 <Directory /home/*/public_html>
382 AllowOverride FileInfo AuthConfig Limit
383 Options MultiViews Indexes SymLinksIfOwnerMatch In cludesNoExec
384 authuserfile "/etc/httpd/passwd" #密码存放路径
385 authname "zl,welcome" #登陆时说的一句话
386 aut htype basic #加密类型
387 require user zl #验证用户名
388 <Limit GET POST OPTIONS>
389 Order allow,deny
390 Allow from all
391 </Limit>
392 <LimitExcept GET POST OPTIONS>
393 Order deny,allow
394 Deny from all
395 </LimitExcept>
396 </Directory>
[root@server ~]# service httpd restart
测试
http://192.168.80.21:8090/~zl/
虚拟目录访问
[root@server ~]# vim /etc/httpd/conf/httpd.conf
//末尾添加
Alias /test "/yum" //设置虚拟别名 test
<Directory "/yum"> //真实物理路径
Options Indexes MultiViews FollowSymLinks //固定格式,其实就是options里面的选项设置
AllowOverride None //同理。
AuthName "test" //设置访问时验证的一段话
authtype basic
authuserfile /opt/pass //设置密码账号验证的存放路径
require valid-user //文件里面允许的用户才能验证成功
Order allow,deny //优先验证允许的用户。其它的都是拒绝
Allow from all //所有用户都允许
Require all granted //对目录设置权限
</Directory>
[root@server ~]# htpasswd -c /opt/pass tom
New password:
Re-type new password:
Adding password for user tom
[root@server ~]# service httpd restart
//访问方式:浏览器:http://192.168.80.21/test/ 后面是虚拟目录的名称
同端口不同ip
[root@server conf]# vim httpd.conf
<VirtualHost 192.168.80.21:8090>
# ServerAdmin webmaster@dummy-host.example.com //服务器邮箱
DocumentRoot /opt/web1/ //指定网站路径
# ServerName dummy-host.example.com //该网站域名
# ErrorLog logs/dummy-host.example.com-error_log //错误日志存放名字
# CustomLog logs/dummy-host.example.com-access_log common //访问日志存放名字
</VirtualHost>
<VirtualHost 192.168.80.22:8090>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/web2
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
[root@server conf]# ip a add 192.168.80.22/24 dev eth0 //临时增加一个虚拟IP。重启network服务或关机后消失
[root@server conf.d]# mkdir /opt/web1 //创建网站目录
[root@server conf.d]# mkdir /opt/web2 //创建网站目录
[root@server conf.d]# echo 11111111111111 > /opt/web1/index.html //写入内容
[root@server conf.d]# echo 22222222222222 > /opt/web2/index.html //写入内容
[root@server conf]# service httpd restart
测试
同ip不同端口
<VirtualHost 192.168.80.21:8090>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/web1/
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
listen 900 //新加一个900得的端口
<VirtualHost 192.168.80.21:900> //此处要修改监听的端口
# ServerAdmin webmaster@dummy- host.example.com
DocumentRoot /opt/web2
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
[root@server conf]# service httpd restart
//测试900时记得带端口
测试
https
[root@server ~]# yum install -y httpd
[root@server ~]# service iptables stop
[root@server ~]# cd /var/www
[root@server www]# ls
cgi-bin error html icons
[root@server www]# mv html aa
[root@server www]# vim index.html
aaaaa
[root@server www]# chmod 777 /var/www
[root@server www]# service httpd restart
[root@server www]# vim /etc/httpd/conf/httpd.conf
292 DocumentRoot "/var/www/"
搭建https
[root@server ~]# openssl genrsa -out server.key 1024 //私钥
Generating RSA private key, 1024 bit long modulus
...........................++++++
.........................++++++
e is 65537 (0x10001)
[root@server ~]# openssl req -new -x509 -days 365 -key server.key -out server.crt //自签证书
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:cn //国家代码
State or Province Name (full name) []:hubei //省份
Locality Name (eg, city) [Default City]:wuhan //城市
Organization Name (eg, company) [Default Company Ltd]:lao //公司
Organizational Unit Name (eg, section) []:server //主机
Common Name (eg, your name or your server's hostname) []:www1.kk.com //域名,此处域名,最好和你要https的域名一样
Email Address []:dw //邮箱
//复制文件到对应的目录下
[root@server ~]# cp server.crt /etc/pki/tls/certs
[root@server ~]# cp server.key /etc/pki/tls/private
[root@server ~]# yum install -y mod_ssl
[root@server ~]# vim /etc/httpd/conf.d/ssl.conf
///末尾添加
<VirtualHost *:443>
DocumentRoot "/var/www" //自己的网站目录
ServerName www1.qq.com //域名
--------------------这一段其实就是将ssl.conf里面有的复制下来,应用的到单个虚拟主机里面
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLCertificateFile "/etc/pki/tls/certs/server.crt" //修改,因为前面复制就是复制到这里的
SSLCertificateKeyFile "/etc/pki/tls/private/server.key" //修改,因为前面复制就是复制到这里的
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/opt/web1"> //自己的网站目录
SSLOptions +StdEnvVars
</Directory>
----------------------
</VirtualHost>
//想添加多个就把上面的再复制一遍,改一下域名和网站目录
NameVirtualHost *:443
SSLStrictSNIVHostCheck off
[root@server ~]# vim /etc/httpd/conf/httpd.conf
//找找自己有没有这个。没有就添加。
Include conf.d/*.conf //引用conf.d目录下所有以.conf结尾的文件
#Listen 80 //注销
[root@server ~]# service httpd restart
在windows上做一个域名解析,将网关指向windows
[root@server ~]# vim /etc/resolv.conf
nameserver 192.168.80.25