smb(samba)服务:
用于Linux和windows之间文件传输,打印机共享;可以实现匿名用户、本地用户的文件共享
smb进程:负责控制发布共享目录与权限 tcp 139 445
nmb进程:用于名称解析netbios udp 137 138 基于netbios协议获取计算机的名称,并解析成相应的ip,实现通讯
# rpm -aq|grep ^samba
samba-winbind-clients-3.6.9-164.el6.x86_64 客户端工具
samba-client-3.6.9-164.el6.x86_64 客户端工具
samba4-libs-4.0.0-58.el6.rc4.x86_64 库文件
samba-common-3.6.9-164.el6.x86_64 工具包
samba-winbind-3.6.9-164.el6.x86_64 客户端
samba 服务端软件【需要安装】
1、
2、
3、软件三步曲
# yum -y install samba
# rpm -q samba
# rpm -ql samba
/etc/logrotate.d/samba 日志轮转文件
/etc/pam.d/samba 认证文件
/etc/rc.d/init.d/nmb 启动脚本
/etc/rc.d/init.d/smb 启动脚本
/etc/samba/smbusers 定义别名
/usr/sbin/nmbd 二进制命令
/usr/sbin/smbd 二进制命令
# rpm -ql samba-common
/etc/samba 相关主目录
/etc/samba/smb.conf 主配置文件
/usr/bin/pdbedit 查看数据库文件的命令
/usr/bin/smbpasswd 创建smb用户
/usr/bin/testparm 语法测试
# rpm -ql samba-client
/usr/bin/smbclient 客户端工具
4、了解配置文件
# cat /etc/samba/smb.conf |grep -v ^#|grep -v ‘^;‘|grep -v ^$
[global] 全局标签
workgroup = MYGROUP 工作组
server string = Samba Server Version %v 版本描述
log file = /var/log/samba/log.%m 日志文件保存路径
max log size = 50 日志文件大小
security = user 用户密码;share 匿名用户 ;server...
passdb backend = tdbsam 数据库文件格式
load printers = yes 加载打印机
cups options = raw 打印机选项
[homes] 局部标签
comment = Home Directories
browseable = no 隐藏该标签
writable = yes 可写
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no 等于 public = no
writable = no 等于 read only = yes
printable = yes
5、根据需求通过修改配置文件来完成服务的搭建
需求1:通过本地用户访问samba服务
默认情况下将本地用户的家目录共享出去了,所以不需要更改配置文件
# smbclient //10.1.1.1/stu1 -U user1 --->以用户user1身份进入stu1家目录(首先要有相应的权限)
6、启动服务|开机自启动
# /etc/init.d/smb start
# /etc/init.d/nmb start
# chkconfig smb on
# chkconfig nmb on
7、测试验证
Linux:
# smbclient --help
# smbclient -L 10.1.1.1 查看远程主机共享的标签,默认输入root密码,如果不输则是匿名用户查看
# smbclient //10.1.1.1/user1 匿名用户访问共享的目录
# smbclient -L 10.1.1.1 -U user1 使用user1用户和smb数据库的密码查看共享的标签
# smbclient //10.1.1.1/user1 -U user1 使用用户q去直接访问远程主机的共享目录
注意:
默认情况下,本地用户可以通过用户名和密码去直接访问server端所共享出来的家目录;但是事先需要将该用户加入到smb数据库里
# smbpasswd --help
# smbpasswd -a user1
-a add user :将用户加入samba数据库
-d disable user
-e enable user
-x delete user
window端:cmd \\10.1.1.1
需求2:匿名用户共享/samba/share目录
步骤:
1、创建一个共享目录
# mkdir /samba/share -p
2、发布共享目录
[anon_share]
comment = anon user share
path = /samba/share
public = yes
writeable = yes
注意:
1、security = share 那么本地用户是不能够访问的;即便是配置文件里有共享给本地用户的目录;
2、security = user 那么本地用户和匿名用户都可以访问;具体能不能访问某个共享目录要看该目录有没有给相应的访问权限
需求3:
公司:uplooking
1、财务部门 /samba/upl_cw cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限。
2、市场部门 /samba/upl_sc 市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限。
3、HR部门 /samba/upl_rs rs01HR总监可读写,HR部门员工可以对财务部查询,vip用户可以查询
4、休息区 /samba/upl_pub 自己管理自己的文件
思路:
1、创建相应的共享目录
2、创建相应的用户组
3、根据需求将相应的目录共享出去
4、需要将用户加入到samba数据中
5、重启服务
6、测试验证
步骤:
1、创建相应的共享目录并且更改相应权限
# mkdir /samba/upl_{cw,sc,rs,pub} -p
# chown root.uplooking upl_cw/
# chown root.uplooking upl_rs/
# chown root.uplooking upl_sc/
# chmod 1777 upl_pub/
2、创建相应的用户组
# groupadd uplooking
# groupadd cw
# groupadd rs
# groupadd sc
# useradd -g cw -G uplooking cw01
# useradd -g cw -G uplooking cw02
# useradd -g rs -G uplooking rs01
# useradd -g rs -G uplooking rs02
# useradd -g sc -G uplooking sc01
# useradd -g sc -G uplooking sc02
# useradd -g uplooking boss01
# useradd -g uplooking boss02
# useradd vip
3、根据需求将相应的目录共享出去
writable/可写
readonly/只读
write list=user1,@admin 可写列表
read list=user1,@admin 可读列表
valid users = @admin,user1 可用用户
invalid users = @admin,user1 不可用用户
valid和invalid不能同时出现
hosts allow = 150.203. EXCEPT 150.203.6.66
hosts deny = 10.1.1.2 172.16.250.1
[cw]
comment = cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限。
path = /samba/upl_cw
valid users = @cw,@rs,boss01
write list = cw01,boss01
[rs]
comment = rs01HR总监可读写,HR部门员工可以对财务部查询,vip用户可以查询
path = /samba/upl_rs
valid users = @rs,vip
write list = rs01
[sc]
comment = 市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限
path = /samba/upl_sc
valid users = @uplooking,vip
write list = boss02,@sc,vip
[pub]
comment = 自己管理自己的文件
path = /samba/upl_pub
public = yes
writable = yes
hosts allow = 10.1.1.0/255.255.255.0
4、将用户加入到smb数据库里
# smbpasswd -a cw01
# smbpasswd -a rs01
# smbpasswd -a boss01
# smbpasswd -a boss02
# smbpasswd -a cw02
# smbpasswd -a sc01
# smbpasswd -a vip
# /usr/bin/pdbedit -L
5 测试验证
原文地址:https://www.cnblogs.com/skyzy/p/9194200.html