linux中samba配置文件怎么配置

linux中samba配置文件怎么配置,第1张

第一部分:基础知识

windows的网上邻居是windows主机间彼此共享文件的一种方式,它所用到的协议有两个:smb和cifs协议当
然还包括windows的netbios协议
SMB:service message block
cifs:common internet filesystem
NETBIOS:实现windows间主机名解析的服务(监听udp的137,138和tcp的139端口)
linux之间文件共享通常使用的是nfs协议,所以在以前windows主机和linux主机之间实现文件共享是不可
能的,后来一个澳大利亚的一个计算机高手通过软件(自己开发的samba)的形式,在linux主机上讲nfs模
拟出了smb/cifs 和 netbios协议,这样在两者之间实现共享的时候linux主机就可以模仿成一台windows
主机和windows主机间实现文件共享
在linux主机上安装完samba后有两个主要进程:nmbd 和 smbd
nmbd就是为了提供netbios名称解析,监听udp的137,138和tcp的139端口
smbd就是为了实现文件共享,监听tcp的445端口

第二部分:安装samba

yum list all samba #查看相关的包

samba-clienti386
samba-commoni386
sambai386
samba-swati386
1),yum install samba
2),cd /etc/samba
vim smbconf global(全局配置),
home(用于配置用户是否可以通过samba访问自己家目录)
printer(用于定义打印机)
custom(定义每个用户自己的共享)
global选项中有以下内容比较重要:
workgroup = MYGROP #定义组
server string = Samba Server Version %v #就是一些说明信息
security = user #定义安全级别
share : 任何人都可以共享文件
user : 必须提供账号密码才能使用
domain: 把用户的账号密码通过第三方来认证

passdb backend = tdbsam #以哪种方式存放密码(账号都是系统账号
,但是密码却不是系统中账号的密码,而且密码不是放在/etc/passwd下

load prienters = yes #是否启用打印机
cups options = raw #定义打印机的执行方式

grep -v "^[[:space:]]#" smbconf | grep -v "^$" | grep -v "^:" #小技巧,只显示对我们有用的配置选项

共享文件的格式如下:
[tools]
comment = my tools
path = /share
browseable = yes/no
guest ok = yes/no
writable = yes/no (这里是否可写还要取决目录是否具有可写权限)
3),testparm #使用testparm检查是否有语法错误

4), service smb start

5),netstat -nutl

6),useradd gentoo

7), smbpasswd -a gentoo #把它加入到samba里面来,给gentoo 用户一个密码(不是系统账户的
密码)

8),通过windows的网上邻居来验证
setfacl -m u:gentoo:rwx /share #仅仅增加gentoo 用户对/share目录有rwx权限



如何在linux上查看对方共享的资源:

smbclient :一个专门用于访问共享资源的客户端工具

smbclient -L IP/HOST -U username

smbclient //HOST/share -U
smb>
smb>
登录之后就可以像使用ftp一样上传和下载文件
通过组的方法让几个用户同时对一个目录具有写权限:

groupadd mygrp

useradd -a -G mygrp gentoo

useradd -a -G mygrp centos

vim /etc/samba/smbconf [tools]栏内加入:
write list = +gentoo #当加入组的时候“+”必须有

service smb restart



如何设定才能使只允许某个网段的用户共享自己的资源:
/etc/samba/smbconf 中 : hosts allow = 127 19216812 17216 -->
表明只允许某个网段来访问
我们也可以通过挂载的方式来访问共享的资源,挂载命令如下:
mount -t cifs //172161001/tools /mnt -o username=gentoo
#

你使用的是什么发行版?是centos么?如果是的话就跟随以下我的方法来设置吧。

samba这款软件应用确实非常广泛,同时也为linux和windows之间文件传输提供了一个非常轻松的方式,同时它的安装方法也是非常简单的,我的方法适用于centos68及其以前的系统。

1首先,看看系统里面有没有装samba,这是最关键的一步,不然接下来可能会出问题。默认情况下,centos系统在默认安装中应该已经安装了Samba服务包的一部分 。

rpm -qa | grep samba   //默认情况下可以查询到两个已经存在的包:
samba-client-3033-37el5
samba-common-3033-37el5

2上网找找samba主rpm包。

不过我这里先前就已经找过一个包,在服务器上执行wget下载就好了。

[root@chunming-pc`]# wget ftp://195220108108/linux/fedora-secondary/releases/23/Everything/s390/os/Packages/s/samba-430-01rc4fc23s390rpm

然后下载完成之后使用以下命令安装即可(例如我这里下载的是samba-430-01rc4fc23s390rpm)

[root@chunming-pc`]# rpm -ivh samba-430-01rc4fc23s390rpm

然后安装完成之后就是需要修改配置文件了。

找到/etc/samba/smbconf,打开它,然后把这段写入smbconf中

[global]
    workgroup = LinuxSir
   netbios name = LinuxSir05
   server string = Linux Samba Server TestServer
   security = share
[linuxsir]
    path = /opt/linuxsir
    writeable = yes
    browseable = yes 
    guest ok = yes

[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);

netbios name 就是在Windows中显示出来的计算机名;

server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;

security 这是验证和登录方式,这里用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[linuxsir] 这个在Windows中显示出来是共享的目录;

那么path = 可以设置要共享的目录放在哪里;

writeable 是否可写,这里设置为可写;

browseable 是否可以浏览,可以;可以浏览意味着,在工作组下能看到共享文件夹。如果不想显示出来,那就设置为 browseable=no,guest ok 匿名用户以guest身份是登录;

之后就是需要建立相应目录并授权:

[root@chunming-pc ~]# mkdir -p /opt/linuxsir

创建之后,会发现所属用户和组是root,只需要chown 将对应的目录所属改成samba这个软件的用户就可以了。

然后到现在配置就完成了,把服务起来iptables开放端口就可以给外网访问了。

默认安装只装了samba-client,没有装samba-server,要访问windows的话有samba-client就可以了,用指令smbclient 访问或者用smbmount 挂到Linux下面;那个启动samba的服务的话是要装server,然后提供目录给Windows访问的,这个要设置配置文件的很多地方还要设置访问用户


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存