linux下一步步安装和配置samba服务器

一,简介:

Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。

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

二,系统环境

操作系统:CentOS-6.5-x86_64-minimal

防火墙:disable

三,安装samba服务

即可使用yum工具安装,也可以使用挂载光盘进行安装。有依赖关系的包samba-common,samba-winbind-clients,libsmbcliet将自动安装上去。

[[email protected] ~]#  yum install samba samba-client samba-swat

Loaded plugins: fastestmirror

Setting up Install Process

Loading mirror speeds from cached hostfile

* base: mirrors.yun-idc.com

* extras: ftp.sjtu.edu.cn

* updates: mirrors.yun-idc.com

http://mirrors.btte.net/centos/6.7/extras/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn‘t resolve host ‘mirrors.btte.net‘"

Trying other mirror.

extras                                                              | 3.4 kB     00:00

updates                                                             | 3.4 kB     00:00

Package samba-3.6.23-20.el6.x86_64 already installed and latest version

Package samba-swat-3.6.23-20.el6.x86_64 already installed and latest version

Resolving Dependencies

--> Running transaction check

---> Package samba-client.x86_64 0:3.6.23-20.el6 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================

Package                 Arch              Version                   Repository       Size

===========================================================================================

Installing:

samba-client            x86_64            3.6.23-20.el6             base             11 M

Transaction Summary

===========================================================================================

Install       1 Package(s)

Total download size: 11 M

Installed size: 39 M

Is this ok [y/n]: y

2,查看安装的状况

[[email protected] ~]# rpm -qa |grep samba

samba-winbind-3.6.23-20.el6.x86_64

samba-common-3.6.23-20.el6.x86_64

samba-swat-3.6.23-20.el6.x86_64

samba-winbind-clients-3.6.23-20.el6.x86_64

samba-3.6.23-20.el6.x86_64

3,安装包说明:

samba-common-3.5.10-125.el6.x86_64                 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.5.10-125.el6.x86_64                    //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.5.10-125.el6.x86_64                    //基于https协议的samba服务器web配置界面
samba-3.5.10-125.el6.x86_64                         //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项

备注:samba服务器安装完毕,会生成配置文件目录/etc/samba和其他一些samba可执行工具,/etc/samba/smb.conf是samba的核心配置文件

4,启动samba服务器常用的命令:

/etc/init.d/smb start | stop |restart   或 service smb start | stop | restart

[[email protected] ~]# service smb start

Starting SMB services:                                     [  OK  ]

[[email protected] ~]# service smb status

smbd (pid  24789) is running...

(一)配置samba服务

Samba的主配置文件为:/etc/samba/smb.conf

主配置文件有两部分构成

Global Settings   (它的设置项目是针对所有的共享资源的)

Share Definitions  (针对的是共享目录个别的设置,只对当前共享资源起作用)

具体的配置看下边的实例:

案例一:公司现有一个工作组workgroup,现需要文件服务器作为文件服务器,并发布共享目录为/share 共享名为public允许所有的员工访问。

1,修改/etc/samba/smb.conf文件

#======================= Global Settings =====================================

[global]                                                  //该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源

# ----------------------- Network Related Options -------------------------

#

# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH

#

# server string is the equivalent of the NT Description field

#

# netbios name can be used to specify a server name not tied to the hostname

workgroup = WORKGROUP                             //定义工作组,也就是windows中的工作组概念

server string = David Samba Server Version %v     //定义Samba服务器的简要说明

netbios name = DavidSamba                         //定义windows中显示出来的计算机名称

# --------------------------- Logging Options -----------------------------

#

# Log File let you specify where to put logs and how to split them up.

log file = /var/log/samba/log.%m                  //定义Samba用户的日志文件,%m代表客户端主机名

//Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件

# ----------------------- Standalone Server Options ------------------------

#

# Scurity can be set to user, share(deprecated) or server(deprecated)

security = share                                  //共享级别,用户不需要账号和密码即可访问

#============================ Share Definitions ==============================

[public]                                                  //设置针对的是共享目录个别的设置,只对当前的共享资源起作用

comment = Public Stuff                            //对共享目录的说明文件,自己可以定义说明信息

path = /share                                     //用来指定共享的目录,必选项

public = yes                                      //所有人可查看,等效于

2,使用testparm 命令测试smb.conf配置是否正确

[[email protected] share]# testparm

Load smb config files from /etc/samba/smb.conf

rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

Processing section "[public]"

Processing section "[ts]"

Processing section "[HR]"

Processing section "[FM]"

Processing section "[TS]"

Processing section "[Share]"

WARNING: The security=share option is deprecated

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

3,创建共享目录和文件

[[email protected] share]# mkdir /share

[[email protected] ~]# cd /share/

[[email protected] share]# ll

total 8

-rw-r--r--. 1 nobody nobody  0 Oct 16 16:08 1.txt

-rwxr--r--. 1 nobody nobody 43 Oct 19 17:14 2.txt

-rwxr-----. 1 nobody nobody  6 Oct 19 17:18 ddd .txt

4,给share文件夹赋权限

[[email protected] share]# chown -R nobody:nobody /share

[[email protected] share]# ll /share/

total 8

-rw-r--r--. 1 nobody nobody  0 Oct 16 16:08 1.txt

-rwxr--r--. 1 nobody nobody 43 Oct 19 17:14 2.txt

-rwxr-----. 1 nobody nobody  6 Oct 19 17:18 ddd .txt

5,重启smb服务

[[email protected] share]# /etc/init.d/smb restart

Shutting down SMB services:                              [  OK  ]

Starting SMB services:                                     [  OK  ]

6,在Windows下访问samba服务器的共享:

案例二:因业务需要,有共享目录ts,以便ts部门人员浏览查看,需要输入个人密码才可以访问。

1,添加ts部门组和用户并设置相应的密码

[[email protected] ~]# groupadd ts

[[email protected] ~]# useradd -g ts user1

[[email protected] ~]# useradd -g ts user2

[[email protected] ~]# passwd user1

Changing password for user user1.

New password:

BAD PASSWORD: it is too simplistic/systematic

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successful

[[email protected] ~]# passwd user2

BAD PASSWORD: it is too simplistic/systematic

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

2,创建ts目录文件夹

[[email protected] ~]# mkdir /ts

3,将刚才建立的两个账号添加到samba账号中(smbpasswd  -a user1)

[[email protected] ~]# smbpasswd -a user1

New SMB password:

Retype new SMB password:

Added user user6.

3,修改主配置文件:vim /etc/smb/smb.conf

#======================= Global Settings =====================================

[global]

# ----------------------- Network Related Options -------------------------

#

# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH

#

# server string is the equivalent of the NT Description field

#

# netbios name can be used to specify a server name not tied to the hostname

workgroup = WORKGROUP

server string = David Samba Server Version %v

netbios name = DavidSamba

# --------------------------- Logging Options -----------------------------

#

# Log File let you specify where to put logs and how to split them up.

log file = /var/log/samba/log.%m

# ----------------------- Standalone Server Options ------------------------

#

# Scurity can be set to user, share(deprecated) or server(deprecated)

security = user                                   //用户级别,由提供服务的Samba服务器负责检查账户和密码

#============================ Share Definitions ==============================

[homes]                                                   //设置用户宿主目录

comment = Home Directories

browseable = no

writable = yes

;       valid users = %S

;       valid users = MYDOMAIN\%S

[public]

comment = Public Stuff

path = /share

public = yes

[ts]                                                      //ts 组目录,只允许ts组成员访问

comment = TS

path = /ts

valid users = @ts

4,重启smb服务

[[email protected] ~]# service smb restart

Shutting down SMB services:                                [  OK  ]

Starting SMB services:                                     [  OK  ]

5,在windows下访问

备注:给samba服务器添加用户最简单的步骤:

1,groupadd test            创建组

2, useradd  -g test user1     创建用户并把用户添加到组中

3,passwd user1               设置用户的密码

4,smbpasswd  -a liqingbiao     把user1账号添加到samba的账号中

即可通过该smaba的用户名和密码进行访问了

smaba常用的命令

testparm           测试smb.conf配置是否正确

smbstatus          #就可以查出那些用户在用samba相关的资料

pdbedit -L         查看服务器注册的用户

service smb start | status | restart | stop

时间: 2024-10-12 14:19:48

linux下一步步安装和配置samba服务器的相关文章

CentOS 7.2 安装配置Samba服务器

1背景 转Linux刚刚1年,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境, 看同事是(Windows)Source Insight + WinSCP + Linux 开发,来回同步文件有点麻烦,所以想尝试搭个Samba服务器做共享文件. 不过希望以后还是要转到vim上来. 2环境 CentOS系统 [[email protected] ~]# cat /etc/redhat-release CentOS Linux rele

CentOS安装配置Samba服务器

假设我们有这样一个场景 共享名     路径         权限 SHAREDOC   /smb/docs    所有人员包括来宾均可以访问 RDDOCS     /smb/tech    仅允许特定组的用户进行读写访问 特定组的组名为RD,目前的有quwenzhe.zhanghongjie两个人 1.安装Samba  yum -y install samba samba-client samba-common 2.创建共享目录(假设共享/smb目录下的文件) # mkdir -p /smb/

CentOS7安装配置SAMBA服务器

假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以访问 RDDOCS /smb/tech 仅允许特定组的用户进行读写访问 特定组的组名为RD,目前的Alice.Jack.Tom三个人 安装SAMBA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 # yum 

安装配置Samba服务器(CentOS7)

假设我们有这样一个需求 共享名     路径         权限 SHAREDOC   /smb/docs    所有人员包括来宾均可以访问 RDDOCS     /smb/tech    仅允许特定组的用户进行读写访问 特定组的组名为RD,目前的有zyy一人 1.安装Samba yum -y install samba samba-client samba-common 2.创建共享目录(假设共享/smb目录下的文件) # mkdir -p /smb/docs # mkdir -p /smb

linux下配置samba服务器

linux下配置samba服务器 1. 什么是samba Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到. 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. 2.安装配置samba 安装命令:yum install -y samba samba-client 配置文件:/etc/samba/smb.conf [global] workgroup = 

CentOS 7.3 安装配置Samba服务器

1背景 转到Linux有段时间了,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境, 看同事是(Windows)Source Insight + WinSCP + Linux 开发,来回同步文件有点麻烦,所以想尝试搭个Samba服务器做共享文件. 不过希望以后还是要转到vim上来. 2环境 CentOS系统 [[email protected] ~]# cat /etc/RedHat-release CentOS Linux re

配置samba服务器

提示:该实验所在的平台是在RedHat 6下 该实验成功的前提有三个: (1):windows能ping通linux系统 (2):关闭linux的防火墙 :执行指令 /etc/init.d/iptables  stop (3):让SeLinux关闭  :执行指令:  setenforce permissive 补充: SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.SELinux 是一个

Linux CentOS下安装、配置mysql数据库

如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.eclipse我们就已经能进行我们的程序开发了,但是如果要做一个项目,哪怕是小的不能再小的项目都离不开数

在centos下配置samba服务器

centos 安装samba 1. 安装sambayum -y install samba samba-client 2. 查看安装情况# rpm -qa | grep samba samba-client-3.0.33-3.40.el5_10samba-3.0.33-3.40.el5_10samba-common-3.0.33-3.40.el5_10 3. 启动samba[[email protected] ~]# service smb startStarting SMB services: