NFS介绍,exportfs命令,,FTP介绍,使用vsftpd搭建ftp服务

NFS介绍

  • NFS是Network File System的缩写
  • NFS最先由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本
  • NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。
  • NFS应用场景是:A,B,C三台机器上须要保证被访问到的文件是同样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致。

NFS服务端安装配置

  • 首先准备两台机器,一个做为客户端,一个做为服务端。
  • 服务端要安装两个服务无 yum install -y nfs-utils rpcbind,客户端也要安装nfs-utils。
  • 安装完成后,编辑vim /etc/exports //加入以下内容
/home/nfstestdir //分享的目录 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

保存配置文件后,执行以下准备操做html

mkdir /home/nfstestdir
 chmod 777 /home/nfstestdir     //改为777是方便作实验。
 systemctl start rpcbind        //通常是安装好自动启动的,能够看下netstat -lnpt看一下起没起来。 
 systemctl start nfs            //ps aux |grep nfs 和rpc  看看服务有没有启动,通常启动nfs以后,rpc会自动启动相关服务。
 systemctl enable rpcbind       //设置开机自启
 systemctl enable nfs
  • /home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000),看一下这里面的配置选项都有哪些,什么含义

  • rw 读写mysql

  • ro 只读linux

  • sync 同步模式,内存数据实时写入磁盘sql

  • async 非同步模式shell

  • no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大vim

  • root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户centos

  • all_squash 客户端上全部用户在使用NFS共享目录时都被限定为一个普通用户安全

  • anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid服务器

客户端挂载

  • yum install -y nfs-utils 安装一下客户端的nfs
  • 而后 showmount -e 192.168.245.128 //该ip为NFS服务端ip
[root@aminglinux-01 ~]# showmount -e 192.168.245.128
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

报错,防火墙致使。关一下服务端和客户端的防火墙。 systemctl stop firewalldsession

还有 setenforce 0

或者:service iptables stop  //关闭防火墙

  • mount -t nfs 192.168.245.128:/home/nfstestdir /mnt 挂载
  • df -h
[root@aminglinux-01 ~]# df -h
文件系统                          容量  已用  可用 已用% 挂载点
/dev/sda3                          18G  3.6G   15G   21% /
devtmpfs                          479M     0  479M    0% /dev
tmpfs                             489M     0  489M    0% /dev/shm
tmpfs                             489M  6.8M  482M    2% /run
tmpfs                             489M     0  489M    0% /sys/fs/cgroup
192.168.245.128:/home/nfstestdir   18G  6.8G   12G   38% /mnt
/dev/sda1                         197M  109M   88M   56% /boot
tmpfs                              98M     0   98M    0% /run/user/0
[root@aminglinux-01 ~]#
  • 建立一个文件 touch /mnt/aminglinux.txt

ls -l /mnt/aminglinux.txt //能够看到文件的属主和属组都为1000


exportfs命令

  • 经常使用选项

-a 所有挂载或者所有卸载

-r 从新挂载

-u 卸载某一个目录

-v 显示共享目录

  • 当改变/etc/exports配置文件后,使用exportfs命令挂载不须要重启NFS服务。

NFS客户端问题

  • 客户端文件属主属组nobody

FS 4版本会有该问题

客户端挂载共享目录后,无论是root用户仍是普通用户,建立新文件时属主、属组为no body

  • 客户端挂载时加上 -o nfsvers=3

  • 客户端和服务端都须要

vim /etc/idmapd.conf // 把“#Domain = local.domain.edu” 改成 “Domain = xxx.com” (这里的xxx.com,随意定义吧),而后再重启rpcidmapd服务


FTP介绍

  • FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
  • FTP的主要做用就是让用户链接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,而后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
  • FTP小公司用的多,大企业不用FTP,由于不安全

使用vsftpd搭建ftp服务

  • centos上自带的FTP叫vsftpd
  • 安装 yum install -y vsftpd
  • 建立用户 useradd -s /sbin/nologin virftp

首先创建与虚拟帐号相关联的系统帐号

useradd -s /sbin/nologin virftp

接着创建与虚拟帐户相关的文件 vim /etc/vsftpd/vsftpd_login

usertest1
111222333
usertest2
444555666

奇数行为用户名,偶数行为密码,多个用户就写多行

而后更改该文件的权限,提高安全级别

chmod 600 /etc/vsftpd/vsftpd_login

而后把明文的密码文件改为计算机识别的2进制文件

[root@aminglinux-01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@aminglinux-01 ~]# ls -l /etc/vsftpd/
总用量 36
-rw-------. 1 root root   125 8月   3 14:10 ftpusers
-rw-------. 1 root root   361 8月   3 14:10 user_list
-rw-------. 1 root root  5030 8月   3 14:10 vsftpd.conf
-rwxr--r--. 1 root root   338 8月   3 14:10 vsftpd_conf_migrate.sh
-rw-------. 1 root root    40 11月  6 16:43 vsftpd_login
-rw-r--r--. 1 root root 12288 11月  6 16:46 vsftpd_login.db
[root@aminglinux-01 ~]#

建立虚拟用户的配置文件所在的目录

mkdir /etc/vsftpd/vsftpd_user_conf
  • 建立虚拟用户和对应的配置文件

用户的配置文件名必定要跟对应用户的名字是同样的。cd /etc/vsftpd/vsftpd_user_conf

vim usertest1

写入以下内容

local_root=/home/virftp/usertest1          定义虚拟用户的家目录
anonymous_enable=NO                        是否容许匿名用户
write_enable=YES                           是否容许可写
local_umask=022                            定义建立新文件和新目录的权限是什么
anon_upload_enable=NO                      是否容许匿名用户能够上传
anon_mkdir_write_enable=NO                 是否容许匿名用户能够建立目录并可写
idle_session_timeout=600                   当咱们链接FTP超时时间600s
data_connection_timeout=120                数据传输超时时间120s
max_clients=10                             最大客户端链接数

建立虚拟用户的家目录 mkdir /home/virftp/usertest1

建立一个文件,等会登录就能看到这个文件了 touch /home/virftp/usertest1/aming.txt

映射用户并赋予权限 chown -R virftp:virftp /home/virftp

定义密码文件在哪里 vim /etc/pam.d/vsftpd 在最前面加上以下内容:

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth
  • 修改vsftpd配置文件 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

改完配置文件后启动 : systemctl start vsftpd

[root@aminglinux-01 vsftpd_user_conf]# ps aux |grep vsftp
root       3264  0.0  0.0  53204   572 ?        Ss   18:08   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       3266  0.0  0.0 112668   972 pts/0    S+   18:08   0:00 grep --color=auto vsftp
[root@aminglinux-01 vsftpd_user_conf]#
  • 测试

安装lftp客户端软件 yum install -y lftp

测试

[root@aminglinux-01 ~]# lftp usertest1@127.0.0.1
口令: 
lftp usertest1@127.0.0.1:~> ls      
lftp usertest1@127.0.0.1:~> ls      
-rw-r--r--    1 0        0               0 Nov 06 10:34 aming.txt
lftp usertest1@127.0.0.1:/>

扩展学习:

相关文章
相关标签/搜索