关闭

Samba服务器的配置及使用

424人阅读 评论(0) 收藏 举报
SMB(Server Message Block)
基于tcp/ip协议
澳大利亚人开发
功能
文件 打印机
客户
win9x winnt linux unix dos



/usr/sbin/smbd
处理来自用户的连接;文件、权限、用户名的管理
/usr/sbin/nmbd
帮助快速定位服务器,主要是主机名的定位
/usr/sbin/swat
Samba的Web维护工具,可以通过Web来维护Samba
/etc/rc.d/init.d/smb
启动或停止samba服务的脚本程序
/etc/smb.conf
Samba的主要配置文件
/etc/smbusers
samba客户的用户名到Linux用户名的映射文件
/usr/bin/smbstatus
报告当前Samba的连接状态
/usr/bin/mksmbpasswd.sh  
从/etc/passwd文件形成smbpasswd文件的程序
/usr/bin/smbadduser
增加新的samba用户的程序
/usr/bin/smbclient
访问smb服务器资源的客户程序
smbclient //Eloo-Server1/share
smbclient //Eloo-Server1/share -I 192.168.0.22
smbclient -M Eloo-Server1
smbclient -L
smbmount //smbserver/service /mnt/smb


/usr/bin/smbpasswd
改变一个用户的smb加密口令
/usr/bin/testparm
检查smb.conf配置文件语法是否正确的程序

smb.conf是由段组成,每个段中又包含参数,参数的赋值方法
参数=参数值
; #开头的都是注释行
宏:log file=/var/log/samba/log.%m

[global]
workgroup=Eloo.com  指该服务器所在的工作组
server string= Samba Server 描述信息
log file=/var/log/samba/log.%m  指定日志文件的存放地点 m代表客户机的netbios名
security = user 指定Samba操作的安全方式
[homes]
comment = Home directories  注释信息
browseable = yes 共享名称可以出现
writeable = yes  共享目录可以让客户写
CREATE MODE=0755  按照unix文件的属性来创建文件
[printers]
path = /var/spool/samba  设置一个可以写的目录,作缓冲池
guest ok = yes 允许任何人访问
printable = yes 可以打印


global中常用的参数
security 确定对客户用户名/口令的验证方式
-user 进行访问之前要输入有效的用户名及口令
-share 不需要有效的用户名及口令即可访问
-server 本质与'user'模式一样,但由其它samba服务器来验证
-domain  指定该samba服务器是一个域控制器
encrypt passwords = yes/no
是否使用Win系统下的加密口令,如果选yes的话,就接收传过来的加密的口令,
如果选no的话,就要接收未加密的口令,但现在的win系统一般都加密,所以要修改注册表,
使之不加密
regedit
/HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/VxD/VNETSUP
编辑-=-新建==Dword值
重命名"新值#1"为"EnablePlainTextPassword"
赋值该新键值为1

smb passwd file =/etc/smbpasswd
设置samba服务器的用户密码存放地
username map
把samba客户的用户名映射为linux用户名的文件
ex:root = admin administrator

host allow = 192.68.0. Except 192.68.0.11
允许192.68.0这个子网段内除192.68.0.11这台机器外的的所有机器访问

log file =/var/log/samba/log.%m
如果host1,host2这两台机器访问过服务器,就会在/var/log/samba/目录下生成log.host1,log.host2这两个日志文件

Smb.conf的其它参数说明
path   共享目录的路径(一定要存在)
browseable 共享段是否在控制列表中列出
exec 或 proexec 在建立连接之前有SMB服务器选运行的命令
root preexec 只有root才能执行的命令,常用于挂接文件系统
ex:
   [cdrom]
    comment = cdrom
    path = /mnt/cdrom
    read only = yes
    root preexec = mount /mnt/cdrom
    root postexec = umount /mnt/cdrom   
public 是否公开,如果设置为yes的话,访问此共享目录不需要口令
create mode = 0755 创建文件后文件的权限位
read only 如果设置为yes ,则不允许用户在此目录中进行写文件操作


实验一:把自己本机设置为一台Samba服务器,使/home/user/test目录共享,使用另外一台Windows机器来测试是否能找到此机器并能访问共享目录(注意:此实验中samba的安全级别设置为share级,即所有人都可以访问 security = share)
实验二:内容同上,但要把服务器的安全级别设置为user级别,即security=user,然后再测试。













Share级别
        vi /etc/smb.conf
        [global]段中
        改security = share
后,加一个共享段
        [share]
        path=/home/user/share
        public=yes
        browseable=yes
        netconf        设置主机名
        hostname 设置主机名
        重启即可
实验内容:设置/home/user/share目录共享,使win9x客户端访问
User级别(vi /etc/smb.conf)
        [global]段中
        改security=user
        取消 encrypt passwords = yes
         smb passwd file = /etc/smbpasswd
        的注释
       
         cat /etc/passwd|mksmbpasswd.sh >/etc/smbpasswd
        使系统帐号导入至Samba帐号库中
       
        smbpasswd <username>
        为一个Samba帐号设置密码
        重启服务
实验内容:设置win98客户端通过正常的用户名和口令可以访问自己的主目录 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:133438次
    • 积分:2765
    • 等级:
    • 排名:第13745名
    • 原创:84篇
    • 转载:53篇
    • 译文:0篇
    • 评论:35条
    最新评论