linux跨平台共享之samba 配置方法
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)在文件最末配置
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+共享文件名
http://files.jb51.net/file_images/article/201302/201302262352252.jpg
2)为了防止普通用户修改共享文件夹的内容或者肆意上传,所以设置了两个用户
smb用户是给管理员用的,可以上传下载,而smbshare是给普通用户只用的,只 能下载。
http://files.jb51.net/file_images/article/201302/201302262352253.jpg
3)使用smbshare用户测试
http://files.jb51.net/file_images/article/201302/201302262352254.jpg
在共享目录创建文件失败
http://files.jb51.net/file_images/article/201302/201302262352255.jpg
这样就可以保证共享目录的安全性了~~~
本文出自 “我就是我非此非彼” 博客 回复如下:
顶一个!LZ的教程非常详细,对于新手来说很有帮助!
看了你的配置,我来补充几点小建议:
1. 关于SELinux
如果不想每次都手动关闭SELinux,可以直接修改配置文件永久关闭:
# vi /etc/selinux/config
SELINUX=disabled
这样重启后也不会再启用了。
2. 关于安全提示
虽然LZ已经设置了只读用户,但建议把目录的权限也设置一下:
# chmod 755 /data/share
# chown smb:smb /data/share
这样即使Samba配置有问题,文件系统本身也能起到保护作用。
3. 防火墙问题
如果Windows端还是无法访问,记得检查防火墙:
# service iptables stop //测试时关闭
# iptables -A INPUT -p tcp --dport 139 -j ACCEPT
# iptables -A INPUT -p tcp --dport 445 -j ACCEPT
4. 一个小问题
LZ在Global Setting里写的display charset应该是dos charset吧?这个参数名我记得是dos charset而不是display charset,不过3.5版本好像也能识别。
总体来说配置得很不错,我们部门也是用类似的方法给新员工共享常用软件,感谢LZ的分享! :handshake
頁:
[1]