Linux 之 samba 部署&优化

Samba是什么

Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到。

是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

[[email protected] ~]# yum install -y samba samba-client #安装 samba 服务端,客户端是 samba-client

[[email protected] ~]# vim /etc/samba/smb.conf   #查看配置文件

配置文件解说:

[global] 定义全局的配置

workgroup用来定义工作组,相信如果您安装过windows的系统,你会对这个workgroup不陌生。一般情况下,需要我们把这里的MYGROUP改成WORKGROUP(windows默认的工作组名字)。

server string = samba Server Versiod &v 这个是显示的信息,是可以自定义的。

security = user #这里指定samba的安全等级。关于安全等级有四种:

share:用户不需要账户及密码即可登录samba服务器

user:由提供服务的samba服务器负责检查账户及密码(默认)

server:检查账户及密码的工作由另一台windows或samba服务器负责

domain:指定windows域控制服务器来验证用户的账户及密码。

passdb backend 用户名密码存放的方式

passdb backend = tdbsam # passdb backend(用户后台),samba有三种用户后台:smbpasswd, tdbsam和ldapsam.

smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。

tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用 smbpasswd -a 创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:

pdbedit -a username:新建Samba账户。

pdbedit -x username:删除Samba账户。

pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。

pdbedit -Lv:列出Samba用户列表详细信息。

pdbedit -c “[D]” -u username:暂停该Samba用户账号。

pdbedit -c “[]” -u username:恢复该Samba用户账号。

ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置 “passdb backend = ldapsam:ldap://LDAP Server”

load printers 和 cups options 两个参数用来设置打印机相关。

除了这些参数外,还有几个参数需要你了解:

netbios name = MYSERVER # 设置出现在网上邻居中的主机名

hosts allow = 127. 192.168.12. 192.168.13. 172.16.# 用来设置允许的主机,如果在前面加 ”;” 则表示允许所有主机

log file = /var/log/samba/%m.log #定义samba的日志,这里的%m是上面的netbios name

max log size = 50 # 指定日志的最大容量,单位是M

[homes] 该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单纯的文件共享的环境来说,这部分可以注视掉。

[printers] 该部分内容设置打印机共享。

------------------------------------------------

实验:共享一个任何用户都可以访问的目录(只读),不需要输入用户名和密码

[[email protected] ~]# vim /etc/samba/smb.conf

workgroup = MYGROUP改为 WORKGROUP

security = user  改为 security = share

末尾处加入:

[共享]   #(共享名)

comment = share all

path = /tmp/samba   #共享的路径

browseable = yes    #是否允许在工作组

public = yes        #是否公开

writable = no       #不可写

启动

[[email protected] ~]# /etc/init.d/smb start

Starting SMB services:                                     [  OK  ]

[[email protected] ~]# mkdir /tmp/samba   #创建共享目录

[[email protected] ~]# cp /etc/passwd /tmp/samba/1.txt  #拷贝文件

[[email protected] ~]# mkdir /tmp/samba/test     #创建测试目录

[[email protected] ~]# chmod 777 /tmp/samba/test/  #授权 777

在windows 客户端访问测试

在Linux 下的访问

[[email protected] ~]# smbclient //10.72.4.50/共享  #linux 下的访问

WARNING: The security=share option is deprecated

Enter root‘s password:   #提示输入root 密码,直接回车就好

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

Server not using user level security and no password supplied.

smb: \> ls  #查看访问的目录内的文件

.                                   D        0  Wed Dec  7 16:01:28 2016

..                                  D        0  Wed Dec  7 15:58:47 2016

1.txt                                     1467  Wed Dec  7 16:01:07 2016

test                                D        0  Wed Dec  7 16:01:28 2016

35889 blocks of size 524288. 28160 blocks available

--------------------------------------------------------------------------

还可以挂载访问

[[email protected] ~]# yum install -y cifs-utils   #安装

挂载访问

[[email protected] ~]# cd /opt/
[[email protected] opt]# ls
1.txt  test

-------------------------------------------------------------------------------

实验fg二:输入用户名和密码登录共享文件,且可读可写。

[[email protected] ~]# vim /etc/samba/smb.conf

security = share 更改为 user

添加以下代码:

[linux_test]    #共享文件名,用户自定义

comment = share for users  #用户自定义

path = /tmp/samba          #共享路径

browseable = yes           #是否可浏览

writable = yes             #是否可写

public = no                #是否公共

------------------------------------

[[email protected] ~]# useradd smbuser1 #创建测试帐户,密码不需要定义,因为登录samba 服务并不是用系统的用户名和密码。但是我们用samba 服务登录时的用户名和系统是相同的,实际用户只是映射。

[[email protected] ~]# useradd smbuser1

[[email protected] ~]# pdbedit -a smbuser1

new password:

retype new password:

[[email protected] ~]# /etc/init.d/smb restart  #重启smb 服务

Shutting down SMB services:                                [  OK  ]

Starting SMB services:                                     [  OK  ]

Windows 下的验证:但是楼主看到了两个文件夹,是黙认共享。

在linux 下的访问:

[[email protected] ~]# smbclient -Usmbuser1 //10.72.4.50/linux_test

Enter smbuser1‘s password:

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

smb: \> ls

.                                   D        0  Wed Dec  7 16:01:28 2016

..                                  D        0  Wed Dec  7 16:59:17 2016

1.txt                                     1467  Wed Dec  7 16:01:07 2016

test                                D        0  Wed Dec  7 17:42:40 2016

35889 blocks of size 524288. 28159 blocks available

可读可写。

--------------------------------------------------------------------------

2016-12-08 楼主的实验继续,在用下面这条命令的时候报错了:

mount -t cifs -o username=smbuser1,password=zaq12wsx //10.72.4.50/linux_test /opt/

下面日志文件的报错:

命令后报错:

今天问一下学长:他问我有没有启动smb服务,昨天晚上折腾的时候,不知道重启了多少次。

楼主于是重启虚机,重启服务。奇迹发生了。可以mount ,无语中...

[[email protected] ~]# mount -t cifs -o username=smbuser1,password=zaq12wsx //10.72.4.50nux_test /opt/

Linux 之 samba 部署&优化

时间: 2024-12-28 12:05:01

Linux 之 samba 部署&优化的相关文章

Linux常用服务部署与优化

Linux常用服务部署与优化 A.NFS部署和优化1 1. 安装NFS服务端与配置文件 [[email protected] mnt]# yum install -y nfs-utils rpcbind     //安装服务端 [[email protected] mnt]# vim /etc/exports    //打开配置文件,配置共享文件,文件默认是空的 /mnt  10.30.4.137(rw,sync)    //配置共享文件/mnt [[email protected] mnt]#

lamp/lnmp阶段练习Linux常用服务部署与优化

lamp/lnmp阶段练习Linux常用服务部署与优化 我们以模拟实际需求的形式来复习.需求如下: 1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache和nginx + php 2. 同时安装apache和nginx,其中nginx启动80端口,用来跑静态对象(图片.js.css),apache监听88端口,负责跑动态页(php相关的),并且需要由nginx代理对外访问3. mysql服务器需要开启慢查询日志4. 搭建discuz.wordpress以及phpmy

Linux vsftp 部署&优化

[[email protected] ~]# yum install -y vsftpd  #安装 centos自带的vsftp 服务 启动 vsftpd 服务,如果服务启动失败,检查日志.可以看到是 端口被 pure-ftpd占用. 关掉pure_ftpd 服务,再启动,就可以了. [[email protected] ~]# /etc/init.d/vsftpd start Starting vsftpd for vsftpd:                                

samba 部署和优化

一. samba配置 1. 什么是samba Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到. 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. 2. 安装配置samba yum install -y samba samba-client 配置文件解说: [global] 定义全局的配置,workgroup用来定义工作组,相信如果您安装过window

Linux下安装部署Samba共享盘的操作手册

简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源.

samba部署和优化

samba服务可以实现在Linux上共享一个目录,可以让Windows用户访问.本节介绍samba共享服务器的搭建过程. 安装samba服务端和客户端: [[email protected] ~]# yum install -y samba samba-client 通过实验来说明samba的使用方式: 实验1:共享一个目录,任何人都可以访问该目录,不需要用户名密码,只读 编辑配置文件: [[email protected] ~]# vim /etc/samba/smb.conf 修改1:sec

Linux之Samba基础知识及应用

Linux之Samba基础知识及应用 一.Samba简介 Server Message Block的缩写是SMB,即服务器消息块,SMB主要是作为Microsoft的网络通讯协议.Samba将SMB通信协议应用到了Linux系统上.其功能特性可实现:WINS和DNS服务.网络浏览服务.Linux和Windows域之间的认证和授权.UNICODE字符集和域名映射.满足CIFS协议的UNIX共享等 SMB是基于客户机/服务器型的协议,故一台Samba服务器既可当文件共享服务器,也可充Samba的客户

CentOS(5.8/6.4)linux生产环境若干优化实战

CentOS(5.8/6.4)linux生产环境若干优化实战 CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几点关于Linux系统安装后的基础优化操作. 注意:本次优化都是基于CentOS(5.8/6.4).关于5.8和6.4两者优化时的小区别,我会在文中提及的. 优化条目: 修改ip地址.网关.主机名.DNS等 关闭selinux,清空iptables 添加普通用户并进行sudo授权管理 更新yum源及必要软件安装 定时自动更新服务器时间 精

Samba部署共享服务

今天的学习课程为: Samba部署共享服务接下来让我们了解一下Samba服务程序现在已经成为在Linux系统与Windows系统之间共享文件的最佳选择Samba可以使:Linux---linux之间文件共享,也可以使Linux---windows之间文件共享NFS:网络文件系统:linux---linux之间的简化文件共享服务 .简单记录下搭建过程:一安装yum -y install samba samba-client samba-common二修改配置1.cd /etc/samba/2.备份