#mount –t smbfs //192.168.0.1/linux /mnt
或 #mount.cifs //192.168.0.1/linux /mnt
2.#smbclient //192.168.0.1/linux –U redhat%123
public = yes 允许所有人访问
= no 不允许匿名访问
1.共享目录设置有效用户
[redhat]
path = /var/redhat
comment = redhat’s files
valid users =
2.创建samba用户
#useradd username 新建一个系统用户
#smbpasswd –a username 将用户加入到samba中
3.用户账号映射
[global]
username map = /etc/samba/smbusers
4.修改上面指定的smbusers文件,添加虚拟用户名
redhat = tom jack
[global]
validusers = %S %S目录属主
browseable = no 默认不允许浏览home目录
writable = yes 允许写
valid users = 有效用户列表
write list = 可写用户列表
create mask = 0660 定义创建文件的默认权限
directory mask = 0770 定义创建目录的默认权限
ls –lh 显示目录里各个文件的详细信息
ls –ld /usr/redhat 只显示目录本身的详细信息
#testparm /etc/samba/smb.conf my-server 192.168.0.1
测试客户机能访问服务器的哪些目录
path = /var/redhat
comment = redhat’s files
public = no
valid users =
write list =
create mask = 0660
directory mask = 0770
注意:客户端所有请求访问身份在服务器端都会映射成登录账号的身份
/etc/samba/smb.conf
[global]
workgroup = WORKGROUP 组或域名
server string = samba server 服务器描述
netbios name = redhat 指定samba服务器名
security = share/user/server share不需验证用户,user要验证
;password server =
需与security=server配合使用
log file = /var/log/samba/log.%m %m指客户机的netbios名,日志按客户机名分类
encrypt passwords = yes
加密密码,windows客户机一般使用加密密码,所以为yes.如果不加密直接用明文密码,可改为no,但windows客户机需修改注册表指定不加密
smb passwd file = /etc/samba/smbpasswd
上面两句要一起使用!
include = /etc/samba/smb.conf.%m 包含外部配置文件,如根据不同的客户机名称,定义不同的共享资源
;interfaces = 192.168.0.0/24 samba应用在哪个接口上,默认是在所有网卡,所有接口上
;name resolve order = wins lmhosts bcaast 名称解释顺序
;wins support = yes 自己作为WINS服务器,并提供给客户机查询
;wins server = w.x..y.z 与WINS配合使用,作为WINS服务器,请求会发送到w.x.y.z
左边IP 右边名称
127.0.0.1 localhost
wins server 说明本身作为客户机,而指定一台wins服务器的IP
[global]
security =
1.share
windows用户不需要认证就能访问共享列表
2.user
windows客户机需输入用户才能访问共享名列表,服务器上需建立用户账号
3.server
客户端需输入合法用户帮能访问,但认证过程在另一服务器进行,用户账号保存在认证的那台服务器上。
share,user只对windows客户机有效,linux客户机在user级别不用密码也能访问共享名列表。security只保护主机的共享名列表,具体到目录的访问则由目录的规则决定。
#nmblookup my-server 查询主机IP(与samba netbios name有关)
#man smb.conf 查看相关帮助
vi搜索技巧:
/%m 先输入”/”再输入要查找的字符串
/redhat 如查找”redhat”字符串
shift+G 跳到文件尾
如Fedora.cyrich.com则这台samba服务器的名称就是Fedora
一、全局控制
[global]
hosts deny = ALL
hosts allow = 192.168.0.
二、局部访问控制
[docs]
hosts deny = 192.168.0.
hosts allow = 192.168.0.1
[redhat]
hosts allow = 192.168.0.
host deny = 192.168.0.1 (失效)
允许优先!!
hosts 后面的格式语法,可以通过man 5 host.access查看帮助
1.点开头 .edu.cn
2.点结尾 192.168.0.
3.192.168.0.0/255.255.255.0
192.168.0.0/24
4.ALL LOCAL UNKNOWN DNS不能解析的
5./开头 指定一个文件
6.hosts allow = 192.168.0.0 EXCEPT 192.168.0.1
允许192.168.0网段主机访问,但192.168.0.1除外
#tail /etc/samba/smb.conf
显示文件最后的十行
要求:
1.所有员工都能够在公司内流动办公,但不管在哪台电脑上工作,都要把自己的文件数据保存在samba文件服务器上。
2.市场部,技术部都各有自己的目录,同一个部门的人共同拥有一个共享目录,其他部门的人都只能访问在服务器上自己个人的home目录
3.所有用户都不允许使用服务器上的shell
分析:
1.需要samba作为文件服务器,为所有用户创建账号和目录,用户默认都 在服务器上有一个home目录,只有认证通过才能看到。
2.需为市场部和技术部创建不同的组sales和tech,并且分配目录,把所有市场部员工加入sales组,技术部员工加入tech组,通过samba共享sales和tect
3.建立用户账号时,不分配shell
案例实施:
1.为所有用户创建账号和目录,不分配shell,假设市场部有tom,jack,技术部有red,blue,总经理ceo,财务finance
2.建组sales和tech,把所有市场部员工加入sales组,技术部员工加入tect组
3.创建两个目录/home/sales和/home/tech,并修改两个目录的权限,分别属于sales组和tect组
4.通过samba共享/home/sales和/home/tect
5.测试
如有错误,检查
/etc/samba/smbpasswd 确定账户
/etc/samba/smbusers 查看映射文件
tail /var/log/samba/redhat.log 查看/var/log/samba/目录下的日志
#vi /etc/samba/smb.conf 安全级别为user
#groupadd sales
#groupadd tech
#useradd –g sales –s /bin/false tom
#useradd –g sales –s /bin/false jack
#smbpasswd –a tom
#smbpasswd –a jack
#for user in red blue 批量添加用户red,blue
>do
> useradd –g tech –s /bin/false $user
> smbpasswd –a $user
> done
#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
#vi /etc/samba/smb.conf
[sales]
path = /home/sales
comment = sales
public = no
valid users = @sales
write list = @sales
create mask = 0770 其实效果就是0760,因为samba服务器会自动把可执行权限拿掉
directory mask = 0770
[tech]
path = /home/tech
comment = tech
public = no
valid users = @tech
write list = @tech
create mask = 0770
directory mask = 0770
1.smbclient –L 192.168.0.22 –U tom%tom
2.mount.cifs //192.168.0.22/ceo –o username=ceo%ceo
windows客户机映射网络驱动器,再设定“我的文档”位置,就可随时随地将文件保存在samba服务器