Linux学习笔记14:FTP、NFS、SAMBA文件服务

文章目录

  • 前言
  • 一、FTP文件传输服务(协议)
  • 二、NFS网络文件共享系统
    • 1.NFS案例
    • 2. auto+NFS实验
  • 三、SAMBA
    • samba案例
  • 总结


前言

最高级的断舍离,是整理自己。


一、FTP文件传输服务(协议)

控制连接21端口 数据连接20端口 C/S架构

有PORT方式和PASV方式,即主动模式和被动模式
Linux学习笔记14:FTP、NFS、SAMBA文件服务_第1张图片

客户端命令:

Linux: ftp lftp
Windos: ftp://ip

配置文件: vim /etc/vsftpd/vsftpd.conf

参数 作用
listen=NO 是否以独立运行的方式监听服务
listen_address=ip地址 设置要监听的IP地址
listen_port=21 设置FTP服务的监听端口
download_enable=YES 是否允许下载文件
userlist_enable=YES 设置用户列表为"允许"
userlist_deny=YES 设置用户列表为"禁止"
max_clients=0 最大客户端连接数,0为不限制
max_per_ip=0 同一IP地址的最大连接数,0为不限制
anonymous_enable=YES 是否允许匿名用户访问
anon_upload_enable=YES 是否允许匿名用户上传文件
anon_umask 匿名用户上传文件的umask
anon_root=/var/ftp 匿名用户的ftp根目录
anon_mkdir_write_enable=YES 是否允许匿名用户创建目录
anon_other_write_enable=YES 是否开放匿名用户的其他写入权限(重命名、删除等)
anon_max_rate=0 匿名用户的最大传输速率,0为不限制
local_enable=yes 是否允许本地用户登录
local_umask=022 本地用户上传文件的umask值
local_root=/vat/ftp 本地用户的ftp根目录
chroot_local_user=YES 是否将用户权限禁锢在ftp目录,以确保安全
local_max_rate=0 本地用户的最大传输速率,0为不限制

涉及到匿名、本地、虚拟三种用户访问
配置文件 权限控制 文件存储 相关性很大。

二、NFS网络文件共享系统

常用于linux/unix之间的文件共享

基于RPC协议

客户端和服务端均需要安装nfs-utils软件包

1.NFS案例

Linux学习笔记14:FTP、NFS、SAMBA文件服务_第2张图片

  • 关闭防火墙和selinux,每台机器操作一样
[root@server1 ~]# systemctl stop firewalld
[root@server1 ~]# setenforce 0
  • 准备web
[root@server1 ~]# yum install httpd -y
[root@server1 ~]# systemctl start httpd

[root@server2 ~]# yum install httpd -y
[root@server2 ~]# systemctl start httpd
  • 准备nas端
# 安装nfs服务
[root@server3 ~]# yum install -y nfs-utils
# 准备共享目录
[root@server3 ~]# mkdir /webdata
# 准备共享文件
[root@server3 ~]# echo "

today i study but you sleep i good you bad

" > /webdata/index.html
# 配置nfs服务 [root@server3 webdata]# cat /etc/exports /webdata 192.168.65.0/24(rw) [root@server3 ~]# systemctl restart nfs-server.service
  • 查看共享
[root@server1 ~]# yum install -y nfs-utils
[root@server1 ~]# showmount -e 192.168.65.134
[root@server2 ~]# yum install -y nfs-utils
[root@server2 ~]# showmount -e 192.168.65.134
  • 挂载后端nas存储
[root@server1 ~]# vim /etc/fstab
192.168.65.134:/webdata /var/www/html/ nfs default 0 0
[root@server1 ~]#mount -a
[root@server1 ~]#df -Th
(server2 同理)
  • 最后在浏览器测试访问即可

2. auto+NFS实验

systemctl install nfs-utils -y

systemctl install autofs -y

systemctl start nfs-server.service 

systemctl start autofs.service 

1.首先在server1部署NFS服务端,做完后尝试在server2上使用showmount -e命令验证。

showmount -e 192.168.65.131

手动挂载一次,挂载成功证明NFS能够正常访问,如果不能先解决这部分问题。

①mount -t nfs 192.168.65.131:/data/user /mnt/user

df -Th

②192.168.65.131:/data/user /mnt/user            nfs     defaults        0 0

mount -a

2.在server2上配置autofs,手动创建目录/data,autofs做好了。

systemctl restart autofs.service 

df -Th

以后执行cd /data/user应该能够执行,这个目录是不需要手动创建是会自动挂载的。

df -Th

3.如果没问题可以进行创建user用户,这样server1和server2两台机器的user用户就共享了家目录。

三、SAMBA

基于cifs协议

重启服务命令

[root@server1 ~]# systemctl restart smb.service 
[root@server1 ~]# systemctl restart nmb.service 

samba案例

不同用户访问同一共享资源名称时,访问到的是不同目录下的文件

#创建三个samba用户,并指定密码为centos
useradd -s /sbin/nologin -r smb1   #加选项-r 不创建家目录
useradd -s /sbin/nologin -r smb2
useradd -s /sbin/nologin -r smb3
smbpasswd –a smb1       #创建对应账号的口令  ,不加-a表示修改已经存在的账号的口令
smbpasswd –a smb2
smbpasswd –a smb3
[root@SMB ~]#pdbedit -L    #查看samba账号
smb1:995:
smb3:993:
smb2:994:
#修改samba配置文件
vim /etc/samba/smb.conf
#在workgroup下加一行 
config file= /etc/samba/conf.d/%U 说明:%U表示用户名  #这个步骤为关键步骤
[share]               #共享文件夹在最后添加
Path=/data/dir        #指定分享文件夹的路径
Read only= NO         #不仅仅是只读
Guest ok = yes        
write list=@admin
[root@SMB ~]#mkdir /data/dir
[root@SMB ~]#mkdir /data/dir1
[root@SMB ~]#mkdir /data/dir2
[root@SMB ~]#touch /data/dir/share.txt  #新建共享文件
[root@SMB ~]#touch /data/dir1/smb1.txt  #新建给smb1用户访问特定文件
[root@SMB ~]#touch /data/dir2/smb2.txt  #新建给smb2用户访问特定文件
[root@SMB ~]#tree /data/
/data/
├── dir
│   └── share.txt
├── dir1
│   └── smb1.txt
└── dir2
    └── smb2.txt
    
3 directories, 3 files
#针对smb1和smb2用户创建单独的配置文件
[root@SMB ~]#vim /etc/samba/conf.d/smb1
[share]
Path=/data/dir1
Read only= NO 等价于writable = yes
Create mask=0644
#说明:默认为744
[root@SMB ~]#vim /etc/samba/conf.d/smb2
[share]
path=/data/dir2
systemctl restart smb nmb     #重启对应的服务
#用户smb1,smb2,smb3访问share共享目录,看到目录是不同目录,smb3访问的是默认的share目录
  • 在客户机上进行测试
[root@client ~]#smbclient //192.168.32.18/share -U smb1%1
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri Dec 20 13:11:40 2019
  ..                                  D        0  Fri Dec 20 13:10:56 2019
  smb1.txt                            N        0  Fri Dec 20 13:11:40 2019
		52403200 blocks of size 1024. 52004560 blocks available
smb: \> exit
[root@client ~]#smbclient //192.168.32.18/share -U smb2%centos
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri Dec 20 13:12:53 2019
  ..                                  D        0  Fri Dec 20 13:10:56 2019
  smb2.txt                            N        0  Fri Dec 20 13:12:53 2019
		52403200 blocks of size 1024. 52004560 blocks available
smb: \> exit
[root@client ~]#smbclient //192.168.32.18/share -U smb3%centos
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri Dec 20 13:13:12 2019
  ..                                  D        0  Fri Dec 20 13:10:56 2019
  share.txt                           N        0  Fri Dec 20 13:11:26 2019
		52403200 blocks of size 1024. 52004560 blocks available
smb: \> exit
[root@client ~]#

总结

以上就是今天总结的内容,本文仅仅简单介绍了FTP、NFS、SAMBA三种文件服务,FTP主要用于给其他人共享文件,NFS和SAMBA更多用于网络存储上。感兴趣的小伙伴可以再多多阅读其他的详细博客进行进一步学习。

你可能感兴趣的:(Linux,linux,服务器,运维)