位置:海鸟网 > IT > linux/Unix >

快速搭建Samba服务器

大家好,这周咱们讨论一下关于Samba的最简配置法,如有描述不当之处,还请众高手纷纷赐教!

  呵呵,言归正传!首先,老规矩,还是检测一下您的爱机是否安装了Samba文件包.

  1.检测安装Samba服务

  (1).检查Samba服务包是否已安装:

  rpm -qa | grep samba

  (2).如未安装,则插入第一张安装盘,执行:

  mount /mnt/cdrom

  cd /cdrom/Redhat/RPMS
  
  (3).进入目录后安装Samba文件:

  注意:运Samba至少需要三个文件,分别为:

  samba-common-2.2.7a-7.9.0.i386.rpm    //服务器和客户端均需要的文件

  samba-2.2.7a-7.9.0.i386.rpm                  //服务器端文件

  samba-client-2.27a-7.9.0.i386.rpm          //客户端文件

  安装上述3个文件.      

  rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm      //另外两个省略不写

  (4).安装完成后弹出光驱:

  cd;eject

  2.设置密码文件.

  (1).此设置的作用是将Linux中的系统用户(/etc/passwd)导入到samba密码文件中

  (/etc/samba/smbpasswd)

  cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

  (2).接下来给smbpasswd等文件及文件夹设置访问权限.

  chown root.root /etc/samba/smbpasswd

  chmod 600 /etc/samba/smbpasswd

  chmod 600 /etc/samba

  查看一下:

  ll -d samba

  (3).如果您想手动添加一个用户,则首先要保证Linux中该用户存在,步骤:

  useradd liu

  passwd liu

  smbpasswd -a liu    //此步为添加Samba用户

  3. 配置/etc/samba/smb.conf文件.
  
  虽然文件内容众多,但需要改动的不多,一般为按需所配:

  (1).修改[global](全局配置参数)

  workgroup = workgroup    //工作组名称

  server string = samba server %v at %h     //设置服务器名称.%v为版本号,%h为运行

  smb服务的主机名

  host allow = 192.168.80. 192.168.70.    //允许访问服务器的主机

  client code page = 939   //支持简体中文共享名

  上述四条为比较重要的.其他配置大家可按需按情况修改.
  
  (2).创建共享文件夹.

  由于用户使用权限有多种(读,写,执行),而又访问者又有多种(用户,组),所以创建共享资源的访问方式有多种,下面暂举几例:

  例一: 建立资源,使登陆到该服务器的用户均有权使用该空间(包括读,写)

  <1>.编辑smb.conf文件

  vi smb.conf

  [resource]
  
  comment = local resource       

  path = /var/samba/resource      

  read only = no                  

  public = yes                      //允许guest用户访问
  
  <2>. 建立共享文件夹

  mkdir -p /var/samba/resource

  <3>. 由于任何人都能使用,所以得给该文件夹设置访问权限. 

  chmod 707 /var/samba/resource
  
  <4>. 如果想在该文件夹中放置预共享文件,而又不想花

  时间从别的文件夹中cp过来,此时可以使用指针.

  比如想共享/usr/share/doc中的文件,则可以:

  ln -s /usr/share/doc /var/samba/resource/doc

  进入/var/samba/resource ls一下,是不是出现指针文件了!

  例二: 建立一资源,只能让用户liu全权访问.

  <1>. 编辑smb.conf文件

  vi smb.conf

  [liu]

  comment = liu

  path = /var/samba/liu

  vaild users = smz           //只允许liu访问

  public = no

  writable = yes

  <2>. 建立共享文件夹

  mkdir -p /var/samba/liu

  <3>. 由于只能让liu使用,所以得给该文件夹设置访问权限. 

  chown liu.liu /var/samba/liu

  chmod 700 /var/samba/liu

  此时该文件夹属于liu用户,并且只能由liu用户访问.

  例三: 建立一资源,只能让root,zhang和wang访问.

  <1>. 编辑smb.conf文件

  vi smb.conf

  [zhang wang]

  comment = zhang wang

  path = /var/samba/liu

  vaild users = zhang wang       

  public = no

  writable = yes

  creat mask = 0707

  <2>. 建立共享文件夹

  mkdir -p /var/samba/zhangwang

  <3>. 给该文件夹设置访问权限.  

  chmod 707 /var/samba/zhangwang

  此时该文件夹只能root,zhang,wang访问了.

  例四: 建立一资源,让指定的组group2中的用户访问.

  <1>. 编辑smb.conf文件

  vi smb.conf

  [group]

  comment = group2

  path = /var/samba/group2

  public = yes

  writable = yes

  write list = @group2         //设置读写访问用户列表
  
  <2>. 建立共享文件夹
  
  mkdir -p /var/samba/group2

  <3>. 给该文件夹设置访问权限.  

  chown group2.group2 /var/samba/group2

  chmod 770 /var/samba/group2

  此时该文件夹只能由group2中的用户访问了.

  (3). 以上为创建共享文件夹,下面为创建共享打印机.

  <1>. 配置打印机的方面有很多,比如使用redhat-config-printer命令即可调出配置

  菜单.

  <2>. 当然smb.conf中也要设置啊:

  [global]

  printcap name = /etc/printcap     //配置文件路径

  [printers]

  writable = no

  guest ok = yes                    //guest可用

  browseable = no                   //不可浏览

  ptrintable = yes

  path = /var/spool/samba          //队列位置

  printer admin = root             //打印机管理员

  其他配置不变或按情配置

  接下来再添加print驱动设置:

  [print$]

  comment = printer drivers

  path = /etc/samba/drivers

  browseable = yes

  guest ok = no

  read only = yes
  
  write list = root

  接着创建drivers文件夹:mkdir -p /etc/samba/drivers

  最后给用户准备打印机驱动,并启动打印共享:

  cupsaddsmb -a -U root       //-a为共享所有打印机 -U为以root身份执行

  cupsaddsmb命令

  4. 测试并启动Samba服务器.

  testparm   //测试

  service smb start  

  pstree | grep mbd   //查看是否启动

  5. 访问Samba

  (1). 从Windows端访问.

  使用"网络邻居"访问即可.

  (2). 访问时可以使用IP地址,也可以使用主机名访问.

  vi /etc/samba/lmhosts

  192.168.80.35      smz_f91           //创建主机名与IP的映射

  访问时,使用smbclient命令,使用方法如下:

  smbclient -L IP/主机名 [-U 用户名]              //浏览Linux/Windows资源列表

  smbclient -L 192.168.80.35                                 //浏览Linux

  smbclient -L 192.168.80.45 -U administrator       //浏览Windows

  smbclient //IP/共享文件夹名 -U 系统用户名        //详细查看某一共享资源的内容

  smbclient //192.168.80.45/123 -U root/administrator      //以root或administrator身份

  登陆45主机访问共享文件夹123

  至此,Samba服务器的简单创建到此结束,如有不妥之处,还希望大家多提宝贵意见!