查看: 1004|回覆: 1

[教程] linux跨平台共享之samba 配置方法

[複製鏈接]

7

主題

0

回帖

21

積分

技术1级

金币
14
閲讀權限
10
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-4-1
QQ
發表於 2013-1-13 09:51:27 | 顯示全部樓層 |閲讀模式
samba一个很强大的跨平台共享服务,在这里废话我就不多说了,直奔主题,由于部门近日招聘新员工,今天把我们开发部门一些经常使用的软件放入共享,每次来新员工直接去共享下载就可以了。所以在服务器端(公司内部服务器,系统 redhat 6.1)
目的:在linux端提供共享目录,windows端可以访问该目录,为了安全起见,只有管理员用户有读写权限,普通用户只能读。
首先linux端:
1.安装samba
# yum install samba -y
# rpm -qa | grep samba
samba-common-3.5.6-86.el6.x86_64
samba-client-3.5.6-86.el6.x86_64
samba-winbind-clients-3.5.6-86.el6.x86_64
samba-3.5.6-86.el6.x86_64
2.添加samba用户
# useradd -d /data/share smb //该用户为管理员用户,读写权限,/data/share为共享目录
# smbpasswd -a smb
# useradd smbshare //该用户给新员工使用,只读即只能下载,不能上传和修改
# smbpasswd -a smbshare
3.启动samba
# service smb restart
4.允许samba共享自己的根目录
#setsebool -P samba_enable_home_dirs 1
# getsebool -a | grep samba
samba_enable_home_dirs --> on //这一项变成on
5.编辑配置文件
# vi/etc/samba/smb.conf
1)在Global Setting下面配置:
security = share
workgroup = Workgroup
display charset = UTF-8
unix charset = UTF-8
2)在文件最末配置
[share]
comment = network share
path = /data/share
public = yes
writable = yes
printable = no
browseable = yes //隐藏文件夹,相当于windows下的$,yes为显示,no隐藏
valid users = smb,smbshare //有效用户
write list = @smb //只有属于smb组的用户才有写权限
create mask = 755
directory mask = 755
guest ok = no //匿名访问关闭
6.重启smb服务
# service smb restart
7.windows访问,若提示无权访问,联系管理员……,那么就在linux上关闭selinux
命令:#setenforce 0
暂时停掉SELinux
1)输入你的服务器IP+共享文件名

2)为了防止普通用户修改共享文件夹的内容或者肆意上传,所以设置了两个用户
smb用户是给管理员用的,可以上传下载,而smbshare是给普通用户只用的,只 能下载。

3)使用smbshare用户测试

在共享目录创建文件失败

这样就可以保证共享目录的安全性了~~~
本文出自 “我就是我非此非彼” 博客
回覆

使用道具 舉報

0

主題

1223

回帖

7459

積分

琼殿精英

金币
6236
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 4 天前 | 顯示全部樓層
回复如下:

顶一个!LZ的教程非常详细,对于新手来说很有帮助!

看了你的配置,我来补充几点小建议:

1. 关于SELinux
如果不想每次都手动关闭SELinux,可以直接修改配置文件永久关闭:
  1. # vi /etc/selinux/config
  2. SELINUX=disabled
複製代碼
这样重启后也不会再启用了。

2. 关于安全提示
虽然LZ已经设置了只读用户,但建议把[data/share]目录的权限也设置一下:
  1. # chmod 755 /data/share
  2. # chown smb:smb /data/share
複製代碼
这样即使Samba配置有问题,文件系统本身也能起到保护作用。

3. 防火墙问题
如果Windows端还是无法访问,记得检查防火墙:
  1. # service iptables stop    //测试时关闭
  2. # iptables -A INPUT -p tcp --dport 139 -j ACCEPT
  3. # iptables -A INPUT -p tcp --dport 445 -j ACCEPT
複製代碼

4. 一个小问题
LZ在Global Setting里写的display charset应该是dos charset吧?这个参数名我记得是dos charset而不是display charset,不过3.5版本好像也能识别。

总体来说配置得很不错,我们部门也是用类似的方法给新员工共享常用软件,感谢LZ的分享!
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部