NFS/FTP服务配置

一、NFS


1、NFS简介


NFS全称是network file system


NFS允许一个系统在网络上与他人共享目录和文件,用户和程序可以像访问本地文件一样访问远端系统上的文件。


2、安装、配置NFS服务


(1)需要安装(nfs-utils和rpcbind)


yum install -y nfs-ultils
yum install -y rpcbind

(2)配置服务:


vim /etc/exports


添加:


/home/ 192.168.1.0/24(rw,sync,all_squash,anonuid=501,anongid=501)


nfs 挂载指定用户密码 nfs指定用户名和密码_ftp



其中/home/是共享目录,192.168.1.0/24代表共享文件给这个网段的机器,rw可读可写,sync同步,all_squash压制所有用户,所有的用户身份都会被限定为一个指定的普通用户,anonuid/anongid表示客户端在服务器写文件时的指定的用户身份和用户组,必须是本机已经存在的uid和gid,与root_squash或all_squash同时使用;


其中all_squash还可以是no_root_squash,表示root用户对共享的目录有完全的控制权限,不安全,不建议使用;也还可以是root_squash,表示root用户对共享目录只有普通用户的权限;


(3)启动服务:


/etc/init.d/rpcbind start
/etc/init.d/nfs start



3、客户端安装nfs服务


yum install -y nfs-ultils
showmount -e 192.168.1.119
mount -t nfs -onolock,nfsvers=3 192.168.1.119:/home /mnt/
df -h


nfs 挂载指定用户密码 nfs指定用户名和密码_nfs_02



此时,尝试创建文件,会提示权限不够:


nfs 挂载指定用户密码 nfs指定用户名和密码_Linux_03



在服务器建一个权限777的目录:/home/111


此时,服务器端可以创建文件,文件属主、属组为501;


nfs 挂载指定用户密码 nfs指定用户名和密码_vim_04


nfs 挂载指定用户密码 nfs指定用户名和密码_nfs_05



4、exportfs命令


-a :全部挂载或者卸载


-r :重新挂载


-u:卸载某个目录


-v:显示共享的目录


-arv:更改/etc/exports配置文件后,用这个参数生效新配置;


在使用nfs时,常用-onolock,禁止锁死,可以提高nfs性能;


二、FTP


1、FTP即file transfer protocol(文件传输协议)的英文简称,用于Internet上的控制文件的双向传输。主要作用就是让用户连接远程计算机,查看远程计算机的文件,并可以在远程机器和本机进行拷贝或者上传文件,在centos或者redhat linux上自带的ftp软件叫vsftp


2、使用pure-ftpd搭建FTP服务


(1)

yum install -y pure-ftpd
>/etc/pure-ftpd/pure-ftpd.conf
vi /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
PureDB                        /etc/pure-ftpd/pureftpd.pdb
LimitRecursion                  3136 8
AnonymousCanCreateDirs         no
MaxLoad                      4
AntiWarez                     yes
Umask                        133:022
MinUID                        10
AllowUserFXP                   no
AllowAnonymousFXP              no
ProhibitDotFilesWrite              no
ProhibitDotFilesRead              no
AutoRename                    no
AnonymousCantUpload            no
CustomerProof                   yes



(2)创建用户


user=`mkpasswd -l 5 -s 0 -d 0 -C 0`
pass=`mkpasswd -s 0`
echo $user $pass > /tmp/ftp.pass



创建FTP服务的目录:


mkdir /data/ftp
echo -e “$pass\n$pass”|pure-pw useradd $user -u test1 -d /data/ftp/



将刚刚创建的用户信息(用户名:frcpg  密码:cqx2nOBt5)映射到已经存在的用户test1上;


pure-pw list     查看用户信息


pure-pw mkdb    创建密码文件


pure-pw userdel $user  删除指定账号


/etc/init.d/pure-ftpd start  启动服务


nfs 挂载指定用户密码 nfs指定用户名和密码_nfs_06


(3)linux客户机上需要安装lfpt:


yum install -y lftp


登录ftp服务器:


lftp frcpg@192.168.1.119
get 1.txt
put 2.txt
exit



下载的文件会下载到当前目录下,第一次上传失败,提示权限不足,将服务器共享目录更改为777后,上传成功,而且可以看到上传文件的属主、属组就是frcpg映射的test1用户,



nfs 挂载指定用户密码 nfs指定用户名和密码_nfs_07


windows客户端直接文件管理器地址栏中输入地址ftp://192.168.1.119,可以直接访问:



nfs 挂载指定用户密码 nfs指定用户名和密码_nfs_08



nfs 挂载指定用户密码 nfs指定用户名和密码_ftp_09




注意:直接连接时看到的是空目录,需要右键手动登录,登录后就可以正常显示文件,其他浏览器直接访问直接显示的空目录也是因为没有进行登录;


(4)vsftp配置ftp服务


yum install -y vsftpd 
yum install -y db4-utils



添加系统虚拟用户:

useradd virftp -s /sbin/nologin
vim /etc/vsftpd/vsftpd_login

内容如下,奇数行用户名,偶数行密码


ftpuser1
123456
ftpuser2
123456
chmod 600 /etc/vsftpd/vsftpd_login



生成对应库文件:


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



建立虚拟账号相关的目录以及配置文件


mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf



创建和用户名对应的配置文件:


vim ftpuser1 添加内容如下:


local_root=/home/virftp/ftpuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000



mkdir /home/virftp/ftpuser1



修改权限:

chown -R virftp:virftp /home/virftp



vim /etc/pam.d/vsftpd (用户认证相关) 在最开头添加两行:


auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //64位系统,则改为/lib64/security/pam_userdb.so
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  //64位系统,则改为/lib64/security/pam_userdb.so
再配置主配置文件



vim /etc/vsftpd/vsftpd.conf,更改如下几个项:


anonymous_enable=NO
local_enable=YES:
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enabl=NO



并增加:


chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf



启动服务:


/etc/init.d/vsftpd start