【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
14.4 exportfs命令
- exprotfs可以网络广播nfs下的磁盘操作
常用选项
- -a 全部挂载或者全部卸载
- -r 重新挂载
- -u 卸载某一个目录
- -v 显示共享目录
需要操作在服务端上
[root@axiang-02 ~]# vim /etc/exports
再加入一行
/tmp 10.1.1.9(rw,sync,no_root_squash) //这里不限制root用户
[root@axiang-02 ~]# exportfs -arv
exporting 10.1.1.9:/tmp
exporting 10.1.1.0/24:/home/nfstestdir

- exportfs -arv 不用重启nfs服务就可以生效
客户端
[root@axiang-03 ~]# showmount -e 10.1.1.8
Export list for 10.1.1.8:
/home/nfstestdir 10.1.1.0/24
/tmp 10.1.1.9
[root@axiang-03 ~]# mount -t nfs 10.1.1.8:/tmp/ /mnt
[root@axiang-03 ~]# vim /mnt/1
[root@axiang-03 ~]# ls -l !$
ls -l /mnt/1
-rw-r--r-- 1 root root 25 8月 23 16:15 /mnt/1
14.5 NFS客户端问题
客户端文件属主属组nobody
问题:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody。
解决方法1:由于NFS 4版本会有该问题。客户端挂载时加上 -o nfsvers=3 指定使用版本3模式即可
[root@axiang-03 ~]# mount -t nfs -o nfsvers=3 10.1.1.8:/tmp/ /mnt
解决方法2:客户端和服务端vim /etc/idmapd.conf,把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务。CentOS7为重启rpcbind服务
15.1 FTP介绍
- FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
- FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
- 比lrzsz好用
- 小公司用的多,大企业不用FTP,因为不安全
15.2 - 15.3 使用vsftpd搭建ftp服务
- centos上自带vsftpd 安装
[root@ax-01 ~]# yum install -y vsftpd
- vsftpd可以使用系统级别用户登陆系统。通过ftp登陆系统而不是ssh。进入用户家目录。不安全
- 建议设置虚拟用户。即使有用户名密码也无法登陆Linux系统
创建使用服务的真实用户
[root@ax-01 ~]# useradd -s /sbin/nologin virftp //不许直接登陆Linux系统
[root@ax-01 ~]# chown -R virftp:virftp /home/virftp //真实用户可用范围
创建虚拟用户和用户密码单
[root@ax-01 ~]# vim /etc/vsftpd/vsftpd_login
aaa
axianglinux
bbb
axiang-linux
[root@ax-01 ~]# chmod 600 /etc/vsftpd/vsftpd_login
[root@ax-01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db //生成二进制文件
[root@ax-01 ~]# ls /etc/vsftpd/
ftpusers vsftpd.conf vsftpd_login
user_list vsftpd_conf_migrate.sh vsftpd_login.db
-vsftpd_login为用户定义文件。奇数行用户名偶数行密码。不能添加注释
配置虚拟用户aaa
[root@ax-01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@ax-01 ~]# cd !$
cd /etc/vsftpd/vsftpd_user_conf
[root@ax-01 vsftpd_user_conf]# vim aaa // 文件名需要与vsftpd_login文件用户名一致
local_root=/home/virftp/aaa
# 定义虚拟用户家目录,该目录用于读写文件
# 虚拟用户在真实用户可用范围内找到自己的目录使用
anonymous_enable=NO
# 是否允许匿名登陆
write_enable=YES
# 是否允许写
local_umask=022
# 定义umask
anon_upload_enable=NO
# 是否允许上传
anon_mkdir_write_enable=NO
idle_session_timeout=600
# 超时时间 600秒
data_connection_timeout=120
# 数据传输超时时间120秒
max_clients=10
# 最多链接用户
[root@ax-01 vsftpd_user_conf]# mkdir /home/virftp/aaa
[root@ax-01 vsftpd_user_conf]# touch /home/virftp/aaa/axiang.txt
定义ftp用户认证库文件 寻找的用户库文件,从而判断用户登陆合法
[root@ax-01 ~]# vim /etc/pam.d/vsftpd //ftp认证配置文件
前排增加,后面内容不动
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
# 定义密码库文件路径,比对用户名密码
修改vfstpd主配置文件
[root@ax-01 ~]# 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
- vfstpd核心配置文件
- virftp用户虽然不用于登陆Linux系统,但是可以作为访客名去使用服务(guest_username=virftp)
启动服务
[root@ax-01 ~]# systemctl start vsftpd
[root@ax-01 ~]# netstat -lntp

- 21 ftp 22 sshd 23 telnet
测试
[root@ax-01 ~]# yum install -y lftp
[root@ax-01 ~]# lftp aaa@127.0.0.1
Password:
lftp aaa@127.0.0.1:~> ls
-rw-r--r-- 1 1003 1003 0 Aug 24 02:29 axiang.txt
lftp aaa@127.0.0.1:/> get axiang.txt //下载到当前目录下
lftp aaa@127.0.0.1:/> quit
[root@ax-01 ~]# ls -lt
total 2050440
-rw-r--r-- 1 root root 33300 Aug 24 14:47 aaa.png
-rw-r--r-- 1 root root 0 Aug 24 10:29 axiang.txt
- 若不正常查看日志/var/log/messages和/var/log/secure
- windows下安装filezilla客户端软件,进行测试
来源:oschina
链接:https://my.oschina.net/u/3579690/blog/1560238