2018-3-27 14周2次课 NFS(下)FTP(上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-3-27 14周2次课 NFS(下)FTP(上)相关的知识,希望对你有一定的参考价值。

14.4 exportfs命令


·更改nfs配置文件后,重启nfs服务,那么此时如果有远程客户端正在挂载共享目录,那么先停止nfs服务,就会导致远程客户端挂起。

exportfs这个命令是和nfs-utils这个包一起安装的


exportfs:

-a        全部挂载或者全部卸载

-r        重新挂载

-u        卸载某一个目录

-v        显示共享目录

-arv     一般同时使用


·在服务端上更改/etc/exports 目录,增加一条共享目录

[[email protected] ~]# vim /etc/exports

技术分享图片

[[email protected] ~]# exportfs -arv
exporting 192.168.65.129:/tmp
exporting 192.168.65.0/24:/home/nfstestdir


·在客户端上查看共享目录,并卸载原先目录,挂载/tmp/:

[[email protected] ~]# showmount -e 192.168.65.128
Export list for 192.168.65.128:
/home/nfstestdir 192.168.65.0/24
/tmp             192.168.65.129
[[email protected] ~]# umount /mnt/
[[email protected] ~]# mount -t nfs 192.168.65.128:/tmp/ /mnt
[[email protected] ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  3.8G   15G   21% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M  6.7M  482M    2% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
192.168.65.128:/tmp   18G  3.8G   15G   21% /mnt
/dev/sda1            197M   97M  100M   50% /boot
tmpfs                 98M     0   98M    0% /run/user/0

(192.168.65.128:/tmp 已挂载完成)


·在客户端上新建一个文件

[[email protected] ~]# vim /mnt/1212.txt
[[email protected] ~]# ll /mnt/1212.txt
-rw-r--r-- 1 root root 39 3月  20 21:56 /mnt/1212.txt


·查看服务端上共享过去的该文件信息:

[[email protected] ~]# ll /tmp/1212.txt
-rw-r--r-- 1 root root 39 3月  20 21:56 /tmp/1212.txt

(客户端和服务端上的属主和属组都是root,是因为在nfs配置文件中,定义了对/tmp共享目录下,no_root_squash不限制root)


一般不限制root的情况比较多。





14.5 NFS客户端问题


NFS 4版本会有该问题(尤其是在CentOS6上)

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

要解决问题有2种方法:

1:

客户端挂载时加上 -o nfsvers=3 (指定nfs版本为3)

mount -t nfs -o nfsvers=3 192.168.65.128:/tmp/ /mnt

mount -t nfs -oremount,nfsvers=3 192.168.65.128:/tmp/ /mnt (须在重新挂载后才能remount)


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服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

·小公司用的多,大企业不用FTP,因为不安全





15.2/15.3 使用vsftpd搭建ftp


CentOS自带vsftpd包

[[email protected] ~]# yum install -y vsftpd
(安装过程省略)
[[email protected] ~]# useradd -s /sbin/nologin virftp                ##创建虚拟用户
编辑虚拟用户的密码文件:
[[email protected] ~]# vim /etc/vsftpd/vsftpd_login

(内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行)

技术分享图片

[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login

(更改密码文件的权限)

将以上文本文件转化成计算机可以识别的二进制文件

[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf        ##创建虚拟用户配置文件所在目录
[[email protected] ~]# cd !$
cd /etc/vsftpd/vsftpd_user_conf
[[email protected] vsftpd_user_conf]#vim testuser1            ##编辑的虚拟用户配置文件要和用户名一致

技术分享图片


local_root=/home/virftp/testuser1 定义虚拟用户家目录

anonymous_enable=NO 是否允许匿名用户

write_enable=YES 是否允许可写

local_umask=022 umask

anon_upload_enable=NO 是否允许匿名用户上传

anon_mkdir_write_enable=NO 是否允许匿名用户创建和上传

idle_session_timeout=600 超时断开

data_connection_timeout=120 数据传输超时时间

max_clients=10 最大客户端


[[email protected] vsftpd_user_conf]# mkdir /home/virftp/testuser1        ##创建虚拟用户家目录
[[email protected] vsftpd_user_conf]# touch /home/virftp/testuser1/alex.txt
[[email protected] vsftpd_user_conf]# chown -R virftp:virftp /home/virftp
[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd                ##定义密码文件位置

技术分享图片

[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf            ##编辑vsftpd主配置文件

将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

技术分享图片

[[email protected] vsftpd_user_conf]# systemctl start vsftpd
[[email protected] vsftpd_user_conf]# ps aux|grep vsftpd
root       1938  0.0  0.0  53212   572 ?        Ss   22:08   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       1942  0.0  0.0 112676   984 pts/0    S+   22:08   0:00 grep --color=auto vsftpd
[[email protected] vsftpd_user_conf]# netstat -lntp

技术分享图片


·安装ftp客户端

[[email protected] vsftpd_user_conf]# yum install -y lftp
(过程省略)
[[email protected] vsftpd_user_conf]# lftp [email protected]
口令:
lftp [email protected]:~> ls
-rw-r--r--    1 1002     1002            0 Mar 26 13:34 alex.txt
lftp [email protected]:/> ?                        ##查看可用的命令

技术分享图片

lftp [email protected]:/> quit
[[email protected] vsftpd_user_conf]# ls
alex.txt  testuser1


新建一个会话,ip为本机服务器ip,用SFTP连接

技术分享图片


输入用户名密码登录

sftp:/root> get /tmp/user.sql
Fetching /tmp/user.sql to user.sql
sftp: received 7.08 KB in 0.01 seconds

定义本地文件夹:(get的文件存放位置)

技术分享图片


还有一个方法:

在xshell中,Ctrl + Alt + F ,下载xftp插件

技术分享图片

下载插件安装

技术分享图片

可能需要Product key才能使用



以上是关于2018-3-27 14周2次课 NFS(下)FTP(上)的主要内容,如果未能解决你的问题,请参考以下文章

2018-3-26 14周1次课 NFS服务端安装配置

十四周一次课

2018-3-28 14周3次课 xftppure-ftpd

2018.3.27 二周第二次课

2018.3.1 10周2次课

linux十四周一次课(5月9日)笔记