13-4 14-15 NFS exportfs 客户端bug FTP vsftp

14.4 exportfs命令

  • exprotfs能够网络广播nfs下的磁盘操做

经常使用选项linux

  • -a 所有挂载或者所有卸载
  • -r 从新挂载
  • -u 卸载某一个目录
  • -v 显示共享目录

须要操做在服务端上vim

[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服务就能够生效

客户端windows

[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客户端问题

客户端文件属主属组nobodycentos

问题:客户端挂载共享目录后,无论是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系统

建立使用服务的真实用户session

[root@ax-01 ~]# useradd -s /sbin/nologin virftp   //不准直接登录Linux系统
[root@ax-01 ~]# chown -R virftp:virftp /home/virftp  //真实用户可用范围

建立虚拟用户和用户密码单dom

[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为用户定义文件。奇数行用户名偶数行密码。不能添加注释ssh

配置虚拟用户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客户端软件,进行测试
相关文章
相关标签/搜索