Samba  (参照笔记及网络博文总结)
软件包:
samba.i386   <---服务端
samba-client.i386 <---客户端
samba-common.i386 <---公共的软件包
samba-swat.i386 <---基于www界面配置的接口

samba可以配置独立配置文件,如在全局区(global)单独为个别账户配置文件。格式为如 config file = /etc/samba/smb.conf.%U,表示samba服务器读取该文件,%U待变当前登录帐户另外格式 include = /路径/%U.smb.conf        include = /路径/%G.smb.conf

配置文件:
/etc/samba/smb.conf
[global]
        workgroup = MYGROUP                                   ----工作组
        server string = Samba Server Version %v           ----服务器描述
        # logs split per machine
;       log file = /var/log/samba/%m.log   ------日志,默认
        # max 50KB per log file, then rotate
;       max log size = 50
        security = user                                 <--定义工作模式: share,user,server,domain,ads
        passdb backend = tdbsam               -----------启用此模式,则不会生成/etc/samba/smbpasswd文件
        load printers = yes
        cups options = raw
[homes]     ----------共享名
        comment = Home Directories            ----------资源描述
        browseable = no  
        writable = yes
[printers]
        comment = All Printers
        path = /var/spool/samba   -------------共享路径
        browseable = no   -----------是否可见,yes|no
        guest ok = no
        writable = no
        printable = yes
-----------------------------------------------------------------------
[XXX]     -----------共享名     
comment = XXX    -----------资源描述
path = 绝对路径    -----------共享路径
browseable = no    -----------是否可见,yes|no
public = yes    -----------是否允许匿名访问 yes|no
valid users = 用户名 | @组名   -----------设置访问用户
invalid users = 用户 | @组名
readonly = yes |no    -----------设置目录是否只读
writable = yes | no    -----------设置目录是否可写
create mask = 权限    -----------mask权限,用户帐户安全
write list = 用户名 | @组名
hosts deny = ip|域名|主机名(空格隔开)   -----------设置客户端访问限制,当deny和allow同时存在时,allow优先。
hosts allow = ip|域名 |主机名|通配符   如 hosts deny = 10.1.1.0         hosts allow = 10.1.1.24允许24主机访问

例:hosts deny = ALL
      hosts allow = 10.1.1.0 EXCEPT 10.1.1.100 10.1.1.78    表示允许10.1.1.0网段可以访问,除了78和100的ip

smbclinet命令格式:smbclient -L //目标ip地址或主机名 -U 登录用户名%密码    
smbclient命令行共享访问模式命令格式:smbclient //目标ip或者主机名/共享目录 -U 用户名%密码

例子1:工作在user,直接重启访问
# smbclient -L //10.1.1.21 -U tom
Password:
session setup failed: NT_STATUS_LOGON_FAILURE

登录失败:由于samba的帐号是独立出来,但是samba的帐号有一个前提条件,就是必须系统存在的帐号才可以成为samba帐号启用tdbsam,则在/etc/samba/目录里面没有sabpasswd文件,如果想看到smbpasswd文件,需注释掉 passwd backend = tdbsam一行,加上smb passwd file = /etc/samba/smbpasswd保存退出即可。

smb的用户映射。安全选项
可以在smb.conf里面添加一行 username map = /路径 开启用户帐号映射,编辑该文件格式为 samba帐号 = 虚拟帐号(映射帐号)
如 root = administration admin
   nobody = guest anonymous smbguest等
然后reload,或者重启服务就可以使用映射帐号登录了

# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.

# smbclient -L //10.1.1.21 -U tom <---------tom身份查看资源
# smbclient   //10.1.1.21/tom -U tom
# smbclient   //10.1.1.21/homes -U tom

# mount -t cifs //10.1.1.21/tom /mnt -o username=tom,password=123

例子2:
[global]
...
security = share
[soft]
        comment = This is Soft Resource
        path = /www
        browseable = no   <---列表资源的时候隐藏资源
        guest ok = yes

# smbclient -L //10.1.1.21
# smbclient //10.1.1.21/soft

smb: \> put /etc/hosts /
NT_STATUS_ACCESS_DENIED opening remote file \/
smb: \>    <---匿名登录,默认是只读

smb: \> get index.html
getting file \index.html of size 13 as index.html (130000.0 kb/s) (average inf kb/s)

控制读写权限的参数:
read only = yes
writeable = yes | no

把匿名资源改为可写:
read only = no 或者 writeable = yes

smb: \> put /etc/hosts /hosts
putting file /etc/hosts as \/hosts (1880000.0 kb/s) (average inf kb/s)
smb: \>

练习:
1、工作模式是 user定一个需要帐号认证的资源,资源名字叫 file ,资源路径随便,权限可写,资源可见,匿名不能够访问该资源要求至少有两个帐号是可以访问该资源,使用这两个帐号分别上传文件,分别登录看看是否能够删除对方的文件,删除之前,请确定一下文件的权限,思考一下为什么会有这样的现象?
ps -ef | grep smbd 为了防止对方删除自己的文件,应该怎么设定?
1、
[global]
security = user
[file]
        comment = File Resource
        path = /share/file
        browseable = yes
        public = no
        writeable = yes
2、
# chmod 777 /share/file
两个用户上传的文件,默认的权限都是744的权限,并且文件是属于上传者的,但是只要文件的拥有者对文件有写的权限,就可以互相删除对方的文件。

为了防止对方删除自己的文件,应该怎么设定?
方法1: 让默认权限是444
create mask = 0444 <---测试表明,对方不能删除,但是自己也不能删除
方法2:粘贴位
chmod o+t /share/file
--------------------------------------------------------------
windows下更换登录用户
1.关闭打开的登录窗口 (ntsd -c q -pn explorer.exe
2.结束所有打开的网络连接 net use * /delete /y
--------------------------------------------------------------
例子3:
user模式下,实现 tom 可以上传下载,bean只能下载 ,其他用户不能该资源,拒绝匿名访问
tom --- rw
bean --- r
匿名 --- 不能访问
moto --- 不能访问

valid users
invalid users
write list

[file]
        comment = File Resource
        path = /share/file
        browseable = yes
        public = no
        valid users = tom,bean
        write list = tom
例子4
user模式下,实现 tom 上传下载,bean只能下载 ,moto 只能上传不能下载而且不能删除别人的文件,其他用户不能访问,拒绝匿名登录

tom --> tomfile   rwx,r--,--- 740 <---bean 加入到 tom组
moto --> motofile ---,---,r-- 004

1、修改用户的属性
# usermod -G tom bean
# chmod o+t /share/file

[global]
config file = /etc/samba/smb.conf.%U
.....
....

[file]
        comment = File Resource
        path = /share/file
        browseable = yes
        public = no
        valid users = tom,bean,moto
        write list = tom
        create mask = 0740

# vim /etc/samba/smb.conf.moto

[file]
        comment = This is moto configfile
        path = /share/file
        writable = yes
        create mask = 0004
[file]
        comment = File Resource
        path = /share/ftom --> tomfile   rwx,r--,--- 740 <---bean 加入到 tom组ile
        browseable = yes
        public = no
        valid users = tom,bean,moto
        write list = tom,moto
方法二:利用ACL
[file]
        comment = File Resource
        path = /share/file
        browseable = yes
        public = no
        valid users = tom,bean,moto
        write list = tom,moto
# setfacl -d -m user::rwx,user:bean:r--,user:moto:--- /share/file
<---实现 moto不能下载功能
# chmod o+t /share/file <---起到了防止乱删除的现象
例子5:访问控制
hosts deny =
hosts allow =
1、实现禁止10.1.1.0/24这个网段访问,但是10.1.1.20可以访问
        hosts deny=10.1.1.
        hosts allow=10.1.1.20 <---allow与deny冲去,allow生效
2、拒绝所有,但允许10.1.1.网段访问,但是10.1.1.20不允许访问
        hosts deny = ALL
        hosts allow = 10.1.1. EXCEPT 10.1.1.20
常见的故障:
1、tree connect failed
原因: 被拒绝访问,一般都是hosts deny实现的拒绝
  
2、文件操作的错误: NT_STATUS_ACCESS_DENIED
原因: 文件系统的权限拒绝
使用testparm命令检查配置文件
testparm /etc/samba/smb.conf
==============================================
企业实战:
企业数据目录:/companydata
公共目录:/companydata/share
销售部:/companydata/sales
技术部:/companydata/tech
企业员工情况:
总经理:gm
销售部:销售部经理 surf 、 员工 sky 、员工 jane
技术部:技术部经理michael、 员工 bill、 员工joy

配置:
[global]
workgroup = companydomain
server string = Company Samba File Server
include = /etc/samba/%U.smb.conf
include = /etc/samba/%G.smb.conf
[public]
comment = public data
path = /companydata/share
publik = yes
#vim /etc/samba/gm.smb.conf
[sales]
comment = sales data
path = /companydata/sales
writable = yes
valid users = gm
[tech]
comment = tech data
path = /companydata/tech
writable = yes
valid users = gm

#vim /etc/samba/sales.smb.conf
[sales]
comment = sales data
path = /companydata/sales
writable = yes
valid users = @sales,gm
#vim /etc/samba/tech.smb.conf
[sales]
comment = sales data
path = /companydata/tech
writable = yes
valid users = @tech,gm
重启服务或者重新载入配置文件。

转载于:https://blog.51cto.com/wxfeng/403159

rhel5下samba的配置相关推荐

  1. linux下Samba服务配置

    SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可 ...

  2. RHEL5下源码配置LAMP全记录

    前提,已经配置好DNS,域名为test.com,地址为192.168.1.200 安装好本地yum 1.apache 1.1下载apache 这是一种办法,我是架设了samba服务,启用share模式 ...

  3. RH5.4下samba共享配置实例(3)

    一.基于用户名的访问控制实例: 王乾大哥写的比较详细了,我是跟着他的教程学习的,按照他的教程走一边: 要求如下: 1.创建一个公共的交换文件夹,所有人都可以写入删除,但不能删除修改其他人的文件 2.创 ...

  4. linux samba工作组,linux下samba的配置

    samba描述 samba 是让NETBIOS和SMB这两种协议运行于TCP/IP通信协议之间,通俗一点讲就是在windows可能在网上邻居看到linux共享的文件,在linux下也能访问window ...

  5. linux中 samba服务器配置,linux下samba服务器安装配置方法

    linux中samba服务器的安装及其配置,供大家参考,具体内容如下 第一步:下载samba 命令:apt-get install samba apt-get install cifs-utils a ...

  6. Linux下samba服务器的搭建和配置

    一.安装软件包. samba-client    客户端工具包 samba-common    通用工具&库文件 samba           服务器 安装命令 rpm-ivh 包名     ...

  7. Linux下的samba服务配置详解

    Linux下的samba服务配置详解 一.Samba介绍 二.Samba工具及特性 三.搭建环境介绍 四.Samba配置步骤 1.服务端操作 2.在客户端操作 五.测试用户的权限情况 一.Samba介 ...

  8. CentOS 6.3下Samba服务器的安装与配置(转)

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  9. CentOS6 下Samba服务器的安装与配置

    原地址:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html 一.简介 Samba是一个能让Linux系统应用Microsoft网 ...

最新文章

  1. python遗传算法工具包_Deap: python中的遗传算法工具箱
  2. 入门一班 20181024 io监控free ps 网络状态 抓包
  3. svn: E200009
  4. checkout 撤销修改_Git的4个阶段的撤销更改
  5. 一道腾讯的专业面试题
  6. okhttp请求php接口,安卓:okhttp请求,获取返回数据
  7. 二进制十六进制相互转换
  8. html文档中strokestyle,HTML5画布的StrokeStyle?(html5 canvas strokeStyle?)
  9. 北大AI第八讲 李航 自然语言处理的现实与挑战
  10. servlet 单例问题
  11. 几个值得收藏windows软件
  12. 项目maven依赖成功,但编译一直报错:引用项目的类路径找不到
  13. 360浏览器通过访问插件管理界面启用flash实例演示,360浏览器启用Adobe Flash Player方法
  14. LR9.10破解方法。
  15. Python 计算变上限二重积分的数值模拟基础
  16. 蓝牙发射功率dBm换算,发射总能量公式
  17. Electron 桌面应用问题解决方法
  18. c++求范围内既是素数又是回文数的数的个数
  19. 方差、标准差、均方误差和均方根误差
  20. 02-特征逆推图像实验

热门文章

  1. 中专计算机应用,中专计算机应用论文
  2. java ltpa_LTPA Cookie原理
  3. 南邮java大作业实验报告_南京邮电大学java第三次实验报告
  4. android studio使用nodejs本地服务器json数据_使用Node.js的Alexa技巧
  5. 到网站进过的服务器 命令,进入服务器的命令
  6. php挖洞提权,记一次渗透挖洞提权实战
  7. windows照片查看器无法显示此图片_Real3d PhotoViewer下载-照片查看器 v1.2.2 官方版...
  8. field list什么意思_从源码中学Vue(六)「解密」为什么操作数组的方法也会触发视图更新...
  9. Oracle创建表空间、用户、分配权限语句
  10. POJ 2182 Lost Cows (求序列第k大)