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

一:exportfs命令

常用选项为[-aruv]
-a :全部挂载或者卸载
-r :重新挂载
-u :卸载某一个目录
-v :显示共享的目录
使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs
即可。接下来我们做一个实验,先改一下服务端的配置文件:
#vim /etc/exports
增加一行:
/tmp/ 192.168.0.0/24(rw,sync,no_root_squash) #no_root_squash 表示不限定root用户
然后服务端上执行命令:
#exportfs -arv
exporting 192.168.0.0/24:/tmp
exporting 192.168.0.0/24:/home

二:NFS客户端问题

客户端在挂载NFS 之前,我们需要先看一看服务端都共享了哪些目录,这需要使用
showmount命令,但是这个命令是 nfs-utils这个包所带的,所以同样需要安装 nfs-utils:
#yum install -y nfs-utils
现在可以看看服务器端都共享了哪些目录了:
#showmount -e 192.168.0.10
Export list for 192.168.0.10:
/home 192.168.0.0/24
说明:其中192.168.0.10为NFS 服务端ip。
可以看到刚才我们在服务端配置的 nfs共享信息。showmount -e 加 IP 就可以查看 NFS
的共享情况,上例中,就可以看到 192.168.0.10的共享目录为/home,信任主机为
192.168.0.0/24这个网段。
下面的命令是在客户端上挂载NFS:
#mount -t nfs -o nfsvers=3 192.168.137.10:/home/ /mnt/

说明:-o后面跟挂载选项,如果不加 -onfsvers=3 则在挂载目录下的文件属主和组都是
nobody,如果指定nfsvers=3则显示501,所以尽量加上这个选项,避免权限混乱。
#df -h
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 14G 6.4G 6.7G 50% /
tmpfs 160M 0 160M 0% /dev/shm
/dev/sda1 97M 27M 66M 29% /boot
/dev/sdb5 989M 19M 920M 3% /home
192.168.0.10:/home/
989M 19M 920M 3% /mnt
用 df -h 命令可以看到多出来一个/mnt分区,它就是NFS 共享的目录了。
在之前的命令中用到了 mount命令来挂载nfs,其实mount这个 nfs服务还是有些说法
的。首先是用-t nfs 来指定挂载的类型为 nfs。另外在使用 nfs时,常用一个选项就是-o
nolock 了,即在挂载nfs服务时,不加锁。 在客户端上执行:
#mkdir /test
#mount -t nfs -o nolock 192.168.0.10:/tmp/ /test/
我们还可以把要挂载的 nfs目录写到client上的/etc/fstab文件中,挂载时只需要执行
mount -a 即可。在 /etc/fstab 里加一行:
192.168.0.10:/tmp/ /test nfs nolock 0 0
因为刚刚挂载过,所以先卸载:
#umount /test/
然后执行:
#mount -a
这样也可以挂载上,而且以后开机会自动挂载上。

三:使用vsftpd搭建ftp

(1)安装vsftpd
#yum install -y vsftpd db4-utils
这里安装两个软件包,同时会把依赖的包安装上。其中 db4-utils用来生成密码库文件。
(2)建立账号
vsftpd默认是可以支持使用系统账号体系登录的,但那样不×××全,所以我建议你参考
下面的方法使用虚拟账号体系。
建立虚拟账号相关联的系统账号
#useradd virftp -s /sbin/nologin
建立虚拟账户相关的文件
#vim /etc/vsftpd/vsftpd_login //内容如下:
test1
123456
test2
abcdef
更改该文件的权限,提升安全级别
#chmod 600 /etc/vsftpd/vsftpd_login
vsfptd使用的密码文件肯定不是明文的,需要生成对应的库文件
#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
(3)创建和用户对应的配置文件
#vim test1 //内容如下:

local_root=/home/virftp/test1
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
说明:
local_root为该账号的家目录,anonymous_enable 用来限制是否允许匿名账号登陆,若
为NO表示不允许匿名账号登陆,write_enable=YES 表示可写,local_umask指定 umask值,
anon_upload_enable是否允许匿名账号上传文件,anon_mkdir_write_enable 是否允许匿名账
号可写。以上为关键配置参数,其他暂时不用关心。创建 test2账号的步骤和test1一样。
#mkdir /home/virftp/test1
#chown -R virftp:virftp /home/virftp
#vim /etc/pam.d/vsftpd //在最开头添加两行
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
说明:我的Linux 为32位系统,所以库文件路径为/lib/security/pam_userdb.so,若你的
系统为64,那你的库文件是在/lib64/security/pam_userdb.so。
(4)修改全局配置文件/etc/vsftpd.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
最后启动vsftpd服务
#/etc/init.d/vsftpd start
如果服务启动不了,很有可能是前面的pure-ftpd 服务还没有关闭。测试过程和前面
pure-ftpd的一样。另外,如果用户登录不了,请查看一下/var/log/secure日志。

vsftp部署的500,530排障经验
[[email protected] ~]# lftp [email protected]
口令:
lftp [email protected]:~> ls
ls: 登录失败: 500 OOPS: cannot change directory:/home/virftp/test
造成这种故障的原因是我在test用户的配置文件里写的 local_root=/home/virftp/test
而我建立的家目录是test1
[[email protected] vsftpd_user_conf]# ls /home/virftp/
test1

500 OOPS: cannot change directory:/home/xxxxLogin failed.
在安装完vsftp服务后登陆时可能遇到cannot change directory,后面是登陆者的目录的错误,这是因为SE设置的关闭了ftp的原因。
使用命令

getsebool ftpd_disable_trans

可以查看当前的状态如果不是on

那么是输入命令

setsebool ftpd_disable_trans 1

当然也可以加入-P参数 以便不需要每次开机都输入这个命令

setsebool -P ftpd_disable_trans 1

service vsftpd restart

同理 如果smb服务也遇到相同的问题 ,也可以这么做。

setsebool -P samba_enable_home_dirs=1
selinux的问题也可以使用 管理工具中的 selinux management 来调整相关设置
也可以选择直接关闭selinux
setenforce 0 ——这是临时关闭
永久关闭修改/etc/selinux/config
SELINUX=disable

登录失败: 500 oops: bad bool value in config file for: anonymous_enablev
登录时候提示这种500故障是用户配置文件里的anonymous_enablev那行后面有空格,去掉即可;
而启动时候出去的这种500故障是全局配置文件里的anonymous_enablev那行后面有空格,去掉即可。

530 login incorrect
操作系统与/etc/pam.d/vsftpd配置文件里的库文件不匹配。64位系统,选择/lib64/security/pam_userdb.so
32位选择/lib/security/pam_userdb.so
还有就是注意你的iptables是否有拦截。

原文地址:http://blog.51cto.com/10941098/2165677

时间: 2024-08-29 15:41:29

exportfs命令、NFS客户端问题、使用vsftpd搭建ftp的相关文章

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

一.exportfs命令NFS服务端的nfs服务不能随意重启,如果需要重启服务端的nfs服务,需要先把挂载服务端共享目录的所有客户端的挂载先全部卸载客户端执行:#umount /mnt/ //提示如下umount.nfs4: /mnt: device is busy解决:第一种办法:退出/mnt目录[[email protected] mnt]# cd[[email protected] ~]# umount /mnt/第二种方法:#umount -l /mnt/ 先卸载掉客户端的挂载,然后在重

14.4 exportfs命令;14.5 NFS客户端问题;15.1 FTP介绍;15.2/15.3 使用vsftpd搭建ftp

14.4 exportfs命令 重启nfs服务需要把所有挂载点卸载掉,如果一台机器有多个挂载点,不能一一去卸载挂载点,用exportfs -arv命令: 1. 编辑exports配置文件,添加一条新的共享目录: [[email protected] ~]# vim /etc/exports {no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大} 添加内容(hao1服务端的共享目录,hao2客户端的ip): /tmp 192.168.211.129(rw,sy

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

- 14.4 exportfs命令 - 14.5 NFS客户端问题 - 15.1 FTP介绍 - 15.2/15.3 使用vsftpd搭建ftp # 14.4 exportfs命令 - exportfs命令 和NFS一起安装的 例: - 配置了一个共享目录,之后需要新增.更改.机器或者目录:首先需要更改配置,重启NFS服务,但是远程客户端正在使用NFS服务,重启服务端的NFS服务就会对远程的客户端有影响,比如,造成服务异常,进程异常,有很大可能导致系统坏掉 - 到了这种时候,只能去一台一台机器的

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

exportfs命令 加入我们之前已经配置了nfs的共享目录,之后要增加更改或增加共享目录,我们需要更改配置文件,重启,如果远程客户端正在使用,此时就会一直挂载着,这时候就有问题 使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用exportfs即可 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 #vim /etc/exports //增加一行 /tmp/ 192.168.37.0/2

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

exportfs命令 exportfs命令用来管理当前NFS共享的文件系统列表. 常用选项 -a:全部卸载或全部挂载 -r:重新挂载 -u:卸载某个目录 -v:显示共享目录 常用组合:exportfs -arv 服务端更改配置文件后,不重启服务,直接执行该命令就可以使更改后的配置文件生效. 注意: 在重启nfs服务之前需要先将所有挂载点卸载,否则将发生程序错误,严重者会拖垮系统. 以上操作都在服务端进行! 测试 在服务端的/etc/exports配置文件中,增加一行.把/tmp/目录单独共享给1

8.27 exports命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp服务

1.exports命令 由于开启NFS服务时,会有其他系统访问共享的目录,所以当服务端重启NFS服务时,会导致其他系统NFS服务出现异常,因此NFS服务不能随便重启,如果确实需要重启服务,需要先将客户端挂载的NFS目录卸载,执行如下命令: umount -l /mnt 卸载完成后,再重启NFS服务 如果不想卸载共享目录,则可以使用exports命令,exports常用的选项如下: -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 需要重启服

14.4 exportfs命令;14.5 NFS客户端问题;15.1 FTP介绍;15.2—15.3

14.4 exportfs命令 重启nfs服务需要把所有挂载点卸载掉,如果一台机器有多个挂载点,不能一一去卸载挂载点,用exportfs -arv命令: 1. 编辑exports配置文件,添加一条新的共享目录: [[email protected] ~]# vim /etc/exports {no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大} 添加内容(hao1服务端的共享目录,hao2客户端的ip): /tmp 192.168.211.129(rw,sy

FTP:介绍、vsftpd搭建ftp、xshell使用xftp传输文件、pure-ftpd搭ftp

             FTP介绍 (rz和sz: 传文件    rz:window-->linux    sz:linux-->window  文件超过4GB则不管用)                       使用vsftpd搭建ftp服务 1.安装:yum install -y vsftpd 2.创建用户: (vsftpd默认支持是可以使用系统账号登录的,但是这样不安全,因为我们系统的用户是可以登录,然后去操作我们的操作系统的.所以使用虚拟账号体系,创建虚拟用户,虚拟用户是不能登陆到

15.1-15.3 FTP,使用vsftpd搭建FTP服务

FTP介绍 FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机. 小公司用的多,大企业不用FTP,因为不安全 使用vsftpd搭建ftp服务 1 centos上自带vsftpd 2 #yum install -y vsftp