rhel5.4下samba安装

rhel5.4下samba安装

我的环境是: vmWare6.5 +

[root@localhost Server]# uname -a

Linux localhost.localdomain 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux


 第一步 :rpm -qa|grep samba
    正常情况下应该为空
    然后以此安装
     rpm -ivh samba-common-3.0.33-3.14.el5.i386.rpm 
 rpm -ivh samba-client-3.0.33-3.14.el5.i386.rpm 
 ipm -ivh perl-Convert-ASN1-0.20-1.1.noarch.rpm 
rpm -ivh samba-3.0.33-3.14.el5.i386.rpm 
 rpm -ivh samba-swat-3.0.33-3.14.el5.i386.rpm 
 rpm -ivh system-config-samba-1.2.41-5.el5.noarch.rpm   --这一步可以省略,因为是图像界面配置,我比较喜欢。


图形界面配置:
 打开samba界面,重点是属性菜单那里设置成 share ,no,root命令。
 
下面是文本配置,感觉也是可以的。  如果
#---------------------------------------------------------------------------------------------------------
Samba


  然后,通过编辑 /etc/samba/smb.conf ,根据需求配置 Samba。在这里,本文的原则是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。




[root@sample ~]# vi /etc/samba/smb.conf  ← 编辑 Samba 的配置文件


#======================= Global Settings =====================================
[global]   ← 找到这一行(全局设置标签),在此行下面添加如下行:


dos charset = GB2312  ← 将 Windows 客户端的文字编码设置为简体中文 GB2312
unix charset = GB2312  ← 指定 Samba 所在的 CentOS 服务端新建文件或目录时的编码为 GB2312 
display charset = GB2312  ← 指定使用 SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码 
directory mask = 0777  ← 指定新建目录的属性(以下4行)
force directory mode = 0777
directory security mask = 0777
force directory security mode = 0777
create mask = 0777  ← 指定新建文件的属性(以下4行)
force create mode = 0777
security mask = 0777
force security mode = 0777


workgroup = MYGROUP  ← 找到此行,将工作组名称改为 Windows 网络所定义的工作组名

workgroup = WORKGROUP  ← 变为此状态,这里以 Windows XP 默认的“WORKGROUP”为例


; hosts allow = 192.168.1. 192.168.2. 127.  ← 找到此行,去掉行首的“;”,并制定访问限制

hosts allow = 192.168.1. 127.  ← 变为此状态,指定内网IP地址及本地,只允许这两种情况的访问


然后在配置文件的末尾填如下几行,定义公众共享目录:


[public]
comment = Public Stuff
path = /home/samba  ← 指定共享目录位置
public = yes
writable = yes  ← 赋予共享目录写入权限的属性
  接下来,创建将要通过 Samba 共享给 Windows 网络的专用目录。




# mkdir /home/samba  ← 建立共享文件专用目录


# chown -R nobody  /home/samba  ← 设置专用目录归属为 nobody 


# chmod 777 /home/samba  ← 将专用目录属性设置为 777


  在进行到服务端的连接之前,需要预先对用于登录 Samba 的用户进行设置。这里我们以 CentOS 中 Samba 标准的 Samba 用户数据库管理工具“smbpasswd”为例,创建用于登录 Samba 的用户数据。这里需要注意的一点:用 smbpasswd 创建用户的前提是,系统用户中存在该用户 -- 在基于系统用户之上,才可以创建该用户在 Samba 用户数据库中的信息。






# smbpasswd -a centospub  ← 将系统用户 centospub(例)加入到 Samba 用户数据库


New SMB password:  ← 输入该用户用于登录 Samba 的密码
Retype new SMB password:  ← 再次确认输入该密码
Added user centospub.


启动 Samba 服务
  在启动 Samba 服务之前,首先将防火墙设置中 Samba 所用到的端口进行开放。


编辑一下iptables规则


#vim /etc/sysconfig/iptables


把下面几行加进去。


-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
#/sbin/service iptables save


#/etc/rc.d/init.d/iptables restart 


# chkconfig smb on  ← 设置 Samba 自启动


# chkconfig --list smb  ← 确认 Samba 启动标签,确认 2-5 为 on 的状态
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off


# /etc/rc.d/init.d/smb start  ← 启动 Samba 服务
Starting SMB services:       [ OK ]
Starting NMB services:       [ OK ]


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


另外,如果要在windows中正常访问samba服务器,应该在配置完以后,设置selinux


#setsebool -P samba_enable_home_dirs on; \


setsebool -P samba_export_all_ro on; \


setsebool -P samba_export_all_rw on;


 附注:在windows下点击开始----运行 输入\\192.168.1.116就会出现登陆samba服务器的对话框。


默认它会记住上一次的记录,如果要换一个账号可以这样:net use \\192.168.1.116\IPC$     /delete


清除记录就可以了






出现的问题:
如果出现
请问我的系统是 wmWare+ redhat el5 在重启samba的时候,提示说:
Shutting down SMB services: [ OK ]
Shutting down NMB services: [FAILED]
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]


然后我查看下samba的状态:
 /etc/init.d/smb status
smbd (pid 5091) is running...
nmbd dead but pid file exists


这样是说明 在安装samba的那5或6个安装包时没有安装对,需要卸载后重新安装,卸载命令是:
先用rpm -qa|grep samba命令查看已经安装了的包,然后执行rpm -e --allmatches --nodeps 以此删除,删除完后最好重启一下,
实例: rpm -e --allmatches --nodeps samba-common-3.0.33-3.14.el5




如果XP端可以打开rhel5 中的文件,但无法写,可能是忘记关闭防火墙,可以使用/etc/init.d/iptables stop来关闭,或通过service菜单来关闭。
如果还是无法写入,可能是samba的登陆账号没有设置,要设置成root,即可。


你可能感兴趣的:(windows,centos,tcp,Security,防火墙,数据库管理工具)