FTP/NFS/SAMBA

FTP的工作模式(参考对象是服务端)
FTP(File Transfer Protocol)
文件传输协议,支持FTP协议的服务器叫做FTP服务器
作用:文件的上传和下载
FTP:文件传输协议
软件包:vsftpd
FTP端口:控制端口 21/TCP
数据端口:20/TCP(主动模式才有)
主配置文件:/etc/vsftpd/vsftpd.conf

主动模式
服务端主动去连接客户端
C:客户端 S:服务端
被动模式
服务端等客户端连接

vsftpd相关核心文件和目录
/etc/vsftpd vsftpd软件的主目录
/etc/vsftpd/vsftpd.conf 主配置文件
/var/ftp 默认的共享目录

主配置文件(/etc/vsftpd/vsftpd.conf)
vsftpd配置文件默认位于/etc/vsftpd目录下
vsftpd启动时会自动寻找.conf结尾的文件,使用这些文件启动服务
配置文件的一般格式:选项=值(中间没有空格),#开头的行会被当成注释
anonymous_enable=YES #是否允许匿名登录
local_enable=YES #是否允许本地用户登录
write_enable=YES #是否可写

vsftpd支持的登录方式
匿名用户登录
一般用于下载服务器,不需要输入用户名和密码
默认的共享路径是/var/ftp
anonymous_enable=YES //允许匿名登录
anon_upload_enable=YES //匿名用户可以上传
anon_mkdir_write_enable=YES //匿名用户可以创建目录
chown_uploads=YES //是否改变匿名用户上传文件的所有者
chown_username=whoever //是否改变匿名用户上传文件的所有者为whoever

本地用户登录
使用系统账号和密码登录FTP(/etc/passwd)
前期准备:
1、关防火墙
2、关SeLinux
3、配置静态IP
4、配置yum源

修改配置文件vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //禁止匿名登录
local_enable=YES //允许本地用户登录
write_enable=YES //允许本地用户上传
local_umask=022 //上传文件的权限掩码
chroot_local_user=NO //禁止用户访问根目录
chroot_list_enable=YES //白名单
chroot_list_file=/etc/vsftpd/chroot_list //白名单的路径

创建白名单
vim /etc/vsftpd/chroot_list

重启服务
systemctl restart vsftpd
虚拟用户登录
使用独立的账号和密码登录FTP服务器

NFS
Network File System 网络文件系统

作用:解决Linux之间的文件共享,可以共享某个目录给目标主机

搭建前的准备
1、检查防火墙
2、检查SeLinux
3、配置静态IP
4、配置yum源

环境:
客户端:192.168.10.141
服务端:192.168.9.120

服务端和客户端都要做的步骤
1、查看软件包是否安装
[root@ops14 vsftpd]# rpm -qa | grep nfs
libnfsidmap-0.25-19.el7.x86_64
nfs-utils-1.3.0-0.54.el7.x86_64 #NFS的主程序
nfs4-acl-tools-0.3.3-17.el7.x86_64
[root@ops14 vsftpd]# rpm -qa | grep rpcbind
rpcbind-0.2.0-44.el7.x86_64 #提供数据通信用的RPC协议

2、如果没有对应的软件包,安装
yum install -y nfs-utils rpcbind

查看软件相关的文件
rpm -ql nfs-utils
/etc/sysconfig/nfs 服务启动脚本
/sbin/mount.nfs 挂载
/sbin/umount.nfs 取消挂载
/usr/sbin/exportfs 管理命令
/usr/sbin/showmount 查看共享资源

服务端的配置
例子:
服务器共享/nfstest目录给所有的客户端,权限是只读
1、创建共享目录
mkdir -pv /nfstest

2、创建一个文件
echo “Hello NFS” > /nfstest/file1

3、vim /etc/exports
#要共享的目录 要共享给谁(权限:ro只读,rw读写)
/nfstest *(ro)

4、重启服务
[root@zhoukai ~]# systemctl restart nfs-server.service
[root@zhoukai ~]# systemctl reload nfs-server.service

5、查看共享资源
showmount -e 192.168.9.120

客户端的配置
1、检查软件是否安装
rpm -qa | grep nfs
rpm -qa | grep rpcbind

2、如果未安装,则安装软件包
yum install -y nfs-utils rpcbind

3、查看目标服务器的共享资源
showmount -e 192.168.9.120

4、挂载
建挂载点
mkdir -pv /opt/nfsdir

挂载
格式
mount.nfs 服务器的地址:共享目录 本地的挂载点
mount.nfs 192.168.9.120:/nfstest /opt/nfsdir/

5、查看挂载
df -h

最后用:cd /opt/nfsdir ,再ls 查看文件;再vim+文件名,查看里面内容

配置文件详解
共享的资源 共享给谁(共享的权限)
共享的资源:服务器的共享目录 /nfstest
共享给谁:多台主机用空格分开

192.168.1.204 某台主机
wuyvxuan 主机名

  •   		任意主机
    

*.seecen.com 匹配seecen.com的所有主机

/nfs1 192.168.1.51(rw)

权限
ro 只读
rw 读写

配置一个共享目录/nfs1共享给
192.168.9.104(读写)
和192.168.10.145(只读)

服务端:
1、准备共享目录和共享文件
mkdir -pv /nfs1
echo hello > /nfs1/file1

2、编辑配置文件
/nfs1 192.168.9.104(rw) 192.168.10.145(ro)

3、重启服务
[root@zhoukai nfstest]# systemctl restart nfs-server.service
[root@zhoukai nfstest]# systemctl reload nfs-server.service

4、查看共享资源
showmount -e 192.168.9.120

5、给目录添加权限
chmod o+w /nfs1

客户端
1、查看共享资源
showmount -e 192.168.9.120

2、挂载
建立挂载点
mkdir -pv /opt/nfs1

挂载
mount.nfs 192.168.9.120:/nfs1 /opt/nfs1

Samba
Linux和Linux之间用NFS共享
Linux和Windows之间用samba共享

配置文件
/etc/samba/smb.conf
#开头是注释

[global] //全局设置
workgroup = SAMBA //定义工作组
security = user //验证设置
user:需要用户名和密码才能访问
share:匿名用户 //CentOS7已经弃用

passdb backend = tdbsam					//用户和密码的存放格式

printing = cups							//打印相关
printcap name = cups
load printers = yes 

cups options = raw

[homes] 定义一个共享资源
comment = Home Directories 描述信息
valid users = %S, %D%w%S 允许哪些用户使用
browseable = No 不能浏览共享资源
read only = No 只读
inherit acls = Yes 继承ACL权限

[printers] 共享打印机
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No

权限控制
writeable=no
write list=用户名 可写列表
readonly=no
read list=用户名 可读列表

访问控制:
设置哪些主机可以使用samba共享服务
hosts allow=xx.xx.xx.xx 允许指定的主机
hosts deny=xx.xx.xx.xx 拒绝指定的主机

例子:
在服务端,提供一个可读的共享资源/sambatest
Windows访问192.168.10.141\test
描述信息:This is a samba test server

搭建前的准备工作:
1、关闭防火墙
2、关闭SeLinux
3、配置静态IP
4、配置yum源

1、查看软件包是否已安装
[root@ops14 ~]# rpm -qa | grep samba
samba-common-tools-4.7.1-6.el7.x86_64 工具包
samba-client-4.7.1-6.el7.x86_64 客户端
samba-common-libs-4.7.1-6.el7.x86_64 通用组件库
samba-client-libs-4.7.1-6.el7.x86_64 客户端组件库
samba-libs-4.7.1-6.el7.x86_64 主程序库文件
samba-4.7.1-6.el7.x86_64 主程序
samba-common-4.7.1-6.el7.noarch 通用工具包

2、安装软件包
yum install -y samba

3、配置共享资源
mkdir -pv /sambatest
echo “Hello Samba” > /sambatest/samba.txt

4、编辑配置文件(/etc/samba/smb.conf)
[test]
comment = This is a samba test server
path = /sambatest
browseable = YES
read only = YES

5、准备samba用户和密码(系统上要有对应的用户)
[root@ops14 ~]# useradd samba1
[root@ops14 ~]# useradd samba2
[root@ops14 ~]# echo 123456 | passwd --stdin samba1
Changing password for user samba1.
passwd: all authentication tokens updated successfully.
[root@ops14 ~]# echo 123456 | passwd --stdin samba2
Changing password for user samba2.
passwd: all authentication tokens updated successfully.

添加samba用户
smbpasswd -a samba1
smbpasswd -a samba2

查看samba用户
pdbedit -L

6、重启服务
systemctl restart smb

7、查看下共享资源
Windows下
\192.168.10.141

练习:
搭建一个samba服务器,共享一个目录/seecen
共享名haha,描述hehe
可浏览
匿名用户不可以访问
只允许samba1用户和samba2组成员访问
samba1用户可写,samba2组的成员只读
拒绝8.8.8.8用户的访问

1、创建共享目录
mkdir /seecen

2、设置目录权限
chmod -v o+w /seecen/

3、修改配置文件
vim /etc/samba/smb.conf

[haha]
comment = hehe
path = /seecen
browseable = YES
guest ok = NO
writeable = NO
write list = samba1
read list = @samba2
valid users = samba1,@samba2
hosts deny = 8.8.8.8

4、重启服务
systemctl restart smb

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值