samba学习笔记及案例


一 安装软件

samba服务器软件包
# rpm -ivh samba-3.0.23c-2.i386.rpm

samba客户端工具
# rpm -ivh samba-client-3.0.23c-2.i386.rpm

通用工具和库
# rpm -ivh samba-common-3.0.23c-2.i386.rpm

# rpm -ql samba
# rpm -ql samba-client
# rpm -ql samba-common

二 基本命令

1 smbtree
作用:显示局域网中的所有共享主机和目录列表
用法:smbtree -b -D -U redhat%redhat

说明:b广播、D域名工作组、U用户名和密码

2 nmblookup
作用:显示一台主机的ip地址

# nmblookup /*
显示当前所有活动主机的IP地址,/为转义,否则*为当前目录的所有目录和文件

3 smbclient
作用:显示/登录局域网中的共享文件夹

smbclient -L win2000/10.0.0.21 -N
smbclient -L win2000/10.0.0.21 -U redhat%redhat
说明:显示指定计算机内容

smbclient //10.0.0.21/lab -U redhat%redhat
说明:登陆指定计算机

4 挂载两种方式
作用:挂载到指定目录
用法:
# mount -t cifs -o username=administrator,password=redhat,rw //10.0.0.21/lab /mnt

# smbmount //10.0.0.21/lab /mnt -o username=redhat%redhat

#umount /mnt

5 smbtar
作用:远程备份网上邻居中的文件
用法:smbtar -s win2000 -u redhat -p redhat -x sharename -t backup.tar

教程中提到默认的smbtar是有问题的,于是查找smbtar文件
# which smbtar

# file /usr/bin/smbtar
/usr/bin/smbtar: Bourne shell script text executable
说明:查类型,smbtar是个文本shell脚本

# vim /usr/bin/smbtar
移到最后eval处去掉 -N 参数
# tar tvf backup.tar

6 smb
说明:图形操作,文件管理地址栏里输入
smb://10.0.0.21
输入用户名和密码

三 samba服务器配置
1 修改配置文件 /etc/samba/smb.conf
workgroup=workgroup
security=share        #user
[docs]
 path=/usr/share/doc
 comment=share documents
 public=yes

2 重新启动smb服务器
#service smb restart
#chkconfig smb on

3 测试
#smbclient -L localhost

四 配置smb.conf
samba用户
1 共享目录设置有效用户
[redhat]
  path=/var/redhat
  comment=redhat's files
  public=no
  valid users=<username> <@groupname>
  write list=<username> <@groupname>
create mask=0660
directory mask=0770

2 新建samba用户 
# useradd username     //首先必须是系统用户
# smbpasswd -a username   //加入smb用户,输入smb密码

#more /etc/samba/smbpasswd

3 用户账号映射  *
[global]
  username map = /etc/samba/smbusers
 
# vim /etc/samba/smb.conf
去掉以上注释

# smbuseradd unixname:mapname   //此命令只有redhat有,fedora没有
# vim /etc/samba/smbusers //可以直接修改文件


#testparm   //测试配置文件是否正确


附:用windows测试时,在cmd下可以显示连接,删除连接
>net use
>net use /delete //10.0.0.8/ipc$

五 案例

要求:
1 为所有的用户创建账号和目录,不分配shell。
假设市场部有tom、jack,技术部有red、blue,总经理是ceo,财务是finance
2 建组sales和tech,把所有市场部的员工加入sales组,技术部的员工加入tech组
3 创建两个目录/home/sales和/home/tech,并且修改两个目录的权限,分别属于sales组和tech组
4 通过samba共享/home/sales和/home/tech组
5 测试

实施:
# groupadd sales
# groupadd tech

# useradd -g sales -s /dev/null tom
# useradd -g sales -s /bin/false jack

# smbpasswd -a tom
# smbpasswd -a jack


# for user in red blue
> do
>   useradd -g tech -s /bin/false $user
>   smbpasswd -a $user
> done

# more /etc/samba/smbpasswd

# useradd ceo
# useradd finance
# smbpasswd -a ceo
# smbpasswd -a finance

# mkdir /home/sales /home/tech
# chgrp sales /home/sales/
# chgrp tech /home/tech/

# chmod 770 /home/sales/
# chmod 770 /home/tech/
# chmod g+s /home/sales/         //永远属于这个组
# chmod g+s /home/tech/


[sales]
    path = /home/sales
    comment = sales's stuff
    public = no
    valid users = @sales
    write list = @sales
    create mask = 0770
    directory mask = 0770

[tech]
    path = /home/tech
    comment = tech's stuff
    public = no
    valid users = @tech
    write list = @tech
    create mask = 0770
    directory mask = 0770

测试:
# smbclient //10.0.0.8/sales -U tom
出错提示:
tree connect failed: Call returned zero bytes (EOF)
解决方法:
将smb.conf中@改成+

六 通过web方式管理samba

1 安装swat软件
# rpm -ivh xinetd-2.3.14-8.i386.rpm
# rpm -ivh samba-swat-3.0.23c-2.i386.rpm

2 修改配置文件
# vim /etc/xinetd.d/swat
only_from = 10.0.0.11
disable         = no
user            = root

# /etc/init.d/xinetd restart

3 只允许10.0.0.11机器访问,并输入root系统用户的用户和密码
http://10.0.0.8:901/


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值