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共享的文件,这里不再一一细说。

相关文章推荐

Ubuntu中Samba的安装配置和使用

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

Ubuntu12.04 使用Host Only模式配置samba,妈妈再也不用担心我断网了

配置环境win7、ubuntu12.04、vmware workstation 101、ubuntu中安装samba服务器1.sudo apt-get update 2.sudo apt-get in...

linux下使用yum安装配置samba

注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目录拥有充分的读写权限属性,读者可顺着本文的思路完成基本配置流程,如需复杂读写权限功能请自行询问百度大哥。 1、# yum -y ...

samba配置和使用详细讲解

samba配置详解 computer 2008-10-30 11:18:38 阅读3156 ...
  • lhq9220
  • lhq9220
  • 2011年06月12日 20:41
  • 495

Ubuntu中Samba的安装配置和使用

Samba服务在Ubuntu服务器版本中默认并没有安装。 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install sam...

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

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

linux上samba服务的配置使用

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

Ubuntu下Samba安装配置及使用

Samba在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信...

Linux下开发关于Samba/Vimrc/svn/tftp/等基本的配置使用

做了一年半的Linux的网络编程,准备找下一家了,所以分享自己现在开发的一些环境配置,大家相互学习。 1 平台    首先就是装一个Linux系统,我现在装的是ubuntu10.04比较稳定好用!...

linux samba详细配置及使用

一、安装samba(一般的源里面都有的,不用新加源)sudo apt-get install sambasudo apt-get install smbfs或者到添加删除那直接添加二、备份smb.co...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:samba的配置及使用
举报原因:
原因补充:

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