- 论坛徽章:
- 0
|
原帖由 zyp339025518 于 2009-7-24 17:02 发表
帮顶,前段时间用ubuntu做了一个samba文件服务器!没这么复杂!
ubuntu上samba相对是简单的 这个是正常的
转一个centos5 的配置过程
在我们使用 Windows 作为客户机的时候,通常有文件、打印共享的需求。作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过 Windows Network 固有的功能实现这些要求。然而,通过 Samba 我们也可以让一台 CentOS 主机来兼容 Windows 网络,实现同样的功能,进而充分发挥 CentOS 主机的可用性。
本篇文档主要介绍怎样通过 Samba 服务器的构建实现 Windows 网络中的文件共享。
首先,通过 yum 来在线安装 Samba 。
[root@sample ~]# yum -y install samba ← 安装 Samba
.................................
Complete!
然后,通过编辑 /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.0. 127. ← 变为此状态,指定内网IP地址及本地,只允许这两种情况的访问
然后在配置文件的末尾填如下几行,定义公众共享目录:
[public]
comment = Public Stuff
path = /home/samba ← 指定共享目录位置
public = yes
writable = yes ← 赋予共享目录写入权限的属性 接下来,创建将要通过 Samba 共享给 Windows 网络的专用目录。 [root@sample ~]# mkdir /home/samba ← 建立共享文件专用目录
[root@sample ~]# chown -R nobody. /home/samba ← 设置专用目录归属为 nobody
[root@sample ~]# chmod 777 /home/samba ← 将专用目录属性设置为 777 |
[root@sample ~]# vi /etc/sysconfig/iptables ← 编辑 iptables 配置文件
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -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
-A RH-Firewall-1-INPUT -p udp -m udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j ACCEPT
[root@sample ~]# /etc/rc.d/init.d/iptables restart ← 重新启动 iptables ,使新的规则生效
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
#======================= Global Settings =====================================
[global]
dos charset = GB2312
unix charset = GB2312
display charset = GB2312
# ----------------------- Netwrok Related Options -------------------------
workgroup = MYGROUP
server string = Samba Server1(freesense)
netbios name = Centos5-Samba1
hosts allow = 127. 192.168.1.
# --------------------------- Logging Options -----------------------------
log file = /var/log/samba/%m.log
max log size = 50
# ----------------------- Standalone Server Options ------------------------
security = user
encrypt passwords = Yes
smb passwd file = /etc/samba/smbpasswd
# passdb backend = tdbsam
# --------------------------- Filesystem Options ---------------------------
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
template shell = /bin/false
winbind use default domain = no
#============================ Share Definitions ==============================
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
; valid users = MYDOMAIN\%S
;[printers]
; comment = All Printers
; path = /var/spool/samba
; browseable = no
; guest ok = no
; writable = no
; printable = yes
###############################################
切忌:
在centos下开启samba的时候一定要把iptables,及SELINUX 两项全部关掉才可以,
我在centos下使用的时候,在网上找了好多的资料看有关配置samba的文章,但是都是打通小异,
能看到linux下的共享文件,但就是没有"写权限", 为此我郁闷了好长时间,就是不知道原因,
但在我的一次重装机器后,我的师傅和我一起检查了samba的配置,但samba就这么点东西,没有什么
特别的东东,就是不能写气死我了。最后发现把SELINUX的功能关掉就好了,哎郁闷啊!
SELINUX也是在centos(RADHAT其他版本没有使用过,不做评论)下的关于安全的机制,故此关掉就好了。
否则即使可以看到文件 |
|