手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

samba 服务器配置

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

[root--~]/usr/local/samba/bin/smbpasswd -a nxgz 添加samba用户成功
New SMB password:
Retype new SMB password:
startsmbfilepwent_internal: file /usr/local/samba//private/smbpasswd did not exist. File successfully created.
Added user nxgz.

[root--~]service iptables stop
清除任何链: [ 确定 ]
删除用户定义的链: [ 确定 ]
将内建链重设为默认的“ACCEPT”策略: [ 确定 ]
[root--~]service network restart
正在关闭接口 eth0: [ 确定 ]
关闭环回接口: [ 确定 ]
配置网络参数: [ 确定 ]
弹出环回接口: [ 确定 ]
弹出界面 eth0: [ 确定 ]
[root--~]/usr/local/samba/sbin/smbd -D 启动samba的二个进程
[root--~]/usr/local/samba/sbin/nmbd -D
到win-xp下,打开的的电脑,找到地址,输入\linux主机名,能够找到共享的目录read,成功。

方法2
在smb.conf最后加上如下
[read2]
comment = read2
path = /home/read2
public = yes
read only = yes
mkdir /home/read2 ; cd !$ ; cat > linux ; chmod -R 777 /home/read2 ; 创建共享目录及修改权限
然后
service iptables stop
service network restart
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
在win-xp下是看不到我们共享的read2。
可能是smb.conf有问题,我们用testparm工具检查一下。
[root--~]testparm
bash: testparm: command not found 没有输入完整路径。
[root--~]/usr/local/samba/bin/testparm
Load smb config files from /usr/local/samba//lib/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[read]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
就是没有read2,我们仔细看看第一行,Load smb config files from /usr/local/samba//lib/smb.conf,似乎testpart工具是根据lib/smb.conf得到的,lib下的 smb.conf和etc下的smb.conf完全不相同嘛,因为我们增加了read2,我们能够复制覆盖了他
cp -f /usr/local/samba/etc/smb.conf /usr/local/samba/lib/
然后
service iptables stop
service network restart
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
回到win-xp下能够找到,哈哈,好了,虽然他的权限为777,但是由read only控制,不能够删除,添加。
目标1成功

由于每次修改完/usr/loca/samba/etc/smb.conf,我们都要
cp -f /usr/local/samba/etc/smb.conf /usr/local/samba/lib/
然后
service iptables stop
service network restart
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D

我们能够写个shell
emacs samba.sh
cp -f /usr/local/samba/etc/smb.conf /usr/local/samba/lib/
service iptables stop
service network restart
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
修改完,启动时能够
1, sh samba.sh
2, sh < samba.sh
3, chmod 777 samba.sh
mv samba.sh ~/bin
samba.sh
这三种方法都能够。

目标2,
以上保持不变,在smb.conf最后加上
[write]
comment = write
path = /home/write
public = yes
guest ok = yes
writable = yes

mkdir /home/write ; cd /home/write ; cat >linux ; chmod -R 777 /home/write/ ;sh < samba.sh创建共享目录文档,开放权限,重启服务
到win-xp下read目录下能够读,在write中能够删除,添加,改变原文档,目标2完全正确。我们再试一下中文问题,在win-xp下打开linux的write目录,找编辑linux,增加中文,并在write目录下建立中文目录,我们再回到linux下看结果是否能够正常显示中文。结果编辑linux的中文能够正常显示,中文目录是乱码,想想如何解决。
在smb.confr的[global]中添加
dos charset=cp936
unix charset=cp936 我是加到 security = share的下面了
在win-xp打开write添加中文目录,回到linux下,一看能够正确识别中文

目标3,
多建立几个samba用户。
adduser sambau001 ; passwd !$ ; /usr/local/samba/bin/smbpasswd -a sambau001
用以上方法增加sambau002,sambau003用户
分别su到这些用户,增加文档linux,然后修改smb.conf,把security = 改为user,这次请重新启动一下win,因为添加用户了,这时输入用户和口令就能够进去了,并能够看到自己的目录
我的home如下
[homes]
comment = home
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
用一个用户进入,win-xp下建立一个文档,一个目录,在目录中另外建立一个文档,在linux用该用户进入自己的目标,能够看到刚才建立的文档目录,文档权限符合664,目录权限符合775。
目标3成功。


目标4,
建立3个组
groupadd sambag001 ; groupadd sambag002 ; groupadd sambag003
usermod -g sambag001 sambau001 ; usermod -g sambag002 sambau002 ; usermod -g sambag003 sambau003 把刚才3个用户分别添加到3个组中。

mkdir share ;cd share/ ;cat > linux ; chmod -R 777 /home/share/ 开放权限,在smb.conf中控制他
需要sambag001组中的用户r,sambag002组中的用户rw,sambag003组中的用户no

在smb.conf中添加以下
[share]
comment = share
path = /home/share
public = no
valid users = @sambag001,@sambag002
invalid users = @sambag003

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!