阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

FTP&Samba 服务部署教程

176次阅读
没有评论

共计 8397 个字符,预计需要花费 21 分钟才能阅读完成。

第 1 章 FTP服务部署

Linux 下,我们应用最广泛的 FTP 服务程序是 vsftpd (Very Secure FTP Daemon), 从名字我们也可以看出,其提供了非常安全的 FTP 服务。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。例如:

① 非常高的安全性需求 ②带宽限制 ③创建虚拟用户的可能性 ④高速

可以说 vsftpd 给我们提供了一个快速的、稳定的且相当安全的 FTP 服务

1.1 服务端配置

1.1.1 第一个里程碑: 检查是否有这个软件,(没有则安装软件)

[root@test ~]# rpm -qa vsftpd

CentOS 下默认没有安装 vsftpd 这个 FTP 程序

我们通过 yum install vsfptd 来进行安装

[root@test ~]# yum install vsftpd

说明:

服务的启动配置文件

/etc/rc.d/init.d/vsftpd

安装完之后在 /etc/vsftpd/ 路径下会存在三个配置文件

/etc/vsftpd/vsftpd.conf   主配置文件

/etc/vsftpd/ftpusers      指定 哪些用户不能访问 FTP 服务器 , 这里的用户包括 root 在内的用户。

/etc/vsftpd/user_list      指定的用户是否可以访问 ftp 服务器。

通过 vsftpd.conf 文件中的 userlist_deny 的配置来决定配置中的用户是否可以访问,

userlist_enable=YES userlist_deny=YES userlist_file=/etc/vsftpd/user_list

这三个配置允许文件中的用户访问FTP

1.1.2 第二个里程碑: 编写配置文件

  ftp服务有默认的配置文件,将原配置文件备份,重新编写配置文件

[root@test ftp]# mv  /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak

[root@test ~]# cat /etc/vsftpd/vsftpd.conf
#20171014
#HZS

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

默认配置文件说明:

参数

说明

anonymous_enable=YES

允许匿名用户

local_enable=YES

允许使用本地用户账号登陆

write_enable=YES

允许 ftp 用户写数据

connect_from_port_20=YES

通过 20 端口���输数据

#anon_mkdir_write_enable=YES 

是否允许匿名账户在 FTP 服务器中创建目录

xferlog_enable=YES 

启用上传和下载日志功能

#ascii_download_enable=YES

是否允许使用 ASCII 格式来上传和下载文件

pam_service_name=vsftpd

/设置 PAM 认证服务的配置文件名称 , 该文件存放在 /etc/pam.d/ 目录下.

userlist_enable=YES

用户列表中的用户是否允许登录 FTP 服务器 , 默认是不允许

tcp_wrappers=YES

/使用 tcp_wrqppers 作为主机访问控制方式

其他的配置参数说明:

ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息

idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断 ()

data_connection_timeout=120 :设置客户机在进行数据传输时 , 设置空闲的数据中断时间

accept_timeout=60 设置在多长时间后自动建立连接

connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;

max_clients=200 指明服务器总的客户并发连接数为200

max_per_ip=3 指明每个客户机的最大连接数为3

local_max_rate=50000(50kbytes/sec)  本地用户最大传输速率限制

anon_max_rate=30000匿名用户的最大传输速率限制

pasv_min_port=端口

pasv-max-prot=端口号 定义最大与最小端口,为 0 表示任意端口 ; 为客户端连接指明端口;

listen_address=IP地址 设置 ftp 服务来监听的地址,客户端可以用哪个地址来连接;

listen_port=端口号 设置 FTP 工作的端口号,默认的为21

local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录 , 若没有指定,则每一个用户则进入到个人用户主目录;

chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录 ( 所有 ); 锁定后,用户只能访问用户的主目录/home/user;

chroot_list_enable=yes/no 启用不锁定用户在主目录的名单

chroot_list_file=/etc/vsftpd/chroot_list指定列表文件

userlist_enable=YES/NO 是否加载用户列表文件;

userlist_deny=YES 表示上面所加载的用户允许登录;

userlist_file=/etc/vsftpd/user_list 指定列表文件

注意:

  在这里要禁止匿名登陆anonymous_enable=NO

1.1.3 第三个里程碑:创建用于 FTP 连接用户,设置密码

[root@test ~]# useradd ftpuser -s /sbin/nologin  -M
[root@test ~]# echo "ftpuser" |passwd --stdin ftpuser
Changing password for user ftpuser.
passwd: all authentication tokens updated successfully

1.1.4 第四个里程碑: 创建 ftp 共享目录,将目录所有者属于 ftpuser,将 ftpuser 用户家目录修改为共享目录。

[root@test ~]# mkdir /ftpshare
[root@test ~]# chown ftpuser.ftpuser /ftpshare
[root@test ~]# usermod ftpuser -d /ftpshare

检查配置是否正确:

[root@test ~]# ll /ftpshare/ -d
drwxr-xr-x 2 ftpuser ftpuser 4096 Oct 14 10:48 /ftpshare/

[root@test ~]# tail -1 /etc/passwd
ftpuser:x:501:501::/ftpshare:/sbin/nologin

1.1.5 第五个里程碑: 启动 vsftpd 服务,并设置开机自启动

[root@test ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd:                                [OK]

[root@test bin]# chkconfig  vsftpd on
[root@test bin]# chkconfig |grep vsftpd
vsftpd         0:off  1:off  2:on   3:on   4:on   5:on   6:off

1.2 客户端链接测试

第一步:打开 windows 上资源管理器

在地址栏中是输入服务器地址,注意 ftp 格式

ftp://10.0.0.250

确定,输入用户名,和密码进行登陆。

FTP&Samba 服务部署教程 FTP&Samba 服务部署教程

1.2.1 下载文件测试

FTP&Samba 服务部署教程 

1.2.2 上传文件测试

 FTP&Samba 服务部署教程

1.2.3 服务端检查

[root@test ftpshare]# ll
total 7072
-rw-r--r-- 1 ftpuser ftpuser 7234678 Oct 14 11:13 cwRsync.zip
-rw-r--r-- 1 root    root         60 Oct 14 11:05 访问正常.txt

1.3 Linux系统挂载 ftp 测试

[root@test ~]# mount -t nfs -o rw 10.0.0.250:/ftpshare/ /opt/
[root@test ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              19G  1.7G   17G  10% /
tmpfs                 238M     0  238M   0% /dev/shm
/dev/sda1             190M   40M  141M  22% /boot
10.0.0.250:/ftpshare/ 19G  1.7G   17G  10% /opt

第 2 章 samba服务配置

2.1 samba服务简介

Samba是一个能让 Linux 系统应用 Microsoft 网络通讯协议的软件,而 SMBServer Message Block的缩写,即为 服务器消息块 SMB 主要是作为 Microsoft 的网络通讯协议,后来 SambaSMB通信协议应用到了 Linux 系统上,就形成了现在的 Samba 软件。后来微软又把 SMB 改名为 CIFSCommon Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得 Samba 具有了更强大的功能。

Samba最大的功能就是 可以用于 Linuxwindows系统直接的文件共享和打印共享 Samba 既可以用于 windowsLinux之间的文件共享,也可以用于 LinuxLinux之间的资源共享,由于 NFS( 网络文件系统)可以很好的完成 LinuxLinux之间的数据共享,因而 Samba 较多的用在了 Linuxwindows之间的数据共享上面。

SMB 基于客户机 / 服务器型的协议 ,因而一台Samba 服务器既可以充当文件共享服务器,也可以充当一个 Samba 的客户端,例如,一台在 Linux 下已经架设好的 Samba 服务器,windows客户端就可以通过 SMB 协议共享 Samba 服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它 windows 系统或者 Linux 系统共享出来的文件。

Sambawindows 下使用的是 NetBIOS 协议,如果你要使用 Linux 下共享出来的文件,请确认你的 windows 系统下是否安装了 NetBIOS 协议

组成 Samba 运行的有两个服务,一个是 SMB,另一个是NMBSMBSamba 的核心启动服务,主要负责建立 Linux Samba 服务器与 Samba 客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有 SMB 服务启动,才能实现文件的共享,监听 139 TCP 端口 ;而NMB 服务是负责解析用的 ,类似与DNS 实现的功能,NMB可以把 Linux 系统共享的工作组名称与其 IP 对应起来,如果 NMB 服务没有启动,就只能通过 IP 来访问共享文件,监听 137138 UDP端口。

例如,某台 Samba 服务器的 IP 地址为 10.0.0.163,对应的工作组名称为davidsamba,那么在WindowsIE浏览器输入下面两条指令都可以访问共享文件。其实这就是 Windows 下查看 Linux Samba 服务器共享文件的方法。

\\10.0.0.163\共享目录名称

\\davidsamba\共享目录名称

Samba服务器可实现如下功能:WINSDNS 服务; 网络浏览服务; LinuxWindows 域之间的认证和授权; UNICODE字符集和域名映射;满足 CIFS 协议的 UNIX 共享等。

2.2 samba服务端部署

2.2.1 第一个里程碑: 检查软件是否安装(安装 samba 软件)

[root@test ~]# rpm -qa samba

安装 samba 服务

[root@test ~]# yum install  samba -y
Dependency Installed:
  libtalloc.x86_64 0:2.1.5-1.el6_7                                               
  libtdb.x86_64 0:1.3.8-3.el6_8.2                                                
  libtevent.x86_64 0:0.9.26-2.el6_7                                              
  samba-common.x86_64 0:3.6.23-45.el6_9                                          
  samba-winbind.x86_64 0:3.6.23-45.el6_9                                         
  samba-winbind-clients.x86_64 0:3.6.23-45.el6_9

2.2.2 第二个里程碑: 编写配置文件

samba服务默认配置文件位置为 /etc/samba/smb.conf 备份该文件,重新写配置文件

[root@test ~]# mv  /etc/samba/smb.conf /etc/samba/smb.conf.bak

配置文件内容:

[root@test ~]# vim /etc/samba/smb.conf

[global]
workgroup = WORKGROUP
netbios name = Test_samba
server string = Linux Samba Server TestServer
security = share

[test]
path = /share_samba
writeable = yes
browseable = yes
guest ok = yes
~                                                                                
"/etc/samba/smb.conf" 11L, 189C written

配置文件参数说明:

参数

说明

[global]

这段是全局配置,是必段写的。

workgroup

就是 Windows 中显示的工作组

netbios name

就是在 Windows 中显示出来的计算机名

server string

就是 Samba 服务器说明,可以自己来定义;这个不是什么重要的

security

这是验证和登录方式,这里我们用了share

share,就是不用设置用户和密码了

[test]

这个在 Windows 中显示出来是共享的目录

path

可以设置要共享的目录放在哪里

writeable

是否可写,这里我设置为可写

browseable

是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

guest ok

匿名用户以 guest 身份是登录

2.2.3 第三个里程碑: 创建共享目录,修改权限

[root@test ~]# mkdir -p /share_samba
[root@test ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@test ~]# chown nobody.nobody /share_samba -R

说明:

  关于授权 nobody,我们先用id 命令查看了 nobody 用户的信息,发现他的用户组也是 nobody,我们要以这个为准。有些系统nobody 用户组并非是nobody

2.2.4 第四个里程碑: 启动 smbnmb服务,加入开机启动

[root@test ~]# /etc/init.d/smb start
Starting SMB services:                                     [OK]

[root@test ~]# chkconfig smb on
[root@test ~]# chkconfig |grep smb
smb            0:off  1:off  2:on   3:on   4:on   5:on   6:off

说明:

    由于未涉及域名解析,所以不启动 nmb 服务也可以访问

2.3 windows客户端测试

2.3.1 windows上添加网络位置(samba共享的文件夹)

    打开资源管理器,右键单击,选择“添加网络位置”

FTP&Samba 服务部署教程

输入 samba 服务器的地址

格式: \\samba服务器地址 \ 共享目录名称

说明 : 共享目录名称 为设置的局部变量名,我设置的为[test]

FTP&Samba 服务部署教程 

    点击下一步,设置显示的名称【可以选择默认】

FTP&Samba 服务部署教程 

    至此 samba 共享的文件夹在 winndows 上添加上了

 FTP&Samba 服务部署教程

2.3.2 对共享文件夹进行测试

上传测试

 FTP&Samba 服务部署教程

[root@test share_samba]# pwd
/share_samba
[root@test share_samba]# tree
├── test.zip
└── samba sever.txt

下载文件测试

FTP&Samba 服务部署教程 

2.4 cento 6.9 上测试说明 samba 共享

安装 samba 客户端

[root@test ftp]# yum install samba-client
 
[root@test ~]# smbclient //172.16.1.250/test
WARNING: The security=share option is deprecated
Enter root's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-45.el6_9]
Server not using user level security and no password supplied.
smb: \> ls
  .                                   D        0  Sat Oct 14 14:38:47 2017
  ..                                 DR        0  Sat Oct 14 13:49:02 2017
  samba sever.txt                     A       60  Sat Oct 14 03:05:00 2017
  RedHat-release                              27  Sat Oct 14 14:49:16 2017
  test.zip                            A  7234678  Sat Oct 14 11:08:50 2017
 
    38152 blocks of size 524288. 32854 blocks available

挂载方式

[root@test ~]# mount.tmpfs //10.0.0.250/test/ /mnt/
[root@test ~]# df -h
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda3            19G  1.7G   17G  10% /
tmpfs               238M     0  238M   0% /dev/shm
/dev/sda1           190M   40M  141M  22% /boot
//10.0.0.250/test/  238M     0  238M   0% /mnt 

2.5 至此 samba 服务配置完成。

 使用的系统版本为: CentOS Linux release 7.4.1708 (Core) 内核版本为:3.10.0-693.el7.x86_64

CentOS 7.2 安装配置 Samba 服务器  http://www.linuxidc.com/Linux/2017-03/141390.htm

VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍 http://www.linuxidc.com/Linux/2013-06/85445.htm

Ubuntu 15.04 安装 Samba 服务 http://www.linuxidc.com/Linux/2016-03/129201.htm

samba 安装使用图解  http://www.linuxidc.com/Linux/2017-03/141254.htm

CentOS7.2 下源码搭建 Samba 文件服务器[原创] http://www.linuxidc.com/Linux/2017-06/144557.htm

CentOS 7.2 安装配置 Samba 服务器 http://www.linuxidc.com/Linux/2017-03/141390.htm

CentOS 部署 Samba 企业文件共享服务 http://www.linuxidc.com/Linux/2016-06/132609.htm

Samba 共享服务器的搭建优化  http://www.linuxidc.com/Linux/2017-03/141700.htm

如何在 Ubuntu 16.04 上安装和配置 Samba 服务器以进行文件共享  http://www.linuxidc.com/Linux/2017-11/148194.htm

CentOS 6.7 下 Samba 服务器的搭建与配置(share 共享模式)http://www.linuxidc.com/Linux/2016-12/138220.htm

Ubuntu 16.04 下 Samba 相关配置  http://www.linuxidc.com/Linux/2016-12/138498.htm

Red Hat 6.5 下 Samba 服务器搭建 http://www.linuxidc.com/Linux/2017-07/145747.htm

CentOS 7 下 Samba 服务安装与配置详解  http://www.linuxidc.com/Linux/2017-11/148354.htm

 本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148842.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计8397字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中