关于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的一些注意事项的主要内容,如果未能解决你的问题,请参考以下文章

Linux中samba服务器配置

关于MultiDataTrigger和MultiTrigger的一些注意事项

关于MultiDataTrigger和MultiTrigger的一些注意事项

python 关于候选人面试的一些注意事项

关于浮动的一些注意事项

关于MultiDataTrigger和MultiTrigger的一些注意事项