您的位置:首页 > 运维架构 > Linux

Linux學習筆記--Samba服務

2012-09-03 14:37 381 查看
Samba服務
[align=center] [/align]
[align=left]在我们安装Samba服务之前哈,我们先来了解一下其所需要的软件包以及它们的用途哈~[/align]
[align=left]samba-3.0.33-3.28.el5.x86_64.rpm:该包为Samba服务的主程序包。服务器必须安装该软件包。[/align]
[align=left]samba-client-3.0.25b-0.el5.4.i386.rpm:该包为Samba的客户端工具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具。[/align]
[align=left]samba-common-3.0.25b-0.el5.4.i386.rpm:该包存放的是通用的工具和库文件,无论是服务器还是客户端都需要安装该软件包。[/align]
[align=left]samba-swat-3.0.25b-0.el5.4.i386.rpm:当安装了这个包以后,就可以通过浏览器(比如IE等哈)来对Samba服务器进行图形化管理。[/align]
[align=left]在安装Samba之前,使用rpm -qa命令检测系统是否安装了Samba相关软件包:rpm -qa |grep samba 。[/align]
[align=left]RHEL5的光盤里都有安裝包,爲了方便就把光盤里的rpm包複製到/home/cdrom下。[/align]
安裝主程序包:rpm -ivh samba-3.0.33-3.28.el5.x86_64.rpm




[align=left] [/align]
提示錯誤,提示的是没有安装这个文件:perl-Convert-ASN1-0.20-1.1.noarch.rpm ,装之:


[align=left] [/align]
[align=left]安裝成功,繼續安裝samba: rpm -ivh samba-3.0.33-3.28.el5.x86_64.rpm[/align]



[align=left] [/align]
[align=left]安裝Samba的客户端工具: rpm -ivh samba-client-3.0.33-3.28.el5.x86_64.rpm[/align]



[align=left]提示這個包已經安裝了。[/align]
[align=left] [/align]
繼續安裝存放通用的工具和库文件包:rpm -ivh samba-common-3.0.33.28.el5.x86_64.rpm


[align=left] 提示這個包已經安裝了。[/align]

安裝最後一個Samba图形化管理工具:rpm -ivh samba-swat-3.0.33-3.28.el5.x86_64.rpm



[align=left]安裝成功,到這裡就安裝好了所有的包了,所有软件包安装完毕之后,我们可以使用rpm命令进行查询哈:rpm -qa | grep samba[/align]

[align=left]Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf ,smb.conf中以“#”开头的为注释,为用户提供相关的配置解释信息,方便用户参考,不用修改它哈。[/align]
[align=left]smb.conf中还有以“;”开头滴,这些都是samba配置的格式范例,默认是不生效滴,可以通过去掉前面的“;”并加以修改来设置想使用的功能。[/align]

打開配置文件:vim /etc/samba/smb.conf



[align=left]這兩句是设置samba服务器的工作组和 服务器描述(实际上类似于备注信息)。[/align]

[align=left]這裡是设置samba服务器安全模式[/align]



[align=left]samba服务器有share、user、server、domain和ads 五种安全模式,用来适应不同的企业服务器需求。[/align]
[align=left](1)share安全级别模式[/align]
[align=left]客户端登录samba服务器,不需要输入用户名和密码就可以浏览samba服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证samba服务器的安全性。[/align]
[align=left](2)user安全级别模式[/align]
[align=left]客户端登录samba服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。[/align]
[align=left](3)server安全级别模式[/align]
[align=left]客户端需要将用户名和密码,提交到指定的一台samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问。[/align]
[align=left](4)domain安全级别模式[/align]
[align=left]如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域滴。[/align]
[align=left](5)ads安全级别模式[/align]
[align=left]当samba服务器使用ads安全级别加入到windows域环境中,其就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。[/align]

[align=left]Samba服务密码文件[/align]
[align=left]samba服务器发布共享资源后,客户端访问samba服务器,需要提交用户名和密码进行身份验证,验证合格后才可以登录。samba服务为了实现客户身份验证功能,将用户名和密码信息存放在/etc/samba/smbpasswd中,在客户端访问时,将用户提交资料与smbpasswd存放的信息进行比对,如果相同,并且samba服务器其他安全设置允许,客户端与samba服务器连接才能建立成功哈~[/align]
[align=left]那如何建立samba帐号呢?偶在说之前先强调一点哈,samba帐号并不能直接建立滴,需要先建立Linux同名的系统帐号。比如如果我们要建立一个名为mis的samba帐号,那Linux系统中必须提前存在一个同名的mis系统帐号。[/align]
[align=left]samba中添加帐号命令为smbpasswd,命令格式:smbpasswd -a 用户名[/align]
[align=left] [/align]
[align=left]注意:解决/etc/samba目录下没有smbpasswd文件,原因:samba启用了tdbsam验证。[/align]
[align=left]把tdbsam這行禁用掉,添加下面這行,保存退出就好了。然後再新建用戶:[/align]




[align=left]新建mis用戶,設置mis密碼,輸入兩次mis密碼[/align]
[align=left]添加mis用戶到samba服務,輸入兩次密碼,添加成功[/align]



[align=left] [/align]
[align=left] [/align]
[align=left]Linux服务中,当我们更改配置文件后,一定要记得重启服务哈,让服务重新加载配置文件,这样新的配置才可以生效哈[/align]
[align=left]注意哈:偶这里强调一下细节,重启samba服务,虽然可以让配置生效,但是restart是先关闭samba服务,再开启服务哈,这样如果在公司网络运营中肯定会对客户端员工的访问造成影响,建议使用reload命令重新加载配置文件使其生效,这样不需要中断服务就可以重新加载配置哈~[/align]
[align=left]重啟服務:service smb restart 停止:service smb stop 啟動:service smb start[/align]
[align=left]重新加載配置文件:service smb reload [/align]
[align=left]我们可以使用chkconfig命令自动加载smb服务: [/align]
[align=left]chkconfig --level 3 smb on #运行级别3自动加载 [/align]
[align=left]chkconfig --level 3 smb off #运行级别3不自动加载[/align]
[align=left]我们还可以使用ntsysv命令利用文本图形界面对smb自动加载进行配置,如果要自动加载smb可以在其前面选中“*”,否则取消掉就不自动加载了哈[/align]

[align=left]下面來做個列子,在/home下新建個test的作為共享目錄,打開smb.conf文件進行編輯:vim /etc/samba/smb.conf[/align]



[align=left]這裡是更改工作組,服務器的描述。[/align]




這裡一定要注意哈,如果用share模式的話就是可以匿名訪問的,設置成user模式,就是要用戶名和密碼才能訪問的。

[align=left] [/align]
[align=left] [/align]




在最後添加上面的語句:comment 是共享的描述,path是目錄的絕對路徑,public是設置能否匿名訪問,編輯好后保存退出。

[align=left] [/align]
[align=left]在test目錄下新建個test.txt的文件。[/align]




記得哈,修改了配置文件一定要重新加載才能生效的。



添加名為user1的用戶,設置密碼為123,添加到samba用戶。



[align=left]輸入地址訪問:\\172.26.6.100\test用戶:user1 密碼:123 成功訪問。[/align]



[align=left] [/align]
[align=left] [/align]
[align=left]現在是只能訪問而不能修改或新建文件。要想使用戶可以修改,就要設置文件的權限,這裡設置為777,然後打開Samba配置文件,設置好共享的權限[/align]






[align=left]設置好權限后用戶就可以修改了……[/align]

[align=left] [/align]
[align=left]使用IP地址來限制用戶訪問:[/align]
[align=left]hosts allow 和 hosts deny 的使用方法,hosts allow 和 hosts deny 字段的使用[/align]
[align=left]hosts allow 字段定义允许访问的客户端,hosts deny 字段定义禁止访问的客户端[/align]
[align=left]当host deny和hosts allow字段同时出现并定义滴内容相互冲突时,hosts allow优先。[/align]
[align=left] [/align]
[align=left]hosts deny = 172.26.2. 表示禁止所有来自172.26.2.网段的IP地址访问[/align]
[align=left]hosts allow = 172.26.2.28 表示允许172.26.2.28这个IP地址访问[/align]
[align=left] [/align]
[align=left]hosts deny = 172.26.2.[/align]
[align=left]hosts allow = 172.26.2.28 表示禁止所有来自172.26.2.网段的IP地址访问,但允許172.26.2.28訪問,以為hosts allow優先。這個可以根據實際要求靈活設置的,到這裡就基本上結束了。[/align]

[align=left]糾結了很久,爲什麽在訪問共享目錄的時候也會看到用來登錄的用的home目錄也能看到呢?原來是因為smb.cnf文件默認設置共享了,所以只要註釋掉語句就好了[/align]




[align=left] [/align]
[align=left]在运行中输入 ”\\172.26.6.100” 可以看到共享目录,如果看不到共享目錄請關閉防火牆。[/align]
[align=left]备注:但是不能进入共享目录,双击目录时,报錯誤ERROR[/align]
[align=left]原因是,RHEL5的selinux 挡住了,解决方法有两种:[/align]
[align=left]如何开启或关闭SELinux[/align]
[align=left]RedHat的 /etc/sysconfig/selinux[/align]
[align=left]在新版本中的Red Hat 和 Fedora 上,修改档案/etc/sysconfig/selinux:[/align]
[align=left]# This file controls the state of SELinux on the system.[/align]
[align=left]# SELINUX= can take one of these three values:[/align]
[align=left]# enforcing - SELinux security policy is enforced.[/align]
[align=left]# permissive - SELinux prints warnings instead of enforcing.[/align]
[align=left]# disabled - SELinux is fully disabled.[/align]
[align=left]SELINUX=enforcing[/align]
[align=left]# SELINUXTYPE= type of policy in use. Possible values are:[/align]
[align=left]# targeted - Only targeted network daemons are protected.[/align]
[align=left]# strict - Full SELinux protection.[/align]
[align=left]SELINUXTYPE=targeted[/align]
[align=left]把 SELINUX设定为disable, 下次启动系统后将会停止SElinux。[/align]
[align=left]Linux核心参数(Kernel Parameter)[/align]
[align=left]或者可以在核心参数后加上: selinux=0 (停止)或 selinux=1 (开启)参数[/align]
[align=left]档案/boot/grub/menu.lst[/align]
[align=left]title Fedora Core (2.6.18-1.2798.fc6)[/align]
[align=left]root (hd0,0)[/align]
[align=left]kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0[/align]
[align=left]initrd /initrd-2.6.18-1.2798.fc6.img [/align]
[align=left]检查SELinux现时况态[/align]
[align=left]要知到你现在是否使用 SELinux:[/align]
[align=left]# getenforce[/align]
[align=left]disabled[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: