网络共享samba
Samba主要来实现磁盘和打印机共享
Nmbd 服务进程
Smbd 服务进程
开放的端口 137 138 139 445
137、138 主要是资源的宣告 udp协议
139 、445 主要是资源的共享及连接控制 tcp协议
samba的实现
Windows 下的很好实现,这里就不多说了
下面主要是Linux 下的实现
安装
samba (主要包含了 samba 的主要 daemon文件 ( smbd 及 nmbd )、 samba的文档 ( document )、以及其它与 samba 相关的logrotate 设置文件及开机预设文件等;)
samba-common (smb 的主配置文件在这里smb.conf,smb.conf 语法检验的测试程序 ( testparm )等等; )
samba-client (提供了当 Linux 做为samba Client 端时,所需要的工具指令,例如挂载 samba 文件格式的执行 smbmount等等。)
1、查看是否已经安装
2、安装samba-server
rpm -ivh samba-3.0.33-3.14.el5.i386.rpm (可能需要安装依赖,你也可以直接yum -y install samba)
3、编辑/etc/samba/smb.conf
workgroup = MYGROUP 指定samba的工作组
server string = Samba Server Version %v 说明信息(%v是指samba服务器的版本)
; netbios name = MYSERVER samba服务器名
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 监听的网卡接口
; hosts allow = 127. 192.168.12. 192.168.13. 安全设置
你可以设置samba服务器只监听某个网卡的ip
如:interfaces = 192.168.2.100/24
bind interfaces only = YES 要加上这句话这样会更安全
将安全级别改为share即共享级别可以匿名访问
security = share
还有user级别 要身份验证 本地samba账号库
Server级别 要身份验证 其他server的账号库
Domain 要身份验证 域里的dc
4、启动samba服务
service smb start
可以看到默认监听所有
关于samba的配置还有很多,下面就通过一个下例子简单介绍一下
共享根目录为/samba
匿名用户访问到/samba/public目录里
用户user1 访问到/samba/user1目录里
用户user2访问到/samba/user2目录里
A、mkdir /samba 建立共享的目录
cd /samba/
mkdir user1 user2 public
先建立这些目录,并在public user1 user2 里见一些文件,以便访问时可以看到
useradd user1 |useradd user2 建立这两个用户
chown user1.user1 user1 |chown user2.user2 user2 改变/samba/user1 /samba/user2的所用者和所属组
B、创建smb账号库
smbpasswd -a user1
Password:
smbpasswd -a user2
Password:
C、编辑smb.conf
security = user 安全级别改为user级
重启samba服务
D、在window下访问
有以下几种方式
(1)网上邻居 (2)计算机搜索 (3)UNC路径 \\ip地址\共享名
(4)网络驱动器映射
输入用户名和密码 就能看到如下的共享
Public 文件夹,user1和user2都可以进入 user2进不了 它会让你输入user2的用户名和密码。。。
E、在linux下访问windows下的共享
查看主机192.168.2.200的共享
(1)smbclient -L //192.168.2.200
Password 密码为空
(2)smbclient -L //192.168.2.200 -U wsm (wsm为windows的账户)
Password 密码为用户wsm的密码
访问共享
也可以用wsm用户登录
smbclient //192.168.2.200/win -U wsm
Password
之后就可以访问共享资源了
也可以做网络驱动器映射 使之映射到本地
mount.cifs //192.168.2.200/win /mnt/win/ -o username=wsm,password='wsm'
或者 mount -t cifs //192.168.2.200/win /mnt/win/ -o username=wsm,password='wsm'
开机自动挂载
编辑 /etc/fstab 文件 添加如下一句
//192.168.2.200/win /mnt/win cifs defaults,username=wsm,password=wsm 0 0
umount /mnt/win
mount -a
这样就可以了,但是fstab文件任何人都可以查看,我们的用户名和密码就会泄露
所以可以这样添加fstab
//192.168.2.200/win /mnt/win cifs defaults,credentials=/root/use 0 0
Vim /root/use 在root目录里新建use文件内容如下:
username=wsm
password=wsm
Chmod 400 use
这样就会更加安全了
本文转自 abc16810 51CTO博客,原文链接:http://blog.51cto.com/abc16810/1095417