Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务。Linux用户通过配置使用Samba服务器可以实现与Windows用户的资源共享。守护进程smbd和nmbd是Samba的核心,在全部时间内运行。nmbd程序使得通过企图计算机可以浏览Linux服务器。
    公司有一台pc配置很低,也是845的老主板40g硬盘用来装系统又挂了一个80g数据用来存储软件,想了想废物利用,就自己动手搞了一个samba共享服务器存放一下常用的软件,系统装的是最小安装,只装server base基本的包,系统为centos5.5,系统安装好之后就是用yum来安装samba包,yum是个好东西所有的依赖问题都给你解决。。

1.yum -y install samba

Installing for dependencies:
 libsmbclient                          i386                       3.0.33-3.29.el5_6.2                       updates                     908 k
 perl-Convert-ASN1                     noarch                     0.20-1.1                                  base                         42 k
 samba-common                          i386                       3.0.33-3.29.el5_6.2                       updates                     6.7 M

Transaction Summary
==============================================================================================================================================
Install       4 Package(s)
Upgrade       0 Package(s)

Total download size: 24 M
Downloading Packages:
(1/4): perl-Convert-ASN1-0.20-1.1.noarch.rpm                                                                           |  42 kB     00:00    
(2/4): libsmbclient-3.0.33-3.29.el5_6.2.i386.rpm                                                                       | 908 kB     00:00    
(3/4): samba-common-3.0.33-3.29.el5_6.2.i386.rpm                                                                       | 6.7 MB     00:02    
(4/4): samba-3.0.33-3.29.el5_6.2.i386.rpm                                                                              |  16 MB     00:05    
----------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                         2.7 MB/s |  24 MB     00:08    
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
updates/gpgkey                                                                                                         | 1.5 kB     00:00    
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) " from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libsmbclient                                                                                                           1/4
  Installing     : perl-Convert-ASN1                                                                                                      2/4
  Installing     : samba-common                                                                                                           3/4
  Installing     : samba                                                                                                                  4/4

Installed:
  samba.i386 0:3.0.33-3.29.el5_6.2                                                                                                           

Dependency Installed:
  libsmbclient.i386 0:3.0.33-3.29.el5_6.2         perl-Convert-ASN1.noarch 0:0.20-1.1         samba-common.i386 0:3.0.33-3.29.el5_6.2       

Complete!

2.安装好samba之后就是替换/etc/samba/smb.conf文件
这个文件我事先在windows上写好,然后用ssh传到/etc/samba目录,把原来的mv /etc/samba/smb.conf smbbackup.conf备份一下,然后ssh拷贝到这台机器上去。smb.conf内容如下:如果要修改可以另行修改里面添加了打印参数。

[global]
   workgroup = WORKGROUP
   netbios name = centos               
   unix charset = gb2312
   dos charset = gb2312 
   security = user                                 
   server string = Samba Server           
   printcap name = /etc/printcap
   load printers = yes
   cups options = raw
   log file = /var/log/samba/%m.log
   max log size = 0
   encrypt passwords = yes
   smb passwd file = /etc/samba/smbpasswd
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   local master = no
   interfaces = 192.168.xxx.xxx/24 //这个可以自己修改。
   dns proxy = no
          
           
 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   valid users =%S
   create mode = 0664
   directory mode = 0775


   
[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   public = yes
   guest ok = yes
   writable = no
   printable = yes
   printer admin = root

[print$]
   comment = printer Drivers
   path = /etc/samba/drivers
   browseable = yes
   guest ok = yes
   read only = yes
   write list = root

[software]
comment =Public stuff
path =/home/samba/software
public = yes
writable = yes
printable = no
write list = @staff


3.拷贝好smb.conf到/etc/samba/中去之后,用testparm看一下参数是否正确。

[root@localhost ~]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
WARNING: The "printer admin" option is deprecated
Processing section "[print$]"
Processing section "[software]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        dos charset = gb2312
        unix charset = gb2312
        netbios name = CENTOS
        server string = Samba Server
        interfaces = 192.168.xxx.xxx/24
        log file = /var/log/samba/%m.log
        max log size = 0
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        printcap name = /etc/printcap
        local master = No
        dns proxy = No
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S
        read only = No
        create mask = 0664
        directory mask = 0775
        browseable = No

[printers]
        comment = All Printers
        path = /var/spool/samba
        printer admin = root
        guest ok = Yes
        printable = Yes
        browseable = No

[print$]
        comment = printer Drivers
        path = /etc/samba/drivers
        write list = root
        guest ok = Yes

[software]
        comment = Public stuff
        path = /home/samba/software
        write list = @staff
        read only = No
        guest ok = Yes
提示ok就没问题了。

4.然后重新启动一下samba服务
[root@localhost ~]# service smb start
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
ok提示成功!

5.在/home目录下建立一个samba目录mkdir samba
然后mkdir /home/samba/software目录
然后给主有读写执行权限(rwx),组和其它为读和执行的权限(rx)
本人比较喜欢数字表示方法chmod 755 /home/samba,chmod 755 /home/samba/software然后用ll看一下权限。

[root@localhost home]# ls -l samba/
total 4
drwxr-xr-x 3 zhh jsb 4096 Aug  6 00:00 software//这个为目录主有rwx,组有rx,其它为rw

权限好了然后就是添加samba用户,samba用户和系统自带的不是同一个密码哦

6.添加用户
假如我建立一个jsb的组,zhh为主
groupadd jsb
useradd -G jsb zhh//把zhh用户加入jsb组中
chown -R zhh.jsb /etc/samba/software//执行完命令后最好用ll查看一下主和组和其它的
useradd -G jsb guest//添加一个guest用户
smbpasswd -a guest//没密码的直接回车两次。
最后就是smbpasswd -a zhh//这个权限比较大所以需要设置相应的密码。
设置好密码后就可以用windows开始菜单运行中\\xxx.xxx.xxx.xxx来访问了。

 

Samba共享服务器的安装总结。_第1张图片

Samba共享服务器的安装总结。_第2张图片

7.因为添加了另外一块ide硬盘主要是用来存储软件的,所以拿到硬盘先格式化一下。
fdisk -l
Disk /dev/hda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14         144     1052257+  82  Linux swap / Solaris
/dev/hda3             145        4865    37921432+  83  Linux

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
16 heads, 63 sectors/track, 155061 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1      155061    78150712+  83  Linux

以上第二块硬盘我已经格式化好了,其实挺简单直接用fdisk /dev/hdb来格式化就可以了n--p--回车--回车--w写入然后就可以看到/dev/hdb1了,然后建立文件系统mkfs -t ext3 /dev/hdb1就可以格式化为ext3文件了,然后再vi /etc/fstab中添加

 /dev/hdb1          /home/samba/software        ext3    defaults,grpquota,usrquota        1 2

后面defaults的grpquota,usrquota 表示磁盘限额,可以不添加吧

/dev/hdb1          /home/samba/software        ext3    defaults     0 0

完成之后就是reboot一下系统看一下是否有错误,然后终端mount看一下

[root@localhost test]# mount
/dev/hda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/hdb1 on /home/samba/software type ext3 (rw,grpquota,usrquota)//看到了已经挂起
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

8.以上完成之后基本上就是测试一下就可以了,samba共享服务器搭建好了就这么简单明了,如果想查看iostat直接用yum -y install sysstat包就可以了,不过还可以用sar具体参数用法就不多了网上也挺多的。
[root@localhost test]# iostat -x
Linux 2.6.18-194.el5 (localhost.localdomain)    08/06/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.13    0.03    0.15    0.22    0.00   99.48

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util//最主要的参数
hda               0.10     2.88  0.16  0.43     6.37    26.48    55.62     0.03   51.03   2.40   0.14
hda1              0.01     0.00  0.00  0.00     0.02     0.00    28.66     0.00    8.90   8.51   0.00
hda2              0.02     0.00  0.00  0.00     0.02     0.00    45.83     0.00    7.54   7.54   0.00
hda3              0.07     2.88  0.16  0.43     6.32    26.48    55.69     0.03   51.15   2.39   0.14
hdb               6.30     3.47  0.32  0.14    69.06    28.86   214.70     0.02   36.59   3.31   0.15
hdb1              6.30     3.47  0.31  0.14    69.05    28.86   214.76     0.02   36.61   3.31   0.15