Bin's

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

      Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。

Samba 用的netbios协议,如果您用Samba 不成功,

Linux与Windows 、Linux 和 Linux

1、安装

Samba可以使用liveCD或者yum install安装。

2、查看服务是否已经启动

[mabin@localhost /]$ service smb start
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
smb 是Samba 的主要启动服务,让其它机器能知道此机器共享了什么;而nmb是做解析用的,就是把这台Linux机器所共享的工作组及在此工作组下NetBios的解析出来。

从下面可以看出,smbd是占用的139和445端口。

[mabin@localhost /]$ netstat -tlnp | grep smb
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      13139/smbd
tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      13139/smbd

3、备份smb.conf文件

Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有用户配置文件 smbpasswd、smbusers和lmhosts等;还有一个文件是secrets.tdb,这个文件是Samba 服务器启动手自动生成的

[mabin@localhost /]$mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

[mabin@localhost /]$ ls /etc/samba
lmhosts  passdb.tdb  secrets.tdb  smb.conf.bak  smbpasswd  smbusers

4、设置samba服务器能实现匿名读写

[STEP 1]配置smb.conf文件

[mabin@localhost /]$touch smb.conf

[mabin@localhost /]$vim smb.conf

/*全局配置*/

[global]

workgroup = mabin                          //类似于在Windows中显示的工作组名称

netbios name = mabin-samba           //被netbios解析出来的计算机名

server string = samba testserver       //服务器说明

security = share                               //security是登录和验证方式,设置为share可以匿名访问;而如果是user这种验证方式的话,就需要用户名和密码

[mabin]                                          //在Windows中显示出来的共享目录名

path = /var/samba                         //共享目录的路径

writeable = yes                              //是否可写

browseable = yes                          //是否可浏览

guest ok = yes                              //设置匿名用户以guest身份登录

[STEP 2]建立目录并授予权限

[mabin@localhost /]$mkdir /var/samba

[mabin@localhost /]$id nobody                                                            //查看nobody的用户信息,看是否属于nobody用户组

uid=99(nobody) gid=99(nobody) groups=99(nobody)

[mabin@localhost /]$chown -R nobody:nobody /var/samba

[STEP 3]重启smb服务

[mabin@localhost /]$ service smb restart
Shutting down SMB services:                                [  OK  ]
Shutting down NMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]

5、使用smbclient命令访问samba服务器的共享

[mabin@localhost /]$ smbclient -L //192.168.1.243                                                //网上很多资料给出这条命令,但是不能真正的进入命令模式
Password:
Domain=[MABIN] OS=[Unix] Server=[Samba 3.0.33-3.15.el5_4]

        Sharename       Type      Comment
        ---------       ----      -------
        MaBin           Disk
        IPC$            IPC       IPC Service (This is MaBin's Samba server.)
Domain=[MABIN] OS=[Unix] Server=[Samba 3.0.33-3.15.el5_4]

        Server               Comment
        ---------            -------
        MABIN-SAMBA          This is MaBin's Samba server.

        Workgroup            Master
        ---------            -------
        MABIN
可以看出,192.168.1.243这台服务器有共享目录MaBin

[mabin@localhost /]$ smbclient //192.168.1.243/MaBin                                      //进入共享目录,并在命令模式下对其进行操作
Password:
Domain=[MABIN] OS=[Unix] Server=[Samba 3.0.33-3.15.el5_4]
Server not using user level security and no password supplied.
smb: \>

6、smbclient命令的用法

smbclient –L IP或者NETBIOS名称                                       //作用是显示某台提供samba服务的服务器上的共享资源


smbclient //IP或者NETBIOS名称/共享资源名 [-U 用户名]       //使用网络资源

7、smbclient命令

命令                                           说明

![shell command]			执行所用的SHELL命令,或让用户进入 SHELL提示符
cd [目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录
lcd [目录] 切换到客户端指定的目录;
dir 或ls 列出当前目录下的文件;
exit 或quit 退出smbclient
get file1 file2                 从服务器上下载file1,并以文件名file2存在本地机上;如果不想改名,可以把file2省略
mget file1 file2 file3 filen         从服务器上下载多个文件;
md或mkdir 目录 在服务器上创建目录
rd或rmdir 目录 删除服务器上的目录
put file1 [file2]         向服务器上传一个文件file1,传到服务器上改名为file2;
mput file1 file2 filen                   向服务器上传多个文件



参考资料:

http://www.linuxsir.org/main/?q=node/158$0

http://blog.chinaunix.net/u/16292/showart_358661.html
posted on 2009-12-09 22:05  Jesuca  阅读(23221)  评论(0编辑  收藏  举报