理论部分*****************
Samba:
是一款在Linux/Unix系统上实现与windows系统进行文件共享的免费开源软件。广泛应用于Unix-like与Windows之间,提供文件共享和打印机共享服务,使得不同系统之间跨平台共享资源更加便捷.
Samba服务:
由服务端及客户端程序构成,采用的是smb/cifs网络协议。
SMB协议:
SMB协议是用在会话层和表示层以及小部分应用层的协议。SMB协议使用NetBIOS的应用程序接口(简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;后来微软又把 SMB协议改名为CIFS协议(Common Internet File System),并且加入了许多新的特色。
NETBIOS协议:
全称为Network Basic Input/Output System,由IBM公司开发,Windows基于主机实现通信的机制,主要用于数十台计算机的小型局域网。NetBIOS是跟局域网有关的网络协议,从XP系统开始,这个协议已经集成在TCP/IP协议里面了,一般不需要单独使用这个协议了;
DNS协议与NETBIOS协议的区别:
Samba用到的服务端口:
udp:137, 138
tcp:139, 445
Samba拥有三个服务:
1、smbd: cifs,使用139、445端口.
2、nmbd:提供NetBIOS支持,使用137端口.(NetBIOS已逐渐被DNS替代)
3、winbindd:提供针对windows2003/2008的用户及族信息的解析功能。
winbindd服务需单独安装:yum -y insall samba-winbind
注:一般作为文件共享使用Samba,则只需要smbd服务.
samba服务软件:
客户端: samba-client
服务端: samba
服务脚本:
/etc/rc.d/init.d/nmb
/etc/rc.d/init.d/smb
主配置文件:
/etc/samba/smb.conf
samba用户:
账号:都是系统用户, /etc/passwd.
密码:samba服务自由密码文件.
将系统用户添加为samba的命令:smbpasswd
smbpasswd:
-a: 添加系统用户为samba用户
-d: 禁用指定用户
-e: 启用
-x: 删除
不使用任何命令选项时可以用于修改Samba用户的密码.
samba配置文件:
smb.conf,包括:
全局设定
特定共享的设定
家目录
打印机
自定义共享
自定义共享:
[shared_name]
path = /path/to/share_directory
comment = Comment String
guest ok = {yes|no}
public = {yes|no}
writable = {yes|no}
read only = {yes|no}
write list = +GROUP_NAME
测试配置文件是否有语法错误,以及显示最终生效的配置:
# testparm
注:共享权限和文件系统权限二者缺一不可.必须都拥有写权限才能写入.
可使用setfacl和getfacl命令对用户授权!
实操部分*****************
Samba服务安装配置:
准备环境:
系统: CentOS6.7 x 2台
windows 7 x 1台.
IP: 10.68.7.102 -- CentOS 7-102
10.68.7.103 -- CentOS 7-103
10.68.7.80 -- Windows
实验要求:
1)Win主机当服务端,Linux主机当客户端;Win主机共享一个目录,使Linux主机能够访问到;
a.并且在Windows主机新建两个系统用户user1和user2;
b.这两用户从Linux主机登录,实现user1有上传下载文件的权限,user2只能读取共享文件。
c.最后,基于挂载的方式访问共享目录.
2)Linux主机7-103当服务端,Win主机和Linux主机7-102当客户端
建立samba共享,共享目录为/data,要求:
a.共享名为shared, 工作组为WORKSTATION;
b.添加组develop,添加用户gentoo,centos,ubuntu;其中gentoo和centos
以develop为附加 组,Ubuntu不属于develop组,密码一致。
c.添加samba用户gentoo,centos和Ubuntu,密码为各自用户名;
d.此samba共享文件shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
e.此samba共享服务仅允许来自于10.68.7.0/24网络主机访问.
f.需用Linux客户端和windows客户端均验证成功。
1.1 在Linux客户端安装samba client软件:
1.2 在Windows服务端创建共享目录
1.创建要共享的目录test:
2. 创建两个系统用户user1和user2:
3. 设置共享:
4. 添加用户user1对于该共享目录具有读写的权限,即完全控制权限;user2对于该共享目录只读.
5. 查看windows服务端计算机所属工作组:
1.3 进入Linux端samba配置文件:
1.4 然后开始验证实验结果:
1. 在Linux客户端交互式访问共享的数据目录test_file:
2. 使用用户user1从Linux客户端登录samba共享目录并上传文件/etc/fstab:
3. 在windows服务端查看用户user1上传的文件fstab:
4. 使用用户user2查看并上传文件,上传失败则验证成功:
1.5 基于挂载的方式访问共享目录:
END
2.1 建立共享samba目录文件,创建工作组,添加用户:
2.2 在Linux服务端安装samba server软件:
2.3 添加samba用户gentoo,centos和Ubuntu,密码为各自用户名:
2.4 在samba配置文件进行配置:
2.5 测试配置文件是否有语法错误,以及显示最终生效的配置:
2.6 启动samba服务:
2.7 配置共享文件权限:
注:共享权限和文件系统权限二者缺一不可.必须都拥有写权限才能写入.
2.8 交互式数据访问:
2.9 测试结果
首先以一台Linux 7-102客户端分别用centos和Ubuntu用户登录samba服务,前者可上传文件,后者则只读:
注:
3.0 在windows客户端验证:
需要出现的结果是,用gentoo用户登录访问共享目录文件,可创建文件:
3.1 用Ubuntu用户登录访问共享目录,创建文件被拒绝,仅能读取:
结果验证成功!
本文转自 羽丰1995 51CTO博客,原文链接:http://blog.51cto.com/13683137989/1876840
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/60710.html