FTP和SMB服务

  • ftp
  • ftp的应用类型
  • 匿名账户
  • ftp准备
  • 过程
  • 配置命令
  • 系统账户
  • 过程
  • 服务命令
  • 虚拟账户
  • 创建过程
  • 服务命令
  • 服务验证
  • Samba服务
  • Samba服务概述
  • Samba服务基础
  • Samba软件包构成
  • Samba服务器的主要程序
  • Samba的配置目录及文件
  • Samba服务搭建
  • 过程
  • 服务命令


ftp

  • ftp的作用:用于文件的上传和下载
  • ftp属于TCP协议
    21号端口:控制层面,用于账号密码验证和权限的验证
    20号端口:数据层面,用于文件的上传和下载

ftp的应用类型

匿名账户

ftp准备

登录名为ftp、anonymous,无需验证密码即可登录

过程

  • 先确保服务器和客户机的防火墙和核心防护都已关闭
  • 使用yum安装vsftpd服务
  • 进入vsftpd配置文件进行配置设置
  • 重启vsftpd服务
  • 客户机进行验证

配置命令

#服务器上的配置命令
yum -y install vsftpd     # 安装vsftpd服务
vi /etc/vsftpd/vsftpd.conf
   anon_other_write_enable=YES    ## 允许匿名账户的其他写操作
   anonymous_enable=YES       # 允许匿名账号登录
   write_enable=YES           # 允许写操作
   anon_umask=022             # 匿名账户的权限为755
   anon_upload_enable=YES     # 允许匿名账户的下载操作
   anon_mkdir_write_enable=YES     # 允许匿名账户的额创建目录和写操作
   dirmessage_enable=YES
   xferlog_enable=YES
   connect_from_port_20=YES
   xferlog_std_format=YES
   listen=YES                 # 开启ipv4监听
   listen_ipv6=NO             # 关闭ipv6监听
   pam_service_name=vsftpd
   userlist_enable=YES
   tcp_wrappers=YES
systemctl restart vsftpd
chown -R ftp.ftp /var/ftp/pub     
chmod -R 755 /var/ftp/pub     ## 设置目录权限为755

使用客户机ftp进行vsftpd服务的验证

系统账户

过程

  • 先确保服务器和客户机的防火墙和核心防护都已关闭
  • 在虚拟机上创建新用户zhangsan和lisi并设置登录密码
  • 在两个新用户的home目录下即 /home/zhangsan和 /home/lisi目录下分别新建两个不同的新文件,以作后续的实验
  • 在vsftpd配置文件中设置所需要的配置(/etc/vsftpd/vsftpd.conf)
  • 配置完成后重启vsftpd的配置
  • 分别以zhangsan用户和lisi用户进入服务器的ftp服务,进行文件上传和下载的操

服务命令

#服务器上的命令
yum -y install vsftpd          # 安装vsftpd服务
cd /etc/vsftpd/vsftpd.conf     # 进入vsftpd配置文件
   local_enable=YES            # 本地可登录
   write_enable=YES            # 可写
   local_umask=022             # 权限为755
   dirmessage_enable=YES
   xferlog_enable=YES
   connect_from_port_20=YES
   xferlog_std_format=YES
   chroot_local_user=YES       # 可登录
   listen=YES                  # 开启ipv4监听
   listen_ipv6=NO              # 关闭ipv6监听
   allow_writeable_chroot=YES
   pam_service_name=vsftpd
   userlist_enable=YES
   tcp_wrappers=YES
   userlist_deny=NO            # 只允许用户列表中的用户登录,使用于限制于单个用户登录。配置文件为 /etc/vsftpd/user-list
grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$"     # 查看配置文件中有效配置文件
systemctl restart vsftpd       # 重启vsftpd服务
cd /home/zhangsan              # 进入zhangsan目录下新建文件
echo "qqqqqqq" > a
cd /home/lisi
echo "woshishuaige" > aaa
#客户机上的命令
yum -y install ftp
ftp 客户机ip                    # 客户机登录服务器
get 文件名                      # 下载服务器中文件
put 文件名                      # 上传本地文件

虚拟账户

创建过程

  • 添加虚拟用户列表
  • 新建虚拟用户账户数据库
  • 修改/etc/vsftpd/vdftpd.conf配置文件
  • 创建同名用户来修改虚拟账户的权限

服务命令

# vi /etc/vsftpd/vusers.list         # 设置虚拟账户列表
      liming			# 设立两个虚拟用户
      123
      wangwu
      456
# cd /etc/vsftpd
# db_load -T -t hash -f vusers.list vusers.db      # 用hash转换db文件
# file vusers.db           	# 查看生成的db文件
# chmod -R 600 /etc/vsftpd/vusers.*		# 设置vusers.的文件权限为600
# useradd -d /var/ftproot -s /sbin/nologin virtual           # 新建虚拟用户
# chmod -R 755 /var/ftproot     # 设置虚拟用户的权限为755
# vi /etc/pam.d/vsftpd.vu       # 修改pam认证文件的内容
     #%PAM-1.0
     auth    required    pam_userdb.so   db=/etc/vsftpd/vusers          # 对账户名和密码进行认证
     account required    pam_userdb.so   db=/etc/vsftpd/vusers          # 对密码的有效期及密码账户的一些权限限定的认证
# vi /etc/vsftpd/vsftpd.conf
     local_enable=YES
     guest_enable=YES
     guest_username=virtual
     write_enable=YES
     local_umask=022
     dirmessage_enable=YES
     xferlog_enable=YES
     connect_from_port_20=YES
     xferlog_std_format=YES
     chroot_local_user=YES
     listen=YES
     listen_ipv6=NO
     pam_service_name=vsftpd.vu
     anon_world_readable_only=NO   
     user_config_dir=/etc/vsftpd/vusers_dir
     userlist_enable=YES
     tcp_wrappers=YES
     allow_writeable_chroot=YES
# mkdir /etc/vsftpd/vusers_dir   # 创建新文件夹
# touch /etc/vsftpd/vusers_dir/liming    # 在新文件夹下用户同名文件用来修改用户的权限
     anon_upload_enable=YES
     anon_mkdir_write_enable=YES
     write_enable=YES
# touch /etc/vsftpd/vusers_dir/wangwu   # 空文件及用户只有目录的权限,无额外权限

服务验证

yum -y install ftp
ftp  192.168.188.130
liming              # 有读写的权限
wangwu              # 无权限

Samba服务

Samba服务概述

Samba服务基础

  • SMB协议
    Server Message Block 服务块消息
  • CIFS协议
    Common Internet File System 通用互联网文件系统
  • Samba项目
    网址: http://www.samba.org

Samba软件包构成

  • samba-common-4.6.2-8.el7.noarch
  • samba-common-libs-4.6.2-8.el7.x86_64
  • samba-client-4.6.2-8.el7.x86_64
  • samba-client-libs-4.6.2-8.el7.x86_64

Samba服务器的主要程序

  • smbd :提供对服务器中的文件,打印资源的共享访问
  • nmbd :提供基于NetBIOS主机名称的解析

Samba的配置目录及文件

/etc/samba
/etc/samba/smb.conf
配置文件检查工具 :testparm
smb.conf文件的配置内容
[global] : 全局设置
[homes] : 用户目录共享设置
[printers] : 打印机共享设置
[myshare] : 自定义名称的共享目录设置

Samba服务搭建

过程

  • 创建普通账户和组
  • 账户划分进组
  • 对共享目录设定权限
  • 对共享目录设定属主、属组
  • 更改Samba主配置文件中属主的权限,让其有权限读和写

服务命令

useradd xiaoming 	       # 创建新用户
useradd xiaozhang
pdbedit -a -u xiaoming	       # 用户设置为samba用户,并设置密码
pdbedit -a -u xiaozhang
mkdir /share		       # 创建share目录
touch /share/aaa	       # 创建新文件
touch /share/bbb
chmod -R 777 /share	       # 设置share目录权限为777
vi /etc/samba/smb.conf	       # 进入samba配置文件
         [share]
	 comment = share directory
	 path = /share
	 public = yes
	 valid users = xiaoming, xiaozhang
	 write list = xiaoming
systemctl start nmb		# 开启samba服务
systemctl start smb