改变samba服务器基本配置smbconf后必须

改变samba服务器基本配置smbconf后必须,第1张

在改变smbconf后,必须重新启动samba服务器才能使新配置生效,可以使用命令'sudo systemctl restart smbd'来重新启动samba服务器。此外,还需要检查smbconf文件的权限,确保samba服务器有读取该文件的权限,可以使用命令'sudo chmod 644 /etc/samba/smbconf'来设置权限。

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/smbconf主要包括两部分:

global中就是一些服务器的全局参数;

共享资源名称则是针对开放的目录来进行权限方面的设置。
在新版本的samba中,匿名访问有所变化:
特别注意以下几点:
因为SAMBA会对外提供服务,因此SELinux会特别关照一下这个服务。
使用samba是有一定的危险性的,很多网络攻击的蠕虫、病毒、木马就是通过网上邻居来攻击的。为了阻挡不必要的连接,默认的SELinux已经关闭了很多SAMBA连接的功能,因此可能很多客户端的挂载可能会有问题。

1、SELinux的相关议题

2、防火墙议题:iptables来管理

3、通过内建的SAMBA设置(smbconf)
通过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 = 192168

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

```

Red Hat设计chkconfig的目的就是用来管理系统初始化的时候启动的服务。Chkconfig命令可以用来激活或者停用服务,也可以用来设置让某个服务随机启动。通常情况下,利用chkconfig --list命令后,系统管理员可以看到一个系统服务列表,还可以看到相关的运行级别。系统管理员还可以利用这个命令来查看每个运行级别是否自动运行SAMBA服务器。通常情况下,我们可以通过如下的命令来达到预计的目的。\x0d\\x0d\Chkconfig _level 5 smb on\x0d\\x0d\这个指令就表示入股哦系统运行Run level 5的级别时,就会自动启动SAMBA服务器。Chkconfig如果没有带参数运行时,则显示其用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是则返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息。系统默认情况下on和off开关只对运行级3,4,5有效,但是reset可以对所有运行级有效。\x0d\\x0d\ 不过运行这个命令的时候,需要注意一个问题,即chkconfig指令并不是立即自动禁止或激活一个服务。它只是简单的改变了符号连接。另外这个命令的话到目前为止好像只有Red Hat的Linux系统具有。而像CentOS等了Linux *** 作系统则不支持这个命令。为此这个命令的应用也具有一定的局限性。像有些企业如果采用了CentOS版本的 *** 作系统的话,则就需要后面笔者介绍的解决方式了。\x0d\\x0d\方式三:通过服务配置设置SAMBA的自启动。

Samba服务可以用于在linux主机之间共享文件,也可以在linux和windows之间共享文件。

给Windows客户提供文件服务是通过samba实现的,而samba也是一套基于UNIX类系统、实现SMB/CIFS协议的软件,作为UNIX的克隆,Linux也可以运行这套软件。samba的文件服务功能效率很高,借助Linux本身,可以实现用户磁盘空间限制功能。本文基于Linux介绍Samba的配置和使用。

主要内容:

一、关于配置文件

二、关于配置和使用

三、其它

samba通过配置文件来进行各种控制,关于配置文件,下面给出一个大致的介绍。

samba的最重要配置文件就是"/etc/samba/smbconf",它有三个重要的节:[global],[homes],[public]。一般来说本地的这个文件中都有对其内容的详细注释,这里列出一个完整的配置文件内容,并解释如下。具体信息参见"man smbconf"的输出。

用于用户映射的文件/etc/samba/smbuser内容大致如下:

乱码情况:

为了防止共享时出现中文目录乱码的情况,可能需要为smbconf的[global]段添加如下几行:

这里,其中根据你的local,UTF-8 有可能需要改成 cp936。

这里介绍如何配置samba服务以及使用它,为便于查阅,先给出一个最简的配置方式,后面会给出关于配置和使用相对具体的内容。 以下内容,都是在CentOS release 55 (Final)上面实践的结果,并假定配置samba的机器ip地址是1012213。

这里,如果只是想要搭建一个可以工作的samba服务器,那么可以按照如下步骤配置:

这样,我们可以看到机器上面已经安装了samba,可以进行后面的配置了。如果你的机器上面没有相应的软件包,那么需要使用"yum install sambai386"之类的命令安装,默认来说系统都将这个服务安装了的。

编辑之后的文件内容如下:

这里需要注意,不要将mysamba目录设置到 /home 下的某个子用户目录中,这样会导致目录无法通过其他的机器访问到。

这样,外部就可以访问这个目录了。注意首先在本地机器上将这个目录的读写权限打开,这样外面才能访问。

这样刚才的配置可以生效。

在文件浏览器的位置栏输入: smb://1012213

这样,将看到一个目录"public1"就是那个smbconf中设置的"[public1]"组名,进入"public1"就可以看到内容了,内容实际就是服务器上面的/home/mysamba路径下面的内容。

在文件浏览器的位置栏输入: \\1012213

这样,将看到一个目录"public1"就是那个smbconf中设置的"[public1]"组名,进入"public1"就可以看到内容了,内容实际就是服务器上面的/home/mysamba路径下面的内容。

总之两步,一个是修改"/etc/samba/smbconf"设置共享目录,一个是运行"/etc/initd/smb restart"让设置生效。

配置samba可以控制哪些目录可以访问,以及谁可以访问,以什么权限访问等等。我们可以使用图形化的工具配置,方法是运行"#system-config-samba"命令或者通过菜单"系统-系统管理-Samba",方法很简单就不多说了。还可以通过修改配置文件进行配置,这里重点介绍修改配置文件的方法,如下。

修改配置文件如下:

这里,workgroup表示工作组名;server string表示服务器名(名称自定);netbios name是对服务器的描述;hosts allow填入顺序访问的ip段,用空格分开,如果不设置则使用[global]中的,如果[global]中也没有,就表示允许任何ip访问;security表示访问权限,访问权限由低到高有三种:share、user和server。其中share安全级别最低,user模式要求连接时输入用户名和口令。具体支持的字段,以及每个字段的含义在配置文件的注释中都有详细的说明,或者可以查看"man smbconf"文档说明。

以上配置可知,设置了个共享目录:public1,public2,public3,且public3共享目录只有quietheart和lv-k用户可以访问。

配置之后,重新启动samba:

这样刚才的配置可以生效。

这里,添加帐号和修改密码都用这个smbpasswd命令。如果想要添加samba的网络访问帐户,首先必须保证系统中有相应的帐户名称,如果没有则需要使用"#useradd quietheart"建立一个,否则使用这个smbpasswd添加用户的时候,会出错误。 要注意,虽然samba的用户必须是本地机器的用户,但是samba的登录密码可以和本机登录密码可以不一样,上面只是为系统增加了quietheart这个用户,却没有给用户赋予本机登录密码,因为我们只用这个用户来远程samba访问,不想用它来做为一个本地登陆帐号,所以这个用户将只能从远程经过samba访问,不能从远程登录本机。

这个功能没太大必要,因为samba中的帐户,一定就是系统中的某个帐户,虽然密码不一样,所以可以查看/etc/passwd来得知所有系统帐号进而知道samba可能包含的用户帐号。

这里,删除命令就是将前面添加命令的-a改成-x了。

通过smbclient工具,可以实现在命令行下访问samba的目的,使用smbclient登陆samba之后,可以像ftp服务那样进行各种命令 *** 作。

参考资料:

一共有5种,分别是share、user、server、domain、ads。
1share:所有人都可以访问这台samba服务器(不需要输入用户名和密码)。
2user:需要输入有效的用户名和密码才能访问samba服务器(身份验证由samba服务器负责)。
3server:与user相同,只是将身份验证交由指定的另一台samba服务器负责。
4domain:将身份验证交由域控制器负责。
5ads:将身份验证交由域控制器负责(比domain更为安全一点)。

chattr
文件系统属性chattr权限(防止误 *** 作)
chattr [+-=]i 文件 ——锁定文件,无法删除、修改,对所有用户生效
[+-=]i 目录 ——可以对该目录内文件内容修改,但不允许建立和删除目录内文件
[+-=]a 文件 ——只能增加文件内容,无法删除和修改
[+-=]a 目录 ——只能在目录内新建文件,但无法修改和删除
通过lsattr 查询文件的隐藏chattr权限
-a ——(all)显示所有目录和文件chattr权限
-d ——和ls类似,只显示该目录chattr权限
举例:
chattr +a abc ——现在所有用户都无法对abc文件、目录进行修改和删除 *** 作,包括root用户!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10589453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存