当前位置:Linux教程 - Samba - Samba服务器配置手册

Samba服务器配置手册

作者:Albert

  用上samba以后,在Windows和Linux的局域网内可以共享文件了,Linux就像一台网络PC或者Windows PC ,就像LAN内别的Windows计算机一样。另外,从Linux机器上也可以存取Windows的硬盘了。直接mount Windows的目录,就像用你自己的文件一样了。设置也非常容易,当然对于新手来说可能复杂一点。

  下面,我们一步一步地来设置Samba服务器。

  一般说来,每一个Linux发行版本都包含Samba,但是如果你的版本还是1.x.x的话,你要先删除,然后从Samba的老家http://de.samba.org下载一个新的2.0.x的版本。如果你已经安装了2.0版本的话,就可以跳到开始设置那里去了。

一、安装:

  把下载好的文件解压到/tmp目录:
  >> tar zxvf samba-xxxxxx.tgz -C /tmp

  然后运行/tmp/samba-xxx/src目录下的设置脚本:

  >> cd /tmp/samba-xxxxx/src/

  如果你用的内核版本高于2.1.70,使用:

  >> ./configure --enable-smbmount

  其他情况下,使用:

  >> ./configure

  在这个脚本定制好系统后,可以开始编译samba了:

>> make

  这段时间要根据你机器来决定,如果工作正常的话,你可以把Samba拷贝到/usr/local/目录下。只有系统管理员(root)对于/usr/local目录有写权限。

  可以用:

  >> su

  命令,并输入root口令。然后拷贝Samba:

  >> cp -a /tmp/samba-xxxx /usr/local

  改变目录到这个目录,开始安装Samba :

  >> cd /usr/local/samba-xxxx/source
  >> make install

  建立目录/usr/local/samba,在那里放置二进制文件,配置文件以及日志文件。


  二、好了,现在安装好Samba了,我们开始设置。

  在目录/usr/local/samba/lib/内建立设置文件smb.conf:

  >> touch /usr/local/samba/lib/smb.conf

  为便于测试,我们建立一个最小配置的文件:

  [global]
  workgroup = workgroup
  [all]
  path = /
  read only = yes
  ;
  ;Semicolon starts a comment
  ;End

  ""workgroup="" 后面的名字必须和Windows网络属性里工作组的名字一样。

  编辑好配置文件后,启动Samba:

  >> /usr/local/samba/bin/nmbd -D
  >> /usr/local/samba/bin/smbd -D

  在Windows机器上登录。注意:必须使用Linux存在的用户名。双击网络图标后,可以看到Linux机器。打开这个机器,要求输入口令,在这里输入你在Linux机器上的口令。

  实际的配置文件允许你存取Linux上的所有文件。下面,我们改变配置文件。下面的配置应该可以在大多数系统上工作:我们没有注释所有的设置,你如果想知道得更多的话,可以阅读http://de.samba.org上的手册。

  [global]
  workgroup = workgroup
  guest account = nobody
  keep alive = 30
  os level = 2
  security = user
  printing = bsd
  printcap name = /etc/printcap
  load printers = yes
  ;如果需要Samba作为一台wins服务器的话,把“wins support”改为“yes”
  wins support = no

  ;需要Samba 使用现有的wins服务器的话,去掉下行的注释,并改变
  ;IP地址为你的wins服务器地址。
  ;wins server = 192.168.1.1

  [local]
  path = /usr/local
  read only = yes
  ;现在可以在Windows下找到/usr/local下的任何程序了

  [homes]
  comment = HomeDirectory
  browseable = no
  read only = no
  create mode = 0750

  ;以下的共享让用户存取服务器的CD驱动器
  [cdrom]
  comment = Linux CD-ROM
  ;输入你的 CD-Rom 驱动器的路径/cdrom或/mnt/cdrom
  path = /cdrom
  read only = yes
  locking = no

  [printers]
  comment = All Printers
  browseable = no
  printable = yes
  public = no
  read only = yes
  create mode = 0700
  directory = /tmp
  ;这下,打印机也可以在Windows下使用了。

  现在停止nmbd以及smbd守护程序,来激活新的配置。首先寻找PID号码:
  >>ps x

  输出:
  [...]
  7199 ? S 0:00 /usr/local/samba/bin/nmbd -D
  7201 ? S 0:00 /usr/local/samba/bin/smbd -D
  [...]

  杀掉这两个进程:

  >> kill 进程号

  进程号就是你在上面看到的第一列的号码,谈后重新启动:

  >> /usr/local/samba/bin/nmbd -D
  >> /usr/local/samba/bin/smbd -D

  在Windows网络窗口里搜索Linux PC ,它应该就在那里了,如果没有的话,看一下日志文件:
/usr/local/samba/var/log.smb和/usr/local/samba/var/log.nmb。