linux学习笔记-第二十五课-NFS与FTP

一、NFS

      NFS是Network File System的缩写,即网络文件系统。

      NFS服务器安装

      1、NFS服务器主要的软件是rpcbind(rhel 5中的版本叫portmap)和nfs-utils

           rpcbind:是RPC主程序,负责NFS端口的监听。

           nfs-utils:是NFS主程序

      我们只有通过yum或者RPM来安装就可以


     2、启动NFS

[root@web ~]# service nfs start
启动 NFS 服务:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]

    

     3、NFS服务端配置

# 编辑NFS服务端配置
[root@web data]# vim /etc/exports
# 配置的格式:服务端要共享的目录 允许访问共享目录的计算机(选项)
/data 192.168.1.*(rw,sync,all_squash,anonuid=500,anongid=500)

当配置更改之后需要使之生效,无需重启NFS服务

[root@web data]# exportfs -arv
exporting 192.168.1.*:/data
# -a 全部,对所有的共享目录
# -r 重新加载配置
# -v 显示当前共享的目录及他们的配置
# -u 取消一个或者多个共享目录




常用的客户端选项示例:
客户端选项
说明
ro
客户端只能以只读方式访问共享目录中的文件,不能写入,删除,创建
rw
对共享目录可读写
sync
同步写入,对数据的安全性有好处,但是降低效率
async
异步写入,效率高,但是对数据的安全性比较差
all_squash

不管登陆NFS的使用者身份是什么,都把它的UID和GID映射为匿名用户和

用户组一般是nfsnobody

no_all_squash
保留用户原来的UID和GID,不进行映射

anonuid=id

指定NFS服务器使用/etc/passwd文件中的UID为该值的用户作为匿名用户
anongid=id
指定NFS服务器使用/etc/passwd文件中的GID为该值的用户作为匿名用户组
root_squash

如果登陆NFS服务器使用共享目录的使用者是root,则把这个使用者的权限

映射为匿名用户

no_root_squash

如果登陆NFS服务器使用共享目录的使用者是root,那么就保留它的root的

权限,不映射为匿名用户,不建议使用,影响安全性




       4、客户端的使用

             客户端如果想要使用NFS的共享目录,也需要在客户安装并启动rpcbind服务

# 查看NFS服务端共享目录的列表
[root@mysql mnt]# showmount -e 192.168.1.10
Export list for 192.168.1.10:
/data 192.168.1.*
# 挂载共享目录
# 挂载的格式:mount [选项] NFS服务器IP或主机名:共享目录 挂载点
# 常用选项:-t nfs 指定要挂载的文件系统类型为NFS
[root@mysql ~]# mount -t nfs 192.168.1.10:/data  /mnt
[root@mysql ~]# df -t nfs
Filesystem          1K-blocks    Used Available Use% Mounted on
192.168.1.10:/data/  16180224 1676544  13675008  11% /mnt


二、FTP

      Puer-FTP:是一个高效,简单,安全的FTP服务器软件,功能多,使用



      1、Puer-FTP

      pure-ftp可以用源码包进行编译安装,也可以通过yum源进行安装,源码安装在这里就不讲了,今天我们通过用yum安装

# yum安装前先要安装扩展源
[root@web ~]# yum install -y epel-release
[root@web ~]# yum list |grep pure-ftpd
pure-ftpd.i686                             1.0.30-1.el6                  epel
pure-ftpd-selinux.i686                     1.0.30-1.el6                  epel
[root@web ~]# yum install -y pure-ftpd
# 编辑配置文件
[root@web ~]# vim /etc/pure-ftpd/pure-ftpd.conf
# 默认参数不需要去修改什么,就可以直接用,有一些地方需要注意一下
ChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 no
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
# 数据类型,这里我们使用pureftpd.pdb,这个功能需要打开
PureDB                        /etc/pure-ftpd/pureftpd.pdb
PAMAuthentication             yes
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   yes
Umask                       133:022
MinUID                      500
UseFtpUsers                 no
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         yes
AltLog                     clf:/var/log/pureftpd.log
MaxDiskUsage               99
CustomerProof              yes

      2、创建连接用的虚拟用户

# 创建一个系统用户
[root@web ~]# useradd -s /sbin/nologin testftp
# 在创建一个匿名用户,并把这个用户挂依靠到指定的系统用户下,指定匿名用户家目录
[root@web ~]# pure-pw useradd ftp_user1 -u testftp -d /data/ftpuser1
Password:
Enter it again:
# 列出已经创建的匿名用户及其家目录
[root@web ~]# pure-pw list
ftp1                /data/www/./
ftp_user1           /data/ftpuser1/./
# 生成数据库
[root@web ~]# pure-pw mkdb
# 启动pureftpd
[root@web ~]# /etc/init.d/pure-ftpd start
正在启动 pure-ftpd:                                       [确定]

       3、在客户端上的登陆与访问

       在客户端需要安装lftp,进行登陆工作

[root@mysql ~]# yum install -y lftp
# 格式 lftp 匿名用户@ftp服务器地址
[root@mysql ~]# lftp [email protected]
口令:
lftp [email protected]:~> ls
drwxr-xr-x    2 0          0                4096 May 24 11:12 .
drwxr-xr-x    2 0          0                4096 May 24 11:12 ..





      vsftpd:安全,稳定,高性能的开源FTP服务器软件

      虚拟用户认证

      1、yum 安装vsftpd与db4-utils

[root@web ~]# yum install -y vsftpd db4-utils
[root@web ~]# /etc/init.d/vsftpd start
为 vsftpd 启动 vsftpd:                                    [确定]
[root@web ~]# useradd virftp -s /sbin/nologin
[root@web ~]# vim  /etc/vsftpd/vsftpd_login
hp
1
lenovo
2
[root@web ~]# chmod 600 /etc/vsftpd/vsftpd_login
[root@web ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@web ~]# mkdir  /etc/vsftpd/vsftpd_user_conf
[root@web ~]# cd /etc/vsftpd/vsftpd_user_conf
[root@web vsftpd_user_conf]# vim hp
local_root=/data/virftp/hp
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

[root@web vsftpd_user_conf]# ls
hp  lenovo
[root@web vsftpd_user_conf]# mkdir -p /data/virftp/hp
[root@web vsftpd_user_conf]# mkdir -p /data/virftp/lenovo
[root@web vsftpd_user_conf]# chown -R virftp.virftp /data/virftp/hp/
[root@web vsftpd_user_conf]# chown -R virftp.virftp /data/virftp/lenovo/
[root@web vsftpd_user_conf]# 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
[root@Samba vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
# 修改的内容
anonymous_enable=YES改为anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
# 增加的内容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
[root@web ~]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

       对于iptables的设置需要开发默认21监听端口,在设置数据传输端口

       示例:

[root@web ~]# vim /etc/vsftpd/vsftpd.conf
# 增加内容
pasv_min_port=6000
pasv_max_port=7000
[root@web ~]# iptables -I INPUT -p tcp --dport 6000:7000 -j ACCEPT
[root@Samba OS]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]



本文出自 “Topspeed_King” 博客,请务必保留此出处http://mylinuxlife.blog.51cto.com/4706737/1654913

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。