rhel samba server
samba是一个工具套件,在Unix上实现SMB(Server Message
Block)协议,或者称之为NETBIOS/LanManager协议。SMB协议通常是被windows系列用来实现磁盘和打印机共享。需要注意的
是,NetBIOS是基于以太网广播机制的,没有透明网桥是不能跨越网段的,也许用WINS和LMHOSTS可以,但我没试过。我感觉samba是把
SMB绑定到TCP/IP上实现的,samba只在IP子网内广播(很多时候我不得不指定IP地址
使用 RPM 来安装真是一点都不难。不过,要注意安装的套件名称,因为不同的distribution 对于 RPM 档案的命名都不太一样!举例, Red Hat 9 时对于SAMBA 这个服务器总共需要至少三个套件,分别是:
samba:这个套件主要包含了 SAMBA 的主要 daemon档案 ( smbd 及 nmbd )、 SAMBA 的文件档 ( document )、以及其它与 SAMBA 相关的logrotate 设定文件及开机预设选项档案等;
samba-common:这个套件则主要提供了 SAMBA 的主要设定档(smb.conf) 、 smb.conf 语法检验的测试程序 ( testparm )等等;
samba-client:这个套件则提供了当 Linux 做为SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 档案格式的执行档 smbmount等等
系统环境:rhel6.0 x86-64
软件安装:
- yum install samba-* -y
- rpm -qa | grep smaba
- samba-3.5.6-86.el6.x86_64
- samba-winbind-clients-3.5.6-86.el6.x86_64
- samba-common-3.5.6-86.el6.x86_64
- samba-client-3.5.6-86.el6.x86_64
SELINUX为了避免上下文设置带来的困扰,可以直接将selinux的状态置为disable
- vim /etc/selinux/config
- ....
- selinux=disabled
- ....
Samba的主配置文件进行设定(/etc/samba/smb.conf)
1.Global Setting(也可保持默认)
- workgroup = MYGROUP
- ; server string = Samba Server Version %v
- server string = Welcome to visit yungho'samba Server
-
- netbios name = MYSERVER
-
- ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
- ; hosts allow = 127. 192.168.12. 192.168.13.
Workgroup 工作组名
Server srting 服务器描述
Netbios name netbios
Interfaces 运行 samba 服务器监听的网卡接口
Hosts allow 访问控制列表,允许访问 samba 的机器,在 samba 服务里面 hosts
allow 的权限大于 hosts deny,另外子项里的配置权限和全局冲突时,子项里的生效
2.Logging Options(更改日志的大小,存放路径;此处默认)
- # logs split per machine
- log file = /var/log/samba/log.%m
- # max 50KB per log file, then rotate
- max log size = 50
3.Share Definitions(把自己共享的配置写在这里)
- [homes]
- comment = Home Directories
- browseable = no
- writable = yes
- ; valid users = %S
- ; valid users = MYDOMAIN\%S
-
- [printers]
- comment = All Printers
- path = /var/spool/samba
- browseable = no
- guest ok = no
- writable = no
- printable = yes
4.自定义的共享配置
- [share]
- comment = linux share
- path = /var/ftp/pub/temp
- public = yes
- writable = yes
此处共享的文件为/var/ftp/pub/temp这个其目录,并对其有写的权限,并且给chmod 777 /var/ftp/pub/temp
通过
testparm检查配置文件有无错误
5.启起samba服务
- /etc/init.d/smb start
- /etc/init.d/nmb start
- or
- chkconfig --level 35 smb on
- chkconfig --level 35 nmb on
6.如果对iptables不太熟悉,或是觉得设置规则比较麻烦,想轻松一点,可以这样做
- iptables -F
- or
- /etc/init.d/iptables stop
7.添加samba用户(系统已经存在的用户)
- smbpasswd -a yungho
- New SMB password:
- Retype new SMB password:
8.windows客户端访问
9.linux客户端访问
查看共享文件
- smbclient -L 192.168.1.44 -U yungho
- Enter yungho's password:
- Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.6-86.el6]
- Sharename Type Comment
- --------- ---- -------
- share Disk linux share
- IPC$ IPC IPC Service (Welcome to visit yungho'samba Server)
- yungho Disk Home Directories
登录共享服务器
- smbclient //192.168.1.44/share -U yungho
- Enter yungho's password:
- Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.6-86.el6]
- smb: \> ls
- . D 0 Sat Jul 14 07:58:13 2012
- .. D 0 Fri Dec 16 03:42:32 2011
- Optional D 0 Thu Jun 21 10:00:03 2012
- smplayer.tgz A 31021411 Thu Jun 21 10:00:51 2012
- server6.0 DR 0 Thu Sep 23 07:21:04 2010
- server6.1 DR 0 Wed May 11 07:28:01 2011
- client6.1 DR 0 Wed May 11 07:41:02 2011
- temp D 0 Sat Jul 14 09:41:03 2012
- unrar-3.9.10-1.el6.rf.x86_64.rpm A 104904 Thu Jun 21 10:00:30 2012
- client6.0 DR 0 Thu Sep 23 06:59:12 2010
注:用户要对共享文件有写权限,除了samba允许写,还有系统用户本身也应具有写权限。
GOOD LUCK!
阅读(1046) | 评论(0) | 转发(0) |