samba的配置及使用

原创 2011年01月19日 23:20:00

前几天使用winscp在windows和linux之间拷贝文件,结果由于编码的设置不当,导致在windows下查看linux上的文件时中文字符全是乱码,而且不能拷贝。google了下winscp乱码相关的问题,但是根据这些方法都没能解决这个问题。于是决定使用大名鼎鼎的samba。下面以Ubuntu 10.04为例,简单的说明samba的配置和使用方法。

 

1. 安装samba

 

# apt-get install samba smbfs

 

启动samba服务

# /etc/init.d/smbd start

 

# /etc/init.d/smbd restart

 

停止samba服务

 

# /etc/init.d/smbd stop

 

2. 配置samba

 

samba的配置文件是/etc/samba/smb.conf,该配置文件主要可以分成两部分,一部分是以"[global]"开始的全局设置部分,剩下的则各个共享的设置。下面通过一个简单的例子来说明,配置文件中常用的一些配置的含义,配置文件的内容如下:

 

 

[global]

workgroup = WORKGROUP

        server string = %h server

netbios name = nc1
server string = Linux Samba Server TestServer
security = share

 

[public]
        path = /opt/public
        writeable = yes
        browseable = yes
        guest ok = yes

上面这段配置文件的含义如下:

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

workgroup 就是Windows中显示的工作组;
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;

另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

 

[public] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。

如果您不想显示出来,那就设置为 browseable=no;

guest ok 匿名用户以guest身份登录

 

添加上述配置后,创建/opt/public目录,并将其所属的用户改为nobody,如下:

 

# mkdir -p /opt/public

# chown -R nobody:nogroup /opt/public

 

重启samba,在windows的地址栏中输入“//linux主机ip地址”,就应该可以看到一个public的文件夹,而且你可以往该文件夹写东西,创建新的文件。呵呵,是不是很简单啊,下面在看看其他的一些应用场景。

 

场景1.  创建一个共享目录,所有的人都读写,且不需要登录

 

[global]

。。。
security = share

 

[scene1]
        path = /opt/scene1
        writeable = yes
        browseable = yes
        guest ok = yes

 

 

# mkdir -p /opt/scene1

# chown -R nobody:nogroup /opt/scene1

 

 

场景2. 创建一个共享目录,所有的人都只能读,不能写,且不需要登录

 

 

 

[global]

。。。
security = share

 

[scene2]
        path = /opt/scene2
        writeable = no
        browseable = yes
        guest ok = yes

 

 

# mkdir -p /opt/scene2

# chown -R nobody:nogroup /opt/scene2

 

场景3. 创建一个共享目录,匿名用户不能访问,必须登录才能读写

 

 

# 添加用户

# mkdir -p /home/user1

# groupadd user1

# useradd -g user1 -d /home/user1 -s /sbin/nologin user1

# chown -R user1:user1  /home/user1

 

# 将该用户添加到samba,并为其设置登录密码

#smbpasswd -a user1

New SMB password:

Retype new SMB password:

 

# 修改samba配置文件

[user1]

        path = /home/user1

directory mask = 0755

create mask = 0644
        writeable = yes
        browseable = yes

valid user = user1

 

 

其他的情况可以参考上述配置进行自由的更改。

 

关于乱码的解决方法:

编码的设置需要根据linux系统的配置做出调整,如果系统的locale是zh_HK.UTF-8等含有UTF-8的编码,则在global中添加

 

display charset = UTF-8
unix charset = UTF-8

dos charset = cp936

 

如果locale是zh_CN.GBK或zh_CN.gb2312,则如下设置:

 

display charset = cp936
unix charset = cp936
dos charset = cp936

 

隐藏打印机:

 

如果你使用samba只是进行文件共享,那么你可以不想看到打印机的图标,通过在global中添加如下的配置可以很容易做到。

 

disable spoolss = yes

 

3. 使用samba

 

通过适当的配置,现在直接在windows的地址栏中输入“//linux主机ip地址”就应该能够看到那些共享的文件了。如果你想长期的占用,可以通过windows的“映射网络驱动器”来实现。

 

同样,在linux下想要访问windows下的文件也很简单,通过mount命令即可。

 

# mount -t smbfs  -o codepage=cp936,username=用户名,password=密码  //ip地址或计算机名/共享文件夹名   挂载点

# smbmount  -o codepage=cp936,username=用户名,password=密码 //ip地址或计算机名/共享文件夹名    挂载点

 

除了mount和smbmount,linux还有很多工具可以查看通过samba共享的文件,这里不再一一细说。

Linux存储实验五:Samba服务共享文件权限配置

关于文件权限设置,说一下我的总结 1. 针对所有人共享,且提供读写权限(以共享/public为例)                                        2. ...
  • houqingdong2012
  • houqingdong2012
  • 2013年05月03日 16:11
  • 11754

Linux下最完整的Samba服务器配置攻略

From: http://leyewen.blog.163.com/ 以下以root用户执行 1、安装: # yum install samba samba-client...
  • u012256258
  • u012256258
  • 2016年11月07日 23:50
  • 10165

SAMBA配置与使用详细解析

Samba使用大全(一)-samba服务器  1. Samba协议基础。    在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBI...
  • xkq_lyx
  • xkq_lyx
  • 2013年10月21日 10:54
  • 5979

Ubuntu中Samba的安装配置和使用

  • 2012年07月26日 14:18
  • 444KB
  • 下载

ubuntu下samba的配置和使用

Samba服务器在两种不同操作系统间架起了一座桥梁,使Linux系统和Windows系统之间能够通信。通过Linux操作系统下的samba服务,可以实现Windows主机访问Linux下共享文件的功能...
  • tennysonsky
  • tennysonsky
  • 2017年12月11日 14:57
  • 110

Ubuntu中Samba的安装配置和使用[图文]

Samba服务在Ubuntu服务器版本中默认并没有安装。 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samba #s...
  • QQ576494799
  • QQ576494799
  • 2016年08月16日 21:43
  • 155

linux上samba服务的配置使用

以前我们在windows上共享文件的话,只需右击要共享的文件夹然后选择共享相关的选项设置即可。然而如何实现windows和linux的文件共享呢?这就涉及到了samba服务了,这个软件配置起来也不难,...
  • shidaping
  • shidaping
  • 2016年06月23日 10:26
  • 365

Ubuntu中Samba的安装配置和使用[图文]

Samba服务在Ubuntu服务器版本中默认并没有安装。 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samba ...
  • zldz14
  • zldz14
  • 2017年06月30日 07:58
  • 139

Ubuntu中Samba的安装配置和使用

Samba服务在Ubuntu服务器版本中默认并没有安装。 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install sam...
  • CaesarZou
  • CaesarZou
  • 2012年03月05日 11:32
  • 510

linux下使用yum安装配置samba

注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目录拥有充分的读写权限属性,读者可顺着本文的思路完成基本配置流程,如需复杂读写权限功能请自行询问百度大哥。 1、# yum -y ...
  • zpcandzhj
  • zpcandzhj
  • 2014年03月15日 11:16
  • 2669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:samba的配置及使用
举报原因:
原因补充:

(最多只允许输入30个字)