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)
其中/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
此时,尝试创建文件,会提示权限不够:
在服务器建一个权限777的目录:/home/111
此时,服务器端可以创建文件,文件属主、属组为501;
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 启动服务
(3)linux客户机上需要安装lfpt:
yum install -y lftp
登录ftp服务器:
lftp frcpg@192.168.1.119
get 1.txt
put 2.txt
exit
下载的文件会下载到当前目录下,第一次上传失败,提示权限不足,将服务器共享目录更改为777后,上传成功,而且可以看到上传文件的属主、属组就是frcpg映射的test1用户,
windows客户端直接文件管理器地址栏中输入地址ftp://192.168.1.119,可以直接访问:
注意:直接连接时看到的是空目录,需要右键手动登录,登录后就可以正常显示文件,其他浏览器直接访问直接显示的空目录也是因为没有进行登录;
(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