关于samba的一些注意事项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于samba的一些注意事项相关的知识,希望对你有一定的参考价值。
参考技术A SAMBA可以让Windows与Linux之间共享文件系统,还可以成为打印机服务器(虽然现在不怎么需要这个功能)。使用FTP传输文件有个小小的问题,那就是无法直接修改主机上面的文件数据。samba则不会。
CIFS (common Internet File System),是微软操作系统上面的文件系统。最常见的就是目前的“网上邻居”。不过CIFS只能让windows机器沟通,NFS是Unix-like上面的文件共享,只能让Unix机器沟通。
samba原为 Server Message Block(SMB)文件系统,后来在注册的时候因为需要而注册为samba(热情奔放的拉丁舞蹈)。
samba 这个文件系统是架构在NetBios( Network Basic Input/Output System)这个通信协议上面开发出来的。NetBIOS是无法跨越路由的。
NetBIOS在局域网内实在是很好用,所以微软的网络架构就是用了这个协议来进行沟通。但通过NetBios over TCP/IP 的技术,我么就可以跨路由使用SAMBA服务器所提供的功能。当然,Samba还是比较广泛地是用在LAN里。
NetBios 当初发展时就着眼于局域网内的快速数据交流,而因为是定义在局域网内,因此它并没有使用了类似 TCP/IP 之类的传输协议,也就不需要IP的设置。其实主机在Netbios协议当中的定义为使用“NetBios name”,每一台主机必须要有不同的NetBios name才行,额头文件数据就是在不同的NetBios name 之间沟通。在同一个组中,NetBios 必须是独一无二的。
SAMBA是通过两个服务来控制的,分别是:
nmbd:这个daemon是用来管理工作组、NetBIOS Name等的解析。主要利用UDP协议开启port137、138来负责名称解析的任务;
smbd:这个daemon的主要功能就是用来管理SAMBA主机共享的目录、文件与打印机等。主要利用可靠的TCP协议来传输数据,开放的端口为139与445。
samba的配置文件/etc/samba/smb.conf主要包括两部分:
global中就是一些服务器的全局参数;
共享资源名称则是针对开放的目录来进行权限方面的设置。
在新版本的samba中,匿名访问有所变化:
特别注意以下几点:
因为SAMBA会对外提供服务,因此SELinux会特别关照一下这个服务。
使用samba是有一定的危险性的,很多网络攻击的蠕虫、病毒、木马就是通过网上邻居来攻击的。为了阻挡不必要的连接,默认的SELinux已经关闭了很多SAMBA连接的功能,因此可能很多客户端的挂载可能会有问题。
1、SELinux的相关议题
2、防火墙议题:iptables来管理
3、通过内建的SAMBA设置(smb.conf)
通过windows的网络搜索;
通过 port 445的特殊登陆方式:
```
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
unix charset = utf-8
display charset = utf-8
#printing = cups
#printcap name = cups
#load printers = yes
#cups options = raw
browseable = yes
hosts allow = 192.168.
log file = /var/log/samba/log.%m
[共享]
comment = Public
path = /home/samba
public = yes
writeable = yes
browseable = yes
[myself]
comment = zhang
path = /home/zhang
valid users = zhang,root
writeable = yes
guest ok = no #是否允许匿名访问
[group]
comment = group share
path = /home/group
valid users = @group
writeable = yes
```
cndeepdive 安装过程中遇到的一些小问题
最近需要处理一些知识图谱相关的内容,所以开始研究一下cndeepdive的相关内容,首先是安装。
工具连接:http://www.openkg.cn/tool/cn-deepdive
下载完工具包之后,通过samba服务(关于Samba服务的设置内容请参考:ubuntu下Samba服务器的搭建),在windows中将相应的数据文件传输到ubuntu上。
于是
ubuntu sda1 磁盘空间占用率达到100%
`ubuntu sda1 磁盘空间占用率达到100%`
处理方案: 分配一个大一些的磁盘,将home目录拷贝到这个磁盘上,具体步骤参考:https://blog.csdn.net/u010456460/article/details/54292105
接下来,解压压缩文件进行安装,根据readme.md
##deepdive安装及配置
1、 运行 bash install.sh 指令进行安装 (过程中需要联网,因为还需要安装一些依赖包),选择1一键安装
其他依赖项:
* java 1.8 以上版本(如果没有安装,或者版本过低,则会报错,安装最新的jdk、jre即可解决问题
* python 2.7
2、运行nlp_setup.sh,配置本地中文stanford环境
3、transaction文件夹中为已经跑通的中文tutorial用例,类似deepdive原版本中的英文用例example/spouse。tutorial文档会在后续上传。
执行 install.sh 但是出现报错,无法安装
解决方案:通过分析,我们发现脚本在解压的时候出现问题,找到解压文件的位置修改即可
将 193 行脚本中的
tar xzvf ....
修改成如图所示代码即可
运行nlp_setup.sh,”set Illegal option -o pipefail”
解决方案: 原因在于ubuntu 默认的sh 是dash, 而脚本是bash的语法,参考https://blog.csdn.net/sahusoft/article/details/9115367 进行修改即可
sudo dpkg-reconfigure dash
选择否,修改默认sh 为bash即可
通过这几个坑,cndeepdive成功安装:)
以上是关于关于samba的一些注意事项的主要内容,如果未能解决你的问题,请参考以下文章
关于MultiDataTrigger和MultiTrigger的一些注意事项