FTP&samba 服务简单部署

第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

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

 

1.2.1 下载文件测试

 

1.2.2 上传文件测试

 

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

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

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

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

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

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

  \\10.0.0.163\共享目录名称

  \\davidsamba\共享目录名称

  Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; 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 第四个里程碑: 启动smb和nmb服务,加入开机启动

[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共享的文件夹)

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

输入 samba服务器的地址

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

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

 

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

 

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

 

2.3.2 对共享文件夹进行测试

上传测试

 

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

下载文件测试

 

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服务配置完成。

 

时间: 2024-07-29 09:54:24

FTP&samba 服务简单部署的相关文章

samba服务配置文本

创建简单的samba服务器 samba  很少用于互联网 /大部分用于局域网  网页更新/ 首先看下你是否安装后了samba. rpm -qa | grep samba   samba的简介 1)samba文件的位置  /etc/samba/smb.conf 2)samba的俩守护进程:  --smbd(主要的) 监听139tcp端口 进程的作用负责用户的验证和文件的共享  --nmbd监听137和138udp 进程的作用处理浏览器的共享和计算机的名称的解析 3)开启samba服务#/etc/r

CentOS6.3安装samba服务并配置匿名访问方式

为了在本地测试,但环境是liunx,每次用ftp来上传,显得有点??隆S谑歉?约旱男槟庵骰?entOS6.3安装samba服务并配置匿名访问方式,这样就可以在共享里面直接用编辑器编辑了,和编辑本地文件一样.接下来看看如何简单配置samba服务器 一.CentOS6.3安装samba服务  代码如下 复制代码 yum -y install smaba 二.编辑samba配置文件   vi /etc/samba/smb.conf 1)更改用户组    代码如下 复制代码   workgroup =

用samba服务构建基于企业级的文件共享服务

用samba服务可轻松构建基于企业级的文件共享服务,配置起来比windows的NTFS+共享权限更简单, 更容易,而且samba可以直接通过内核和用户交互数据,访问效率更高. ------------------------ -------- 公司部门: 技术部门:technical 客服部门:customer 销售部门:sales 各部 门成员说明: 技术部门成员:dennis ... 客服部门成员:lulu ... 销售部门成员:amy ... 公司总经理:sfzhang     文件共享需

Linux操作系统中Samba服务介绍

  Samba介绍: 早期在UNIX之间,或者LINUX之间可以通过FTP共享资源,还可以通过NFS共享资源,现在更多的是通过SAMBA服务器. SAMBA主要的目的就是替换早期NFS服务,SAMBA服务不光是可以在UNIX,LINUX之间共享资源,还可以与微软产品之间共享资源,主要的好处是它可以出现在微软的网络邻居上面,可以通过访问微软产品的方式访问UNIX和LINUX服务器. SAMBA是一组软件包,使LINUX支持SMB协议,这个协议是在TCP/IP上实现的,它是微软产品之间实现文件和共享

win7访问linux的samba服务

问题描述 win7访问linux的samba服务 我在配置samba服务器,linux是安装在vmware中的,在win7的运行里键入 192.168.0.128 不能访问samba,说是系统找不到指定文件 ,在linux中键入" smbclient //192.168.0.128/yoyo -U yoyo " 然后输入密码 ,能访问共享目录,这是怎么回事??如何在win7 下访问samba共享目录??,防火墙都关了,能互相ping通 解决方案 ping下看通不通,先检查下网络的问题.

使用 Amazon Web 服务完成部署过程

Apache Geronimo是 Apache Software Foundation的最新项目之一.Java 专家 Kunal Mittal 将通过演示如何在 Geronimo 中编写和开发标准 J2EE Web 服务代码,向您介绍 Geronimo 的 Web 服务功能. 要确定某个应用服务器是否支持 Web 服务开发工作吗?Apache Geronimo 应用服务器完全可以满足这一要求,它是 Apache Software Foundation 的最新项目之一.Java 专家 Kunal

Linux下的samba服务配置

查询linux是否按照了samba服务,rpm -qa | grep samba 如果没有安装,yum安装或者rpm -ivh安装一下,然后 service smb start ,查看smb服务是否启动是用 ps -aux | grep smb 或者查看那对应的端口是否打开了.Netstat -tlun | grep 139 检查139端口是否在监听状态, 正常启动samba服务之后我们需要建立一个系统的用户来当作samba登录的用户, Useradd samba 添加一个系统用户 Passwd

RHEL 6 搭建Samba服务

  Samba是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFSServer Message Block/Common Internet File System网络协定做连结的自由软件.简而言之此软件在Windows与UNIX系列OS之间搭起一座桥梁让两者的资源可互通有无. SMB协议是C/S模式客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.配置samba服务可以使同一网络中的linux和windows主机之间互相访问对方共享资源. samba提供

samba服务的搭建

  Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能.Samba是在Linux及Unix上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成. Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEU