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

1. exportfs命令

通常状况下重启服务器上nfs服务时,需把客户端上的挂载先卸载掉,以避免进程后面杀不掉。当客户端服务器不少时,操做起来就比较麻烦。此时可使用exportfs命令从新加载下。linux

exportfs命令:数据库

是随nfs-utils 一块儿安装的vim

exportfs 命令用来管理当前NFS共享的文件系统列表。windows

经常使用选项:centos

-a 所有挂载或者所有卸载浏览器

-r 从新挂载安全

-u 卸载某一个目录服务器

-v 显示共享目录session

当改变/etc/exports配置文件后,使用exportfs命令挂载不须要重启nfs服务。dom

如下操做在服务端上

vim /etc/exports //增长

/tmp/ 172.20.6.240(rw,sync,no_root_squash) //把/tmp目录单独共享给172.20.6.240这个主机ip

exportfs -arv //不用重启nfs服务,配置文件就会生效

172.20.6.240客户端机器上操做:

showmount -e 192.168.89.51 //查看有权限的共享目录

mount -t nfs 192.168.89.51:/tmp /mnt //把tmp目录挂载到/mnt下

2. NFS客户端问题:

客户端文件属主属组nobody:

NFS 4版本会有该问题

客户端挂载共享目录后,不论是root用户仍是普通用户,建立新文件时属主、属组为nobody

解决方法:

1. 客户端挂载时加上 -o nfsvers=3

mount -t nfs -oremount,nfsvers=3 192.168.89.51:/home/nfstestdir /mnt //已经挂载不想卸载时能够-oremount 从新挂载。

2. 客户端和服务端都须要

vim /etc/idmapd.conf //

把“#Domain = local.domain.edu” 改成 “Domain = xxx.com” (这里的xxx.com,随意定义吧),而后再重启rpcidmapd服务(CentOS 6以上系统重启rpcbind服务)

3. FTP介绍

ftp应用环境:

  • 通常状况咱们和linux服务器数据传输时会用到rz/sz命令;
  • rz/sz命令传输大文件,好比超过4G时就没办法用了;
  • 有跳板机的时候,在用rz/sz传输数据时也会出现问题;
  • 在linux上搭建一个ftp服务,而后在主机上装个ftp客户端,就能够和linux服务器传输文件。这就是ftp服务器

ftp介绍:

  • FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
  • FTP的主要做用就是让用户链接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,而后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
  • 小公司用的多,大企业不用FTP,由于不安全
  • 大型企业通常使用自动化发布工具

4. vsftpd搭建ftp

centos上自带的vsftpd服务:

yum install -y vsftpd

安装vsftpd软件包;

useradd -s /sbin/nologin virftp

建立一个ftp映射的帐户;

建立虚拟用户密码文件:

vim /etc/vsftpd/vsftpd_login

新建一个ftp虚拟用户文件,内容以下,奇数行为用户名,偶数行为密码,多个用户就写多行

user1

1%6eEHPu9

chmod 600 /etc/vsftpd/vsftpd_login

设置权限600;

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

保存虚拟账号和密码的文件没法被系统账号直接调用。咱们须要使用db_load 命令生成db库文件

-T容许应用程序可以将文本文件转译载入进数据库。

-t hash使用hash码加密

-f 指定包含用户名和密码文本文件。此文件格式要示:奇数行用户名、偶数行密码

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

mkdir /etc/vsftpd/vsftpd_user_conf

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

用户的配置文件是单独存在的,每个用户都有一个本身的配置文件,文件名和用户名一致

cd /etc/vsftpd/vsftpd_user_conf

vim user1 //加入以下内容

local_root=/home/virftp/user1

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

其中local_root:为user1帐号的家目录;anonymous_enable:用来限制是否容许匿名帐户登陆(若为NO,表示不容许匿名帐号登陆);write_enable=YES:表示可写;local_umask:指定umask值;anon_upload_enable:表示是否容许匿名帐号上传文件;anon_mkdir_write_enable:表示是否容许匿名帐号可写;idle_session_timeout:表示空闲多长时间超时;data_connection_timeout=120若是服务器与客户端的数据联机已经成功创建 (不论主动仍是被动联机),可是可能因为线路问题致使 120 秒内仍是没法顺利的完成数据的传送,那客户端的联机就会被咱们的 vsftpd 强制剔除;max_clients:有多少 client 能够同时连上 vsftpd;

 

在virftp家目录下建立以用户名命名的家目录:

mkdir /home/virftp/user1

touch /home/virftp/user1/gavin.txt

chown -R virftp:virftp /home/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

CentOS7为64位系统,因此库文件路径为/lib64/security/pam_userdb.so(32位系统的库文件路径为/lib/security/pam_userdb.so)

修改全局配置文件/etc/vsftpd/fsftpd.conf:

修改用户配置文件后还不可用,还须要修改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

systemctl start vsftpd //启动vsftpd服务

ftp监听21端口

测试ftp:

linux中ftp客户端为lftp;

yum install -y lftp

lftp user1@127.0.0.1

执行命令ls,看是否正常输出

? 能够查看支持的命令,通常put和get用的比较多

get会把文件下载到当前目录

若不正常查看日志/var/log/messages和/var/log/secure

windows下安装filezilla客户端软件,进行测试

ftp://192.168.89.51 经过浏览器访问

相关文章
相关标签/搜索