NFS,samba,vsftpd的基本使用

一.NFS介绍

NFS(Network File System),全名叫做网络文件系统,是由SUN公司研发的。顾名思义,简单理解就是通过网络互联,将本地的文件系统共享出去,从而实现资源的共享,NFS监听在TCP的2049端口上。当涉及到主机之间的通信时,就会存在安全问题,于是为了安全考虑,主动提出请求的一方(客户端)需要提供一些基本信息来认证,这些信息是需要服务器端程序来管理的,在linux中对这些信息的管理可以由服务器程序自身去管理,也可以委托RPC来管理,RPC来管理通信双方的基本信息,在CentOS7中由rpcbind服务提供,所以要想在CentOS7上实现NFS,需要同时启动rpcbind服务。

安装与配置

要想安装NFS,需要安装nfs-utils以及rpcbind

  1. 安装软件

安装.png

安装测试结果:

安装测试结果.png

2.NFS的配置

(1)NFS服务器通过读取/etc/exports配置文件来读取哪些客户端可以访问哪些文件系统路径,该文件书写的注意事项:

以#开头的是注释行
每个共享文件系统需要独立定义一行

客户端主机之间需要使用空格隔开

客户端主机的定义可以是一个网段,单台主机,主机名

定义方式为:

共享路径 客户端1(选项) 客户端2(选项)…

(2)常用的选项:

ro:只读共享
sync:同步写操作
wdelay:延迟写操作
rw:读写共享
async:异步写操作
root_sqaush:屏蔽远程root权限
no_root_squash:不屏蔽远程root权限
all_squash:屏蔽所有远程用户权限

注意:默认情况下,NFS会屏蔽root权限,映射为NFS的匿名帐号,如果要保留root用户权限,则要根据选项来控制。

(3)服务器端配置示例:将本机192.168.88.148的/data/share共享给192.168.88.132主机

a.在服务器端创建目录

创建目录.png

b.编辑配置文件

编辑.png

c.启动并查看服务是否正常启动

启动.png

测试.png

d.在客户端挂载测试

挂载.png

e.在客户端创建文件

创建文件.png

(4)NFS的客户端工具

exportfs:可以使用这个命令以root身份在不重启服务的情况下选择共享或者取消共享目录

常用选项:

-r:重读/etc/exports配置文件
-a:all的意思,在取消共享时可以使用这个选项
-u:取消共享
-v:显示详细信息

nfsstat:查看NFS状态信息

常用选项:

-s:显示服务器端状态信息
-c:显示客户端状态信息
-m:显示挂载信息
-l:以列变的形式显示信息

二.Samba

Samba是一个在Linux,UNIX,windows之间实现文件共享的软件,通过SMB/CIFS协议提供安全稳定的文件共享服务,samba由smbd以及nmbd两个守护进程组成,smbd进程为客户端提供文件共享服务,还负责用户权限的认证,smbd监听的是TCP的139和445端口。而nmbd进程提供NetBIOS名称服务,从而满足CIFS的共享环境,该进程监听与UDP的137号端口。

  1. 安装samba

安装1.png

2.配置服务

a.还是以/data/share作为测试目录

b.修改samba的配置文件/etc/samba/smb.conf,可以参考自带的配置示例进行配置

修改配置.png

c.创建访问帐号

创建用户.png

d.测试,

启动解雇.png

e.使用客户端连接测试

测试.png

挂载测试使用:

挂载测试.png

3.关于smbpasswd的使用

smbpasswd用于关于samba用户

常用选项:

-a:添加用户并设置密码
-x:删除用户
-d:禁用samba用户
-e:启用samba用户

三.vsftpd实现文件共享

vsftpd是Very Secure FTP的简写,是一个安全的FTP软件,vsftpd的安全性体现在:进程之间是分离的,进程运行时均已最小的权限运行,大多数进程都使用了chroot进行了禁锢,能防止客户端进行非法的访问。而FTP协议本身就十分特别,体现在其其命令连接和数据连接使用的并不是同一个连接。当客户端向服务器端请求资源时。服务器会使用21号端口进行相应,该端口只负责处理请求命令,而最终服务器端进行数据传输时采用的时另一个端口,数据端口取决与服务器端运行的模式。服务器端有两种运行模式:主动模式和被动模式。

1.FTP的工作模式

(1)主动模式(Active Mode)

第一步:客户端打开大于1024的端口与服务器的21号端口进行通信,建立命令连接
第二步:当需要进行数据传输时,客户端会在打开一个大于1024的端口,并通过命令连接将次端口号告知服务器,以后的数据连接就通过次端口号进行传输
第三步:服务器端收到这个端口号之后,会进行三次握手,然后就进行数据传输

(2)被动模式(Passive Mode)

第一步:客户端打开大于1024的端口号与服务器21号端口建立连接
第二步:当要进行数据传输时,客户端提出数据传输请求
第三步:服务器端随机打开一个端口,并通过命令连接将此端口号告知客户端
第四步:客户端收到端口号之后,在随机打开一个端口与此前服务器端打开的端口建立连接,完成三次握手之后就进行数据传输。

现在采用的较多的是被动模式,因此客户端主机通常受到防火墙的保护。

2.vsftpd的登录方式

vsftpd的登录方式有三种:本地账户登录,匿名账户登录,虚拟账户登录

本地账户登录:需要使用系统账户对应的用户名和密码才能进行登录
匿名账户登录:不需要输入账户和密码进行认证
虚拟账户登录:将来访问的用户映射为系统guest_username指定的用户

vsftpd可以使用/etc/vsftpd/ftpusers做黑名单,使用/etc/vsftpd/userlist做白名单控制,格式为每行一个用户名。

3.vsftpd的安装与配置

a.安装vsftpd

安装.png

b.修改/etc/vsftpd目录下的配置文件

常用的配置选项:

listen=NO :是否监听端口,独立运行守护进程

listen_por=21 : 监听用于建立命令连接的端口
write_enable=YES :是否允许写操作
download_enable=YES:是否允许下载
connect_from_port_20=YES:使用主动模式,启用20端口
pasv_enable=YES : 是否启用被动模式
pasv_max_port=24600:被动模式的连接的最大端口号
pasv_min_port=24500:被动模式的连接的最小端口号
userlist_enable=YES:是否启用userlist用户列表
userlist_deny=YES:是否禁用userlist文件中的用户访问
max_client=2000 : 最大允许的客户端连接数
max_per_ip=0:每个客户端的最大连接限制,0代表无限制
tcp_wrapper=YES:是否启用tcp_wrapper
guest_enable=YES:是否允许来宾账户登录
guest_username=ftp:匿名账户登录时映射为的用户名
user_config_dir=/etc/vsftpd/ : 指定配置文件的存放路径
anonymous_enable=YES:是否允许匿名账户登录
anon_root=/var/ftp:设置匿名访问的根路径
anon_upload_enable=YES:是否允许匿名用户上传文件
anon_mkdir_write_enable=YES:是否允许匿名用户创建目录
anon_other_write_enable=YES:是否运行匿名用户修改其他用户的文件
local_enable=YES:是否启用本机账户FTP
local_max_rate=0:本地账户的传输的速率
local_umask=077:本地账户的权限遮罩码
chroot_local_user=YES:是否禁锢本地账户的家目录
local_root=/ftp/ :本地账户访问的家目录

e.启动服务并测试

启动.png

测试成功.png

至此,vsftpd已经可以使用。

原创文章,作者:zhangbao,如若转载,请注明出处:http://www.178linux.com/65792

(1)
zhangbaozhangbao
上一篇 2017-01-04
下一篇 2017-01-04

相关推荐

  • MongoDB

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2015-01-12
  • class17 网络管理(二)

    IP 地址 它们可唯一标识IP网络中的每台设备 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址           IP 地址由两部分组成:     • 网络ID:   …

    Linux干货 2016-09-06
  • 网络配置——CentOS7

    CentOS 7 网络属性配置 使用传统命名方式: (1) 编辑/etc/default/grub 配置文件 GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0" 或:修改/boot/grub2/grub.cfg (2) 为grub2 生成其配置文件 grub2-mkconfig -o /etc/g…

    Linux干货 2016-09-11
  • Linux的基础文件管理命令

    Linux用于管理文件的一些基本常见的命令如下: ls:  列出指定目录下的清单    -a  显示所有文件包括隐藏文件    -l  显示文件的详细信息    -d  查看目录自身   示例: cat:  可查看指定路径下的文件文本 fi…

    Linux干货 2016-11-06
  • 0809linux基础小记(sed和vim用法)

    sed  [options] ‘scripts’ inputfile -n: 不输出模式空间内容的自动打印 -e: 多点编辑 -f:从指定文件中读取编辑脚本 -i:原处编辑 scripts: ’地址命令’ 地址定界: (1)  不给地址:对全文进行处理 (2)  单地址: #:  指定的行 例: sed '2…

    Linux干货 2016-08-11
  • 第一周linux学习总结

    1、描述计算机的组成及其功能
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux干货 2017-12-04

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-29 17:23

    非常棒的总结,再接再励。