您的位置:首页 > 编程语言 > PHP开发

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

2017-11-03 00:00 316 查看

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客户端软件,进行测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐