exportfs命令&NFS客户端问题&FTP介绍&使用vsftpd搭建ftp

14.4 exportfs命令

nfs服务不能随便重启,不然可能致使客户端的nfs服务被挂起,所以可使用exportfs命令在不重启服务的前提下更新配置文件。mysql

经常使用选项

• -a 所有挂载或者所有卸载linux

• -r 从新挂载sql

• -u 卸载某一个目录shell

• -v 显示共享目录vim

效果测试

修改服务端配置文件

vim /etc/exports
新增
/tmp/ 192.168.133.0/24(rw,sync,no_root_squash)

更新配置文件(从新挂载)

[root@linux-5 ~]# exportfs -arv
exporting 192.168.133.0/24:/tmp
exporting 192.168.88.0/24:/home/nfstestdir

在客户端查看权限

[root@linux-10 ~]# showmount -e 192.168.88.5
Export list for 192.168.88.5:
/tmp             192.168.133.0/24
/home/nfstestdir 192.168.88.0/24

注:客户端重启后,要从新挂载共享目录centos

14.5 NFS客户端问题

NFS 4版本会出现一个问题(centos6较为常见),客户端挂载共享目录后,无论是root用户仍是普通用户,建立新文件时属主、属组为nobody安全

针对上述问题,有两种解决方案服务器

第一种:session

客户端挂载时加上 -o nfsvers=3(采用3版本的nfs)dom

第二种:

修改配置文件 vim /etc/idmapd.conf

把“#Domain = local.domain.edu” 改成 “Domain = xxx.com” (这里的xxx.com能够随意定义),而后再重启rpcidmapd服务(centos7中为rpcbind)

15.1 FTP介绍

平常使用rz,sz命令进行文件互传时会有不少限制,好比传输大小不能超出4G,不能给云端主机传输文件,针对上述问题,可经过在服务端搭建ftp服务器解决

• FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。

• FTP的主要做用就是让用户链接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,而后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

• 小公司用的多,大企业不用FTP,由于不安全

15.2/15.3 使用vsftpd搭建ftp

centos自带ftp服务的软件包是vsftpd,直接下载安装便可。

安装vsftpd软件包

yum install -y vsftpd

建立登陆ftp的用户

useradd -s /sbin/nologin virftp   //不容许登陆系统,用于给虚拟用户作映射

vsftpd软件包是可使用系统级别的用户,假设建立了一个普通用户lem,设置一个密码,这时候就能够用vsftpd启动这个服务,而后用user1这个用户去登录,登陆的形式为ftp,登陆进去后会进入到lem这个用户的家目录下,但这样操做会存在安全隐患。

为了解决上述隐患,咱们能够给ftp设置一个虚拟用户,虚拟用户映射成系统中的一个普通用户(也能够映射多个虚拟用户),这个用户即便给了用户和密码你也是没有办法去经过ssh登陆到服务器的机器,这样就相对安全了不少。

编辑虚拟用户的密码文件

vim /etc/vsftpd/vsftpd_login //奇数行为用户名,偶数行为密码,多个用户就写多行
ftpuser
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

在目录下建立虚拟用户配置文件

vim ftpuser  //虚拟用户的配置文件的文件名须要与密码文件中建立的用户的名字一致

local_root=/home/virftp/ftpuser  //定义虚拟用户家目录
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                     //最大客户端数

建立虚拟用户家目录

mkdir /home/virftp/ftpuser

在家目录下建立测试文件

touch /home/virftp/ftpuser/test.txt

修改用户权限

chown -R virftp:virftp /home/virftp

将权限作一个修改,由于最后映射成virftp 这个用户,若virftp这个用户没有读的权力那就是错误的,没法正常的去上传和下载

定义密码文件的所在位置

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

这是一个用来认证的文件,在登陆FTP须要有一个认证的过程,认证的过程须要告诉它,经过什么样的形式去认证,认证的时候去哪里找这个密码库

注:32位的centos系统的文件名应为lib32

编辑vsftpd的主配置文件

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  //定义虚拟用户配置文件所在路径
allow_writeable_chroot=YES

启动vsftpd服务

systemctl start vsftpd

查看监听端口

[root@linux-5 vsftpd_user_conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name         
tcp6       0      0 :::21                   :::*                    LISTEN      3713/vsftpd

监听端口为21

ftp测试

Windows端

Windows可使用filezilla客户端开源软件,十分方便

Linux端

Linux为了方便测试采用lftp

安装lftp包

[root@linux-5 ~]# yum -y install lftp

链接FTP服务器

[root@linux-5 ~]# lftp ftpuser@127.0.0.1
口令: 
lftp ftpuser@127.0.0.1:~> ls
-rw-r--r--    1 0        0               0 Jul 02 16:20 test.txt

注:使用?可查看ftp可用命令,经常使用命令put、get

下载test文件

lftp ftpuser@127.0.0.1:/> get test.txt
lftp ftpuser@127.0.0.1:/> quit
[root@linux-5 ~]# ls
anaconda-ks.cfg  lianxi         lianxi.tar.bz2  mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz  test.txt.bz2  桌面云配置过程.txt
fstab            lianxi.tar.bz  lianxi.zip      test.txt

xshell实现ftp功能在下一节记录

相关文章
相关标签/搜索