1.首先要建立一些相关的目录:
Mkdir /home/samba
Mkdir /home/samba/public
Mkdir /home/samba/exchange
Mkdir /home/samba/profiles
Mkdir /home/samba/netlogon
Mkdir /home/samba/computer
2.建好之后用chmod 命令修改这些目录的权限:
Chmod 777 /home/samba/public
Chmod 1777 /home/samba/exchange
Chmod 1777 /home/samba/profiles
Chmod 700 /home/samba/netlogon
Chmod 777 /home/samba/computer
3.再建立一些用户和组:
Groupadd computer
Groupadd machines
Useradd –g computer jxgzoyke
Passwd jxgzoyke
….
…
4.接下来看配置文件的设置
[global]
workgroup = WORKGROUP//设置工作组
server string = Samba Server%v//Samba服务器的描述信息
netbios name = SMBServer//Samba服务器在Windows中显示的名称
hosts allow = 192.168.1. 192.168.2. 127.//允许访问Samba服务器的机器,注释掉也可以
log file = /var/log/samba/%m.log//日志文件的位置”%m”代表客户机的NetBIOS名称
max log size = 0//日志文件的大小
security = user//共享等级
encrypt passwords = yes//是否加密
smb passwd file = /etc/samba/smbpasswd//密码文件位置
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192//可以提高服务器的性能,原因我也不知道,^o^
local master = Yes//是否允许Samba参与子网上的本地主浏览器的竞选
os level = 33
domain master = yes //是否允许Samba成为域的主浏览器
preferred master = yes//设置Samba成为优选主浏览器
domain logons = yes//是否启用Samba作为域登陆服务器
logon home = \\%L\%U//%L代表服务器的NetBIOS名称,%U发出请求客户机的用户名称
logon drive = H://把用户主目录映射为本地H盘
logon path = \\%L\profiles\%U//保存客户端机器桌面配置信息的路径,profiles跟下面的[profiles]共享段对应
logon script = netlogon.bat//登陆脚本
[homes]
comment = Home Directories
browseable = no//不可浏览
writable = yes//可以
valid users = %S//%S当前服务的名称
create mode = 0664//建立文件的权限
directory mode = 0775//建立目录的权限
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
write list = root
share modes = no
browseable = no
[profiles]
path = /home/samba/profiles
browseable = no
public = yes
writeable = yes
create mask = 0700
directory mask = 0700
[public]
comment = public
path = /home/samba/public
public = yes
browseable = yes
write list = jxgzoyke
[exchange]
comment = exchange
path = /home/samba/exchange//这个目录共享之后谁都可以读写,但不能删除别人的文件
原因就在于chmod 1777 /home/samba/exchange这条命令
public = yes//所有人都可以访问
writeable = yes//可写
[computer]
comment = computer
path = /home/samba/computer
browseable = yes
valid users = @computer//只有computer组的用户才可访问
writeable = yes
修改完配置文件之后记得要重启samba哦:service smb restart,还可以用Chkconfig –level 35 smb on让samba开机进入3或5运行级时自动启动
5.现在来添中用户帐号了:
Smbpasswd –a jxgzoyke//注意这个帐号必须在/etc/passwd中存在输入密码:
验证密码:
Smbpasswd –a root//一定要把root用户加到/etc/samba/smbpasswd中
6.现在从windows机器上还访问不了samba服务器,可能会提示:找不到网络路径
用iptables –F命令暂时清掉防火墙的规则(至于怎么样在防火墙中添加允许访问samba服务器的规则我也不知道,有朋友清楚的也别忘了教我一下),现在你应该可以从windows机器上输入上面所添加的帐密码访问samba服务器了
7.下面来看看如何加入域,例如:我一台windows2000的机器名是oyke
先建立一个linux帐号:
Useradd –g machines –d /dev/null –s /bin/false oyke$
设置密码:
Passwd oyke$
再把上面的帐号加到/etc/samba/smbpasswd中
Smbpasswd –a –m oyke
现在到2000的机器上右击我的电脑,属性,网络标识,属性。在录属于下面选择“域”,输入配置文件中workgroup一项设置的工作组名,确定后会弹出输入用户名密码的对话框来,输入root帐号和密码,过一会用提示欢迎加入XXX域。重启电脑用jxgzoyke这个帐号登陆,2000加入samba域就成功了
XP,2003加入域方法是一样的,但是必须先更改一下注册表:
在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]下新建一个DWord项:requiresignorseal,设置值为:0;如果已存在就修改一下值就行了。
98,ME的系统就直接用samba中用帐号登陆就可以的。
炫浪学院 Linux教程