1. # gedit /etc/samba/smb.conf
将smb.conf 文件中的
security = user
改为
security = share
在 smb.conf 文件的最后部分添加如下内容:
[share]
comment = tmp share
path = /share
writeable = yes
browseable = yes
guest ok = yes
2. # service smb restart
3. # mkdir /share/
4. # chmod -R 777 /share/
5. # chcon -R -t public_content_rw_t /share/
6. # iptables -F
7. # setsebool samba_export_all_rw on
如果是 /home , 还要执行如下命令:
[root@localhost ~]# getsebool -a|grep samba
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> on
samba_share_nfs --> off
use_samba_home_dirs --> off
virt_use_samba --> off
[root@localhost ~]# setsebool samba_enable_home_dirs 1
或
[root@localhost ~]# setsebool samba_enable_home_dirs on
# rpm -Uvh Desktop/selinux-policy-devel-2.4.6-255.el5.noarch.rpm
# rpm -Uvh Desktop/policycoreutils-gui-1.33.12-12.el5.i386.rpm
# system-config-selinux
8. Linux 访问 samba 共享的资源
打开“文件浏览器”,在地址栏输入: smb://192.168.0.xxx
9. Windows 访问 samba 共享的资源
打开“我的电脑”,在地址栏输入: \\192.168.0.xxx
注意:Windows 访问 samba 的共享资源时,需要将 smb.conf 文件中的
; netbios name = MYSERVER
取消注释
注意:如果一切设置正确,windows 仍然无法访问 samba 的共享资源时,要考虑“计算机名”重名的问题(因为局域网的电脑是网络传系统,设置起初都一样)。
注意:如果一切设置正确,第一次能够访问共享资源,之后不能访问,则 需要卸载桌面上的挂载点。
10. 如果 security = user 则
1) # useradd ztg
2) # passwd ztg
3) # smbpasswd -a ztg
输入密码: xxxxxx
Windows 访问 samba 共享的资源, 打开“我的电脑”,在地址栏输入: \\192.168.0.xxx ,
弹出对话框, 输入 用户名:ztg 密码:xxxxxx
++++++++++++++++++++
定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。它们对应的验证方式如下:
share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
user:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。
domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。
(http://bbs.chinaunix.net/thread-116786-1-1.html)
++++++++++++++++++++
# useradd aaa
# passwd aaa
# smbpasswd -a aaa
# vim /etc/samba/smbusers