用Samba创建配置共享文件夹 (无用户名密码验证)
2016-01-21 16:51
549 查看
什么是Samba?
https://www.samba.org/samba/what_is_samba.html
以下摘选网络上对Samba的几个权威描述
samba.org的描述: Samba是一套开源/免费的软件包,它给SMB/CIFS客户端提供了无缝的文件和打印服务。
SMB = Server Message Block
CIFS = Common Internet File System
和其他SMB/CIFS实现不同,Samba是免费的,它实现了Linux/Unix服务器和Windows客户端之间的互通性。
另一个描述:
Samba是一种软件,它可以运行在非Windows平台上,比如UNIX, Linux, IBM System 390, OpenVMS或其他操作系统。Samba使用安装在主机上的TCP/IP协议。当正确配置完成后,Samba可以使主机与Windows客户端或服务器交互,这台主机就好像变成了Windows的文件和打印服务器。
在The
Official Samba HOWTO又有一个描述:
Samba项目背后的目的之一就是为实现互操作性(Interoperability)扫除障碍。
总结: Samba是一个软件包,它提供给网络管理员在安装,配置,选择系统和设备上的灵活性和自由度。由于这些特性,Samba自1992年发布以来,受欢迎程度逐年增加,从未停止。
使用Samba在Linux上配置一个共享文件夹供Windows使用(无用户密码认证)
以下内容描述配置在Linux上用Samba配置一
4000
个可读写有完全权限的文件夹,不需要用户密码认证。
1. 安装Samba
Linux默认安装可能已经装上samba客户端(samba-client-xxx),如果samba server没有安装,先安装
yum install samba
2. Samba配置文件
Samba配置文件在/etc/samba/smb.conf
系统已有smb.conf,先备份。原始smb.conf中内容很全,有详细注释,解释了所有可配置的参数。值得研究。
新建smb.conf,写入以下内容。
这个是最简单的配置,指定了/home/Share文件夹作为本机的共享文件夹。[Public]中Public名字可任意指定,Windows访问时看到的文件夹名字就是Public
security = share 安全等级,share没有用户名和密码保护,Windows用户直接打开路径就可以访问Samba服务器
其他参数browseable, writable, public, guest ok不确定默认值是否都是yes,都写上。writeable设置为可写。(Notes: Windows支持写此共享文件夹还需要额外一步,下面会提到)
security=share在新版中已经被废弃了
把security = share
改为
security = user
map to guest = Bad User
3. 配置完成,设置文件夹权限,启动Samba服务
/home/Share设置权限,可读写的完全权限
启动Samba服务(重启)
测试配置文件smb.conf是否正确
如果正确,在Windows上,浏览器或文件管理器中输入\\IP(or hostname)就可以看到此文件夹
4. 在Windows中写共享文件夹
以上设置完成,在Windows中可以顺利看到和浏览共享文件夹。但是尝试写入文件时失败,权限不足。需要让Windows对此文件夹有完全的权限,还需要额外一步。
在smb.conf中可以找到以下描述。
SELinux不允许修改此文件夹,需要标记为samba_share_t。
SELinux指Security-Enhanced Linux,是Linux的一个内核安全模块,提供了一套机制,支持访问控制和安全策略,其中包括美国国防部风格的强制访问控制(Mandatory Access Control - MAC)。在目前可用的Linux安全模块中,SELinux是功能最全,测试最充分的。
最后一步,对/home/Share运行如下命令
chcon - change file SELinux security context
再在Windows中尝试写入文件到共享目录,成功!
任务完成。
https://www.samba.org/samba/what_is_samba.html
以下摘选网络上对Samba的几个权威描述
samba.org的描述: Samba是一套开源/免费的软件包,它给SMB/CIFS客户端提供了无缝的文件和打印服务。
SMB = Server Message Block
CIFS = Common Internet File System
和其他SMB/CIFS实现不同,Samba是免费的,它实现了Linux/Unix服务器和Windows客户端之间的互通性。
另一个描述:
Samba是一种软件,它可以运行在非Windows平台上,比如UNIX, Linux, IBM System 390, OpenVMS或其他操作系统。Samba使用安装在主机上的TCP/IP协议。当正确配置完成后,Samba可以使主机与Windows客户端或服务器交互,这台主机就好像变成了Windows的文件和打印服务器。
在The
Official Samba HOWTO又有一个描述:
Samba项目背后的目的之一就是为实现互操作性(Interoperability)扫除障碍。
总结: Samba是一个软件包,它提供给网络管理员在安装,配置,选择系统和设备上的灵活性和自由度。由于这些特性,Samba自1992年发布以来,受欢迎程度逐年增加,从未停止。
使用Samba在Linux上配置一个共享文件夹供Windows使用(无用户密码认证)
以下内容描述配置在Linux上用Samba配置一
4000
个可读写有完全权限的文件夹,不需要用户密码认证。
1. 安装Samba
Linux默认安装可能已经装上samba客户端(samba-client-xxx),如果samba server没有安装,先安装
yum install samba
2. Samba配置文件
Samba配置文件在/etc/samba/smb.conf
系统已有smb.conf,先备份。原始smb.conf中内容很全,有详细注释,解释了所有可配置的参数。值得研究。
新建smb.conf,写入以下内容。
[global] workgroup = WORKGROUP netbios name = [hostname] server string = [your comment] security = share [Public] comment = [your comment] path = /home/Share browseable = yes writable = yes public = yes guest ok = yes
这个是最简单的配置,指定了/home/Share文件夹作为本机的共享文件夹。[Public]中Public名字可任意指定,Windows访问时看到的文件夹名字就是Public
security = share 安全等级,share没有用户名和密码保护,Windows用户直接打开路径就可以访问Samba服务器
其他参数browseable, writable, public, guest ok不确定默认值是否都是yes,都写上。writeable设置为可写。(Notes: Windows支持写此共享文件夹还需要额外一步,下面会提到)
security=share在新版中已经被废弃了
把security = share
改为
security = user
map to guest = Bad User
3. 配置完成,设置文件夹权限,启动Samba服务
/home/Share设置权限,可读写的完全权限
chmod 777 /home/Share
启动Samba服务(重启)
service smb restart
测试配置文件smb.conf是否正确
testparm
如果正确,在Windows上,浏览器或文件管理器中输入\\IP(or hostname)就可以看到此文件夹
4. 在Windows中写共享文件夹
以上设置完成,在Windows中可以顺利看到和浏览共享文件夹。但是尝试写入文件时失败,权限不足。需要让Windows对此文件夹有完全的权限,还需要额外一步。
在smb.conf中可以找到以下描述。
# If you create a new directory you want to share you should mark it as # "samba_share_t" so that selinux will let you write into it. # Make sure not to do that on system directories as they may already have # been marked with othe SELinux labels. # #--------------- # SELINUX NOTES: .... # Use ls -ldZ /path to see which context a directory has # # Set labels only on directories you created! # To set a label use the following: chcon -t samba_share_t
SELinux不允许修改此文件夹,需要标记为samba_share_t。
SELinux指Security-Enhanced Linux,是Linux的一个内核安全模块,提供了一套机制,支持访问控制和安全策略,其中包括美国国防部风格的强制访问控制(Mandatory Access Control - MAC)。在目前可用的Linux安全模块中,SELinux是功能最全,测试最充分的。
最后一步,对/home/Share运行如下命令
chcon - change file SELinux security context
chcon -t samba_share_t /home/Samba
再在Windows中尝试写入文件到共享目录,成功!
任务完成。
相关文章推荐
- git资源收集
- flex中comboox动态绑定值
- BZOJ 1603: [Usaco2008 Oct]打谷机|dfs
- CNN卷积神经网络的改进(15年最新paper)
- onmousemove与onmouseenter与onmouseout有差别
- gitlab环境搭建
- leetCode 8. String to Integer (atoi)
- 快速掌握Lua 5.3 —— 两个完整的例子
- HDU-4883-TIANKENG’s restaurant
- 韩信点兵
- Ace教你一步一步做Android新闻客户端(三) JSON数据解析
- S3 使用小结
- JVM学习篇(4)之线程安全与锁优化
- Command /bin/sh filed with exit code 126
- 自定义html标签属性,并通过JQuery获取
- 整合 spring 4(包括mvc、context、orm) + mybatis 3 示例
- VirtualBox
- 开源监控软件ganglia安装手册
- 浅谈线程
- const int **pp = &p;