|
samba简介 SMB(ServermessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOSoverTCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。 samba:这个套件主要包含了SAMBA的主要daemon档案(smbd及nmbd)、SAMBA的文件档(document)、以及其它与SAMBA相关的logrotate设定文件及开机预设选项档案等; samba-common:这个套件则主要提供了SAMBA的主要设定档(smb.conf)、smb.conf语法检验的测试程序(testparm)等等; samba-client:这个套件则提供了当Linux做为SAMBAClient端时,所需要的工具指令,例如挂载SAMBA档案格式的执行档smbmount等等。 不过,在Mandrake9.1当中,则将samba这个套件又分为samba-server与samba-doc两个套件,所以在MDK9.1则有四个套件需要安装:samba-server,samba-doc,samba-common,samba-client。 /etc/samba/smb.conf:这是Samba的主要配置文件,基本上,咱们的Samba就仅有这个配置文件而已,且这个配置文件本身就是很详细的说明文件了,请用vim去查阅它吧!主要的设定项目分为服务器的相关设定(global),如工作组、NetBIOS名称与密码等级等,以及分享的目录等相关设定,如实际目录、分享资源名称与权限等等两大部分。 选项: interfaces=loeth0192.168.12.2/24192.168.13.2/24监听端口安全控制 hostsallow=127.192.168.12.192.168.13.限制客户端 logfile=/var/log/samba/%m.log%m记录来访的机器的机器名字或IP地址 maxlogsize=50日志大小是50K,当容量满了做日志轮训‘0’表示无限制 ShareDefinitions共享的定义 [printers]共享的名称 comment=AllPrinters共享的描述 path=/var/spool/samba共享所对应的物理路径 browseable=no共享资源是否可以查看 guestok=no来宾不可以访问 writable=no是否可写 printable=yes是否打印 public=yes匿名可以访问 writelist=+staff可写用户列表 validusers有效的用户软件包安装 ·/etc/samba/lmhosts:早期的NetBIOSname需额外设定,因此需要这个lmhosts的NetBIOSname对应的IP檔。事实上它有点像是/etc/hosts的功能!只不过这个lmhosts对应的主机名是NetBIOSname喔!不要跟/etc/hosts搞混了!目前Samba预设会去使用你的本机名称(hostname)作为你的NetBIOSname,因此这个档案不设定也无所谓。 ·/etc/sysconfig/samba:提供启动smbd,nmbd时,你还想要加入的相关服务参数。 ·/etc/samba/smbusers:由于Windows与Linux在管理员与访客的账号名称不一致,例如:administrator(windows)及root(linux),为了对应这两者之间的账号关系,可使用这个档案来设定 ·/var/lib/samba/private/{passdb.tdb,secrets.tdb}:管理Samba的用户账号/密码时,会用到的数据库档案 ·/usr/share/doc/samba-<版本>:这个目录包含了SAMBA的所有相关的技术手册
Samba安装
1.[iyunv@localhost~]#vim/etc/yum.repos.d/rhel-debuginfo.repo 2.图1 3.[iyunv@localhost~]#yuminstallsamba 4.perl-Convert-ASN1依赖于这个软件包 5./etc/rc.d/init.d/smbsamba控制脚本 /usr/sbin/nmbd资源宣告 6./usr/sbin/smbd资源共享连接控制 7.[iyunv@localhost~]#servicesmbstart 8.图2
案例: 共享名路径权限 Public/abc任何人ro Smbzs/tmp/zhangsanzhangsanrwro Smbls/tmp/lisilisirwro 1.[iyunv@localhost~]#mkdir/abc//tmp/zhangsan/tmp/lisi 2.[iyunv@localhost~]#useraddzhangsan 3.[iyunv@localhost~]#useraddlisi 4.[iyunv@localhost~]#chownzhangsan:zhangsan/tmp/zhangsan/ 5.[iyunv@localhost~]#chownlisi:lisi/tmp/lisi 6.[iyunv@localhost~]#vim/etc/samba/smb.conf 7.[iyunv@localhost~]#testparm语法测试 8.[iyunv@localhost~]#servicesmbrestart 9.smbpasswd账号库必须有本地账号库 10.smbpasswd–a增加 11.–d禁用 12.–e启用 13.–x删除 14.[iyunv@localhost~]#smbpasswd-azhangsan 15.[iyunv@localhost~]#smbpasswd-alisi 16.图5 17.[iyunv@localhosttmp]#chmod750lisi/
Linux作为客户端 1.[iyunv@localhost~]#smbclient-L//共享文件windows的ip地址显示共享主机所共享的文件 2.[iyunv@localhost~]#smbclient//共享文件windows的ip地址/-U某个用户
需要把windows共享的文件挂载到linux的客户端上面 临时挂载: 3.mkdir/mnt/dir mount.cifs//service/file/mnt/dir-ousername=用户,password=‘密码’ 永久挂载: 4.[iyunv@localhost~]#vim/etc/fstab写入 5.//服务器地址/共享文件挂载点cifsusername=用户,password=密码00 6.这样在安全上面存在着安漏洞,当某个用户访问时候,账号密码很容易的就被盗取,这个时候,我们可以把这些用户和密码存放到某一个文件夹下面,访问的时候再从这里调用就可以了. 7.解决方法: 8.[iyunv@localhost~]#vim/etc/f1写入username=user1 9.password=123 10.[iyunv@localhost~]#chmod600/etc/f1 11.//服务器地址/共享文件挂载点cifscredentials(凭证)=/etc/f100 12.mount-a实现自动挂载
共享打印cups 案例:我需要让192.168.100.0/24这个网域可以使用打印机 ·我需要让192.168.100.0/24及127.0.0.0/8可以管理CUPS系统 其他网络计算机也可以参与共享打印 [iyunv@www~]#vim/etc/samba/smb.conf [global] #得要修改loadprinters的设定,然后新增几个数据 loadprinters=yes cupsoptions=raw<==可支持来自Windows用户的打印作业 printcapname=cups printing=cups<==与上面这两个在告知使用CUPS打印系统 [printers] comment=AllPrinters path=/var/spool/samba<==预设把来自samba的打印作业暂 时放置的队列 browseable=no<==不被外人所浏览啦!有权限才可浏 览 guestok=no<==与底下两个都不许访客来源与写入 (非文件系统) writable=no printable=yes<==允许打印很重要的一项工作!
[iyunv@www~]#testparm<==若有错误,请自行处理一下 [iyunv@www~]#/etc/init.d/smbrestart [iyunv@www~]#/etc/init.d/nmbrestart [iyunv@www~]#yumgroupinstall"PrintServer" [iyunv@www~]#vim/etc/cups/cupsd.conf #1.让监听的接口开放在所有接口! #Listenlocalhost:631<==约在第18行左右,改成如下: Listen0.0.0.0:631 #2.让内部网域能够进行CUPS的浏览与管控 <==约在32行左右,新增能够让内网其他IP浏览者 Orderallow,deny AllowFrom127.0.0.0/8 AllowFrom192.168.100.0/24
<==约在39行左右,新增能够管理CUPS者 EncryptionRequired<==因为这里的关系,所以可能会用https://IP Orderallow,deny AllowFrom127.0.0.0/8 AllowFrom192.168.100.0/24 [iyunv@www~]#/etc/init.d/cupsstart [iyunv@www~]#chkconfigcupson
|