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

Linux下简单配置SAMBA服务,实现与Windows系统文件共享.

2010-02-09 10:45 1551 查看
首先你的LINUX系统上必须安装samba服务
执行下面的命令,进行检查:
# rpm –qa | grep samba
如果屏幕显示以下信息,则说明已经安装了Samba服务。
samba-common-2.2.1a-4
samba-swat-2.2.1a-4
samba-2.2.1a-4
samba-client-2.2.1a-4
如果没有安装,请从安装光盘安装。执行下面的命令:
# mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom/
# rpm -ivh samba-common-2.2.1a-4.i386.rpm
# rpm -ivh samba -2.2.1a-4.i386.rpm
# rpm -ivh samba –clinet-2.2.1a-4.i386.rpm
完成安装后进入samba配置文件 /etc/samba/smb.con 进行修改 ,以本机共享 /var/rhcepkg 文件为例
通常修改如下的参数:
#修改文件夹权限,定义组和其他权限为RWX
#chmod 777 /var/rhcepkg

#设置samba服务器所在的工作组为mygroup
workgroup=mygroup
#设置Samba服务器的主机名。
server string = Samba Server
#设置hosts allow = 127. 192.168.1. (这里只取IP地址的前三位,只要指定IP网段就行了)
#设置Samba的安全等级,将默认的user改成share,这样将不需要密码验证,即可登录Samba主机。security=share
#设置 /var/rhcepkg 作为共享目录。该共享目录权限完全开放(如果是只让其他用户读,不能写,则将改成read only=yes)。
[rhcepkg]
comment=rhcepkg
path= /var/rhcepkg
read only=no
browseable=yes
writeable=yes
public=yes
……
启动Samba服务
# /etc/rc.d/init.d/smb start
如果在修改完相应参数后,需要重新启用,则执行下面的命令:
# /etc/rc.d/init.d/smb restart
关闭SElinux开关为permisive ,(如果是enforcing,会导致权限问题而无法访问)
#setenforce 0 (这里只是在内存中改变SELINUX的开关,如果需要下次重启也改变,需要修改 /etc/sysconfig/selinx参数
检查Selinux状态
#sestatus
当然你还可以在selinux=enforcing状态下,通过设置BOOLING值来解决权限访问的问题.
Samba的boolean值的查看: #getsebool –a | grep samba
如果你共享文件夹在家目录下,你可以这么做
If you want to share home directories via samba please run:
# setsebool -P samba_enable_home_dirs on
如果你建立了一个新的目录进行共享,你可以这么做
If you create a new directory you want to share you should mark it as
"samba-share_t" so that selinux will let you write into it.
Make sure not to do that on system directories as they may already have
been marked with othe SELinux labels.
# chcon -t samba_share_t /var/rhcepkg (只能解决/rhcepkg目录的访问权限,而在/rhcepkg下的文件夹,需要继续设置)
例如:# chcon -t samba_share_t /var/rhcepkg/* (推荐用这个)

关闭Linux防火墙
如果Linux上安装了防火墙,会导致无法访问共享文件夹,这时可以先试试关闭防火墙。
# chkconfig iptables off
# service iptables stop
如果关闭防火墙后,能正常访问,则需要进一步确定防火墙开放Samba服务需要使用的端口(135、139)。这样就可以实现文件夹共享了。
如果需要开机时自动启动Samba服务,则可以执行下述命令:
# chkconfig –level 35 smb on



如果在另一台LINUX系统的PC上需要共享SAMBA服务
#smbclient -L 192.168.x.x -N (192.168.X.X为目标SAMBA服务器IP,此命令可以列出该服务器上共享的SAMBA目录和share name)
#mount //192.168.x.x/share name /mnt -o username=用户名%密码

PS : 其实以上的方法在安全上还很欠缺,比如security=share,允许所有用户都能访问
还有关闭了SELINUX这个LINUX系统的法律规则.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LINUX 职场 samba 休闲