Samba的配置
对于linux与windows共享,和平共处,我们可以用Samba软件
Samba是一套免费的开源软件,可以在linux或其他类unix操作系统上实现windows域控制器,文件服务,打印服务等。
Samba实现了windows系统所使用的核心网络协议:SMB(Server Message Block)
Samba可以提供如下功能:
活动目录服务(Active Directory Server, ADS)
主域控制器(Primary Domain Controller, PDC)
共享目录
共享打印机
Samba是一个高性能的服务软件,只需要更低的硬件就可以实现windows server相同的性能。
一、安装Samba
sudo apt-get install samba
安装完成之后,在windwos上访问(我的linux server ip:192.168.1.66):
输入\\192.168.1.66 如图:
通过标题栏可以看出已经可以访问了,但里面没有共享资源
二、Samba的配置
Samba的配置文件是/etc/samba/smb.conf,它所使用的语法和windows的.ini文件差不多。
注:在修改配置练习时,请备份原配置文件
最简单的配置
[global]
security=share
[linux_share]
path=/home/linux/share
public=yes
这个配置分成两段:
第一段:global
第二段:linux_share 这是一个自己定义的名字,当从windows访问时,就可以看到这个共享文件夹的名称
security=share, 表示安全等级为share,这样用户不需要经过密码验证了。
path定义了共享的文件夹的路径
public=yes 表示公开给所有人访问
配置完成时,检查一下配置文件的语法: 用testparm命令
如图:
重启Samba生效
sudo /etc/init.d/smbd restart
现在通过windows访问可以看到我们创建的共享文件夹了
三、Samba的安全认证
Samba提供了安全认证等级,分4个级别:
share : 不需要输入用户名和密码
user :
需要输入用户名,密码, Samba对用户进行认证
server :
认证工作由另一台Samba服务器或者Windows server负责
domain : 指定一台windows
server来进行用户认证
其中user是Samba的默认安全认证级别,也就是说在/etc/samba/smb.conf配置文件中,将security一行改为security=user,那么用户在浏览共享内容前,就必须输入用户名和密码。
现在把安全级别提升为user
sudo vim /etc/samba/smb.conf
[global]
security=user
[linux_share]
path=/home/linux/share
valid users=cdyemail
#指定有效的用户,多个用可访问用逗号隔开
public=no
#公开访问为否
重启samba服务:sudo /etc/init.d/smbd restart
通过windows访问如图:
现在要密码了,但是输入linux的用户名和密码无法通过认证,如果想让Samba通过认证,需要以下几点:
(1)、在ubuntu系统中创建用户
(2)、在Samba中创建该用户
(3)、在windows中创建相同的用户(和Samba用户密码相同)
1、在Ubuntu中创建用户
如果要将某个资源共享给新用户,必须先用adduser命令向Ubuntu中添加该用户。如:
我们打算将某个资源共享给一个叫做cdyemail的用户,首先要做的就是在Ubuntu系统中创建这个用户
sudo useradd cdyemail
这样,系统中就有了cdyemail这个用户了。
2、在Samba中创建用户
Ubuntu系统中的用户,和Samba用户是两回事,要将资源共享给某个系统中的用户,必须将该用户添加到Samba中。
添加方法:
sudo smbpasswd -a cdyemail
#smbpasswd是命令, -a表示add user , cdyemail表示用户名
这样cdyemail的认证信息就被写入到Samba中了。重启Samba生效
添加完用户和密码后,现在可以在windows中通过这个用户名和密码进行访问了。
3、在windows中创建相同的用户
在windows客户端中,我们需要创建与samba中完全相同的用户名和密码,这样才能通过Samba的认证,我们在windows客户端上打开
Samba共享资源时,Samba会自动将windows环境中的用户信息传递到服务器上进行验证,因此如果登录的windows用户和Samba用户名
相同的话(密码也相同),就不需要输入密码了,自动就能通过认证。
我在测试中通过,相当给力!!
4、Samba用户密码修改
如果修改密码了,则windows与Samba都要同步修改。在Samba中修改的方法如下:
sudo smbpasswd cdyemail #cdyemail为要修改的用户名
如果windows不修改,则要手动输入Samba修改后的用户名和密码,windows修改后要求注销一下(重登录)
三、共享权限的控制
目录我们只要以访问文件的内容,但没有权限修改文件,也无法向共享目录添加新文件。
1、添加文件写入权限
[global]
security=user
[linux_share]
path=/home/linux/share
valid users=cdyemail
writeable=yes #添加一句,表示具有写权限了
public=no
重启samba服务 sudo /etc/init.d/smbd restart
,之后就可以写文件了,但要求服务器上的目录本身有这个权限。我测试时用rwx权限测试成功。
对于服务器目录权限的测试:
由于我共享的是share目录,创建时用root,所以在默认的情况下,即使开了writeable也没有权限写,因为服务器目录的本身权限有问题。
(1)先修改用户所属
sudo chown cdyemail:cdyemail
(2)只保留cdyemail用户有权限访问这个目录
sudo chmod u+rwx,g-rwx,o-rwx share
(3)访问,测试写文件
测试成功,cdyemail用户有权限写。
*********未完************
由于现在要在命令行下进行数据共享的工作,所以先记录到这儿,有时间再记录其它的功能
访问服务器的共享资源:
服务器配置如下,一个要求用户认证的共享,一个大众都可能访问的。
[global]
security=user
[share_resource]
path=/home/linux/share
valid users=shareuser
writeable=yes
public=no
[public]
path=/home/linux/public
writeable=yes
public=yes
客户机访问如下:
安装:smbclient , smbfs
smbclient可以查看资源,下载资源等,这里用mount挂载远程的共享目录
sudo mount -t smbfs -o username=shareuser,passwd=*****
//192.168.1.66/share_resource /mnt/data
#smbfs是文件系统类型
#share_resource就是在samba中定义的共享名称,挂载到/mnt/data目录上
*************************
转自:http://blog.sina.com.cn/s/blog_6c9d65a10100oobp.html
- Linux下Samba的配置
前言: 为了实现windows 和 Linux以及其它操作系统之间的资源共享,软件商推出nfs 和samba两种解决方案.因为市场上缺乏象pc-nfs那样的client工具,使得Linux和windo ...
- [Linux实用工具]Windows下同步Linux文件(Linux安装Samba和配置)
场景需求: 安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行.如果windows下编辑完再上传到服务器,再编译执行,就太繁琐了.一次两次还好说,这编译 ...
- linux下Samba服务配置
SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可 ...
- Linux下samba的安装与配置
背景 在window7下面虚拟了一个CentOS6.3,为了学习命令行就没有装图形包,所以我的CentOS是黑屏的那种,呵呵,当然了,VMWare提供 的增强功能我就不能用了(或许能 ...
- linux中Samba服务器的配置
Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件 ...
- Linux下实现文件共享配置[samba]
Linux下实现文件共享配置[samba] 第一步:安装samba软件 1.命令:rpm –q samba #查询是否已安装sambayum install samba #使用yum源安装samba, ...
- Samba快速配置
Samba是linux,unix,windows之间进行交互操作的软件组件,Sanma是基于GPL协议的自由开源软件. 快速配置samba文件服务器 1.关闭防火墙和SELinux [root@cen ...
- Samba安装配置
Samba简介 Samba官网:http://www.samba.orgSMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不 ...
- Samba网络配置
Samba网络配置 操作环境 ubuntu14.04 1. 更新Linux源列表 sudo apt-get update 2. 安装Samba服务 sudo apt-get install samba ...
随机推荐
- C++ Template之函数模版
函数模版的定义: template <typename T> T const& max(const T& a,const T b) { return a > b ? ...
- ios UI实现技巧
statusBar 移动位置 NSString *key = [[NSString alloc] initWithData:[NSData dataWithBytes:(unsigned ] enco ...
- 4-Highcharts 3D图之3D普通饼图
<!DOCTYPE> <html lang='en'> <head> <title>4-Highcharts 3D图之3D普通饼图</title& ...
- JavaScript垃圾回收
JavaScript内存监测工具 http://www.cnblogs.com/strick/p/4002010.html
- Solr Schema.xml和solrconfig.xml分析(转)
Solr Schema.xml和solrconfig.xml分析 (http://yinwufeng.iteye.com/blog/964040) 一.字段配置(schema) schema.xml位 ...
- Vim 中使用cscope
使用cscope碰到的问题 1. E568: duplicate cscope database not added 根据提示,cscope数据库重复添加了,我使用的是vim7.2版本,而这个版本在已 ...
- JS This关键字
http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html http://www.cnblogs.com/ ...
- 通过HTML条件注释判断IE版本的HTML语句详解<!--[if IE]> <![endif]-->
我们常常会在网页的HTML里面看到形如[if lte IE 9]……[endif]的代码,表示的是限定某些浏览器版本才能执行的语句,那么这些判断语句的规则是什么呢?请看下文: <!--[if ! ...
- Tomcat自动启动脚本
Tomcat自动启动脚本#!/bin/bash # chkconfig: 2345 10 90 # description: Starts and Stops the Tomcat daemon. T ...
- MYSQL注入天书之stacked injection
第三部分/page-3 Stacked injection Background-8 stacked injection Stacked injections:堆叠注入.从名词的含义就可以看到应该是一 ...