Linux下Samba的安全配置
- 格式:doc
- 大小:169.50 KB
- 文档页数:24
LinuxSamba服务主配⽂件smb.conf中⽂详解从⽹上找到描述⽐较详细的smb.conf中⽂解释:服务名:smb配置⽬录:/etc/sabma/主配置⽂件:/etc/sabma/smb.conf#============================== Global Settings =============================[global]samba服务器的全局设置,对整个服务器有效。
workgroup语法:workgtoup = <⼯作组群>;预设:workgroup = MYGROUP说明:设定 Samba Server 的⼯作组例:workgroup = workgroup 和WIN2000S设为⼀个组,可在⽹上邻居可中看到共享。
server string语法:server string = <说明>;预设:sarver string = Samba Server说明:设定 Samba Server 的注释其他:⽀持变量 t%-访问时间 I%-客户端IP m%-客户端主机名 M%-客户端域名 S%-客户端⽤户名例:server string = this is a Samba Server 设定出现在Windows⽹上邻居的 Samba Server 注释为 this is a Samba Serverhosts allow语法:hosts aoolw = <IP地址>; ...预设:; host allow = 192.168.1. 192.168.2. 127.说明:限制允许连接到 Samba Server 的机器,多个参数以空格隔开。
表⽰⽅法可以为完整的IP地址,如 192.168.0.1 ⽹段,如 192.168.0.例:hosts allow = 192.168.1. 192.168.0.1 表⽰允许 192.168.1 ⽹段的机器⽹址为 192.168.0.1 的机器连接到⾃⼰的 samba serverprintcap name语法:printcap name = <打印机配置⽂件>;预设:printcap name = /etc/printcap说明:设定 samba srever 打印机的配置⽂件例:printcap name = /etc/printcap 设定 samba srever 参考 /etc/printcap 档的打印机设定。
samba 是一个文件共享协议,用于在计算机之间共享文件。
linux 支持支持 samba 协议。
但在 linux 系统之间进行文件共享时,一般使用 nfs。
samba 一般用于 linux 和 windows 之间 的文件共享,在服务器环境中,Windows 服务器对设备的支持较好,比如一些备份设备;上 层的应用软件也可能需要 linux 的文件,由于 windows 2003 及以下版本对 nfs 支持不好,在 linux 和 Windows 之间共享文件一般用 samba。
假设有一台磁带机安装在 Windows Server 下, 为了实现备份 linux 的文件, 则需要 linux 系统安装 samba 服务,发布共享目录,便于 Windows 系统共享和备份。
(一)安装 SMB[root@myserver ~]# rpm -q samba package samba is not installed [root@myserver ~]# mount /dev/cdrom /mnt mount: block device /dev/cdrom is write-protected, mounting read-only [root@myserver ~]# cd /mnt/Server [root@myserver Server]# ls *samba* samba-3.0.23c-2.i386.rpm samba-swat-3.0.23c-2.i386.rpm samba-client-3.0.23c-2.i386.rpm system-config-samba-1.2.39-1.el5.noarch.rpm samba-common-3.0.23c-2.i386.rpm [root@myserver Server]# rpm -ivh samba-3.0.23c-2.i386.rpm warning: samba-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:samba ########################################### [100%] [root@myserver Server]# service smb status smbd 已停 nmbd 已停 [root@myserver Server]# service smb start 启动 SMB 服务: [确定] 启动 NMB 服务: [确定] 为了让 windows 访问共享,需要先添加一个系统帐户,并为该帐户设置 smb 密码,该 密码和 linux 帐户密码可以不同,以便保证即使知道共享密码也不能直接登入 linux。
Samba 域控配置组策略1. 简介Samba是一个开源的实现了SMB/CIFS协议的软件套件,可以在Linux和其他类Unix系统上实现与Windows共享文件和打印机的功能。
通过配置Samba域控制器(Domain Controller),我们可以将Linux服务器作为Windows域中的主要身份验证服务器,并使用组策略(Group Policy)来管理Windows客户端。
本文将详细介绍如何在Samba域控下配置组策略。
2. 安装和配置 Samba 域控首先,我们需要安装Samba软件包,并进行基本的配置。
2.1 安装 Samba 软件包在Linux服务器上,执行以下命令安装Samba软件包:$ sudo apt-get install samba2.2 配置 Samba编辑Samba配置文件/etc/smb.conf,将其配置为域控模式。
以下是一个示例配置:[global]workgroup = MYDOMAINrealm = netbios name = MYDCserver role = active directory domain controllerdns forwarder = 8.8.8.8idmap_ldb:use rfc2307 = yesvfs objects = acl_xattrmap acl inherit = yes请根据实际情况修改workgroup、realm、netbios name和dns forwarder参数。
保存并关闭文件。
2.3 创建域用户执行以下命令创建域用户:$ sudo smbpasswd -a username请将username替换为要创建的域用户的用户名,并输入密码。
2.4 启动 Samba 服务启动Samba服务,使其生效:$ sudo systemctl start smbd nmbd3. 配置组策略现在,我们将配置组策略以管理Windows客户端。
如何配置Samba共享文件夹Samba的基础介绍Samba是一种允许Linux和Unix系统与Windows系统之间共享文件和打印机的协议。
它使用基于TCP/IP的网络协议,使不同系统之间的文件共享更加容易、快捷和方便。
Samba开源软件包也提供了Windows客户端和Windows 服务器端之间的相互访问,这使得Windows和Linux之间的文件共享变得这么容易。
Samba安装在Linux中,Samba通常已经预先安装,您只需运行以下命令即可确认Samba是否已安装:sudo service smb status如果Samba安装了,会返回运行状态信息。
如果未安装,请运行以下命令安装:sudo apt-get updatesudo apt-get install samba完成安装后,您需要执行以下命令来创建共享目录:sudo mkdir -p /var/samba然后,创建共享文件夹:sudo mkdir /var/samba/share接下来,通过更改文件夹权限和设置密码,授权给用户。
sudo chmod -R 0777 /var/samba/sharesudo smbpasswd -a user_name将user_name替换为您想授权的用户名。
您将会被提示输入密码并确认,以允许授权。
此时,让我们进入主要话题 - 如何配置Samba共享文件夹。
Samba共享文件夹配置步骤步骤1:打开Samba配置文件。
Samba的配置文件位于/etc/samba/smb.conf。
打开这个文件,您将看到默认的Samba配置。
sudo nano /etc/samba/smb.conf步骤2:设置共享文件夹在配置文件中添加共享文件夹的设置,如下所示:[share]comment = My Shared Folderpath = /var/samba/shareread only = nobrowsable = yes- "`[share]`: 这个方括号中的内容指定了共享的名称。
Samba服务器搭建与配置Samba服务器搭建与配置Samba服务简介Samba的起源:对于windows的⽹上邻居来讲,共享⽂件的⽅式⽤的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间⽤的是NFS协议。
但是Linux和Windows之间是不能共享的,所以澳⼤利亚国⽴⼤学的Andrew Tridgell,决定开发⼀款软件,这款软件就是为了实现不同的系统之间互相共享⽂件的,于是⼀款叫做SMB的软件横空出世了,但是这个名字不能被注册成商标,因为已经有SMB协议了,于是作者给名字上加了两个A,就成了我们即将使⽤的功能强的⽂件共享服务器: SAMBA。
什么是Samba:Samba是⼀个能让Linux系统应⽤Microsoft⽹络通讯协议的软件,⽽SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的⽹络通讯协议,后来Samba将SMB通信协议应⽤到了Linux系统上,就形成了现在的Samba软件。
后来微软⼜把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet ⽂件系统,并且加⼊了许多新的功能,这样⼀来,使得Samba具有了更强⼤的功能。
Samba的功能:Samba最⼤的功能就是可以⽤于Linux与windows系统直接的⽂件共享和打印共享,Samba既可以⽤于windows与Linux之间的⽂件共享,也可以⽤于Linux与Linux之间的资源共享,由于NFS(⽹络⽂件系统)可以很好的完成Linux与Linux之间的数据共享,因⽽ Samba较多的⽤在了Linux与windows之间的数据共享上⾯。
Samba的⼯作原理:SMB是基于客户机/服务器型的协议,因⽽⼀台Samba服务器既可以充当⽂件共享服务器,也可以充当⼀个Samba的客户端,例如,⼀台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源⽂件,同时,Samba服务器也可以访问⽹络中其它windows系统或者Linux系统共享出来的⽂件。
Samba服务器安装及配置目录一、Samba安装 (2)Samba的用途: (2)安装Samba所需的包 (2)安装Samba命令 (2)Samba服务控制: (2)查看samba是否成功启动: (3)二、Samba账号 (3)1.添加用户组 (3)2.添加samba用户 (3)3.添加samba用户,并设置密码; (3)4.配置相关目录的权限和归属; (4)三、Samba服务器的配置 (4)配置文件: (4)1、全局设置 (5)2.用户共享文件夹设置 (5)3. 编辑配置文件 (6)四、samba的环境变量 (7)附近一 (8)全局参数相信列表: (8)一、Samba安装Samba的用途:1.文件及打印共享服务:根据服务的配置情况分发共享的文件与打印机2.计算机名与IP的解析服务:可以在客户端直接输入Samba服务器名字就能访问到Samba3.共享的文件或打印机4.WINS服务的支持:5.LMB服务的支持:6.身份验证与访问权限设置(如果配合Linux的Quota还可以实现用户磁盘空间配额):可以7.根据企业要求灵活设置相应的安全级别安装Samba所需的包samba-common-3.0.23c-2 它是samba通用库文件和工具包samba-3.0.23c-2 这个是samba的主程序包samba-client-3.0.10-1.4E.2.i386.rpm samba在Linux|unix下的客户端包文件(可选)system-config-samba-1.2.39-1.el5 这个是图形界面的samba服务配置包文件(可选)samba-swat-3.0.23c-2 这个包提供本地、远程利用浏览器来配置samba相关服务(可选)安装Samba命令samba(sudo apt-get install samba)smbclient(sudo apt-get install smbclient)smbfs(sudo apt-get install smbfs).Samba服务控制:1、/etc/rc.d/init.d/smb start/stop/restart/status/reload参数的详细介绍start启动服务stop停止服务restart 重启服务status 查看服务状态reload 重装载配置文件(Linux一切的服务都是基于配置文件工作的)查看samba是否成功启动:Samba安装后默认的是开机自启动1、sudo service smbd status 查看运行状态2、netstat -anp |grep 137查看是否开启了相应的端口及是否为samba程序开启的netstat -anp |grep 138netstat -anp |grep 139netstat -anp |grep 4453、netstat -ap |grep smbd 查看samba是否在运行二、Samba账号1.添加用户组如:[root@localhost ~]# /usr/sbin/groupadd cloudusers2.添加samba用户因为samba用户是基于系统用户的,所以必须先建立系统用户才能添加成samba用户[root@cuc03 ~]# useradd -G cloudusers -d /CloudSave/user1 -s /sbin/nologin user1-G: --groups GROUPS 将用户添加到组cloudusers-d: --home-dir HOME_DIR 设置用户的登录目录-s: --shell SHELL 登录时候的shell将用户添加进组:groupaddsmbpasswd -a user1输入两次samba密码即可3.添加samba用户,并设置密码;我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;另外值得注意的是系统用户密码和Samba用户的密码是不同的。
09142035 通信工程wy作业一在虚拟机安装linux系统,设置共享目录,关闭防火墙,设置NFS内容: 1.在虚拟机安装linux系统2.设置共享目录,3. 配置虚拟机的IP地址,确定虚拟机与PC机能够连通。
4.关闭防火墙,配置NFS服务,验证NFS服务正确5.配置samba服务器,验证其工作正确。
目录(按住ctrl单击链接)1.在虚拟机安装linux系统2. 设置root超级用户默认登录3. 配置NFS服务4.配置samba服务5.VMware虚拟机设置共享1.在虚拟机安装linux系统回目录我安装的系统是ubuntu11.04,安装过程比较简单。
如下列各图所示,所以不加详细说明了:出现下图所示界面,ubuntu 就安装成功了。
2.接下来要做一个关于root的设置回目录Ubuntu设置root用户自动登录由于linux禁止用root用户登录,但是我们很多时候要用到超级用户的权限,每次都用sudo 命令,不太方便,所以在ubuntu11.04版本的linux下,我们可以采用以下方法设置root用户自动登录。
1.新建一个终端,输入:sudo passwd root或者按下图输入,输入要设置的密码(注意输入密码时,是不显示密码的),这样以后我们就可以用root 用户登录了。
2.切换用户,在登录界面选择“other”用户,输入用户名“root”,密码就是刚才设置的密码。
登录系统后,看到用户名是root的话,说明你已经成功登录root账户3.然后按以下路径打开custom.confetc/gdm/custom.conf这时会弹出文本编辑器,将‘custom.Conf’内容修改成下面所示内容(若原来文件为空的话就输入这些内容),保存关闭,重新启动ubuntu 就会发现已经自动用root 用户登录了。
[daemon]TimedLoginEnable=trueAutomaticLoginEnable=trueTimedLogin=rootAutomaticLogin=rootTimedLoginDelay=30如果想要取消超级用户登录的话,只需要将上面的root全部用普通用户名替代即可。
samba配置参数详解samba 配置参数详解:⼀、全局配置参数workgroup = WORKGROUP说明:设定 Samba Server 所要加⼊的⼯作组或者域。
server string = Samba Server Version %v说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。
宏%v表⽰显⽰Samba的版本号。
netbios name = smbserver说明:设置Samba Server的NetBIOS名称。
如果不填,则默认会使⽤该服务器的DNS名称的第⼀部分。
netbios name和workgroup名字不要设置成⼀样了。
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24说明:设置Samba Server监听哪些⽹卡,可以写⽹卡名,也可以写该⽹卡的IP地址。
hosts allow = 127. 192.168.1. 192.168.10.1说明:表⽰允许连接到Samba Server的客户端,多个参数以空格隔开。
可以⽤⼀个IP表⽰,也可以⽤⼀个⽹段表⽰。
hosts deny 与hosts allow 刚好相反。
例如:hosts allow=172.17.2.EXCEPT172.17.2.50表⽰容许来⾃172.17.2.*的主机连接,但排除172.17.2.50hosts allow=172.17.2.0/255.255.0.0表⽰容许来⾃172.17.2.0/255.255.0.0⼦⽹中的所有主机连接hosts allow=M1,M2表⽰容许来⾃M1和M2两台计算机连接hosts allow=@pega表⽰容许来⾃pega⽹域的所有计算机连接max connections = 0说明:max connections⽤来指定连接Samba Server的最⼤连接数⽬。
如果超出连接数⽬,则新的连接请求将被拒绝。
SAMBA服务器安全配置 目录 1. Samba 简介..............................................................2 2. Samba 功能和应用范围....................................................2 3. Samba服务相关配置 .....................................................2 3.1 samba启动程序........................................................2 3.2 查看Samba 服务器的端口及防火墙.......................................2 3.3 查看Samba 服务器的配置文件...........................................3 3.4 samba配置文件说明....................................................3 3.5 Samba 在Linux 中的一些工具(服务器端和客户端).......................5 3.6 在Linux 中的常用工具和Windows查看Linux共享的方法 .................5 3.6.1 在Linux上查看Windows及Samba共享文件............................5 3.6.2 在Windows中访问Linux Samba服务器共享文件的办法..................7 3.6.3 在Linux中smbfs文件系统的挂载....................................7 3.7 以浏览器管理SAMBA-SWAT...............................................9 4. 举简单例子说明匿名用户可读可写的实现...................................9 4.1 更改smb.conf........................................................9 4.2 建立相应目录并授权...................................................12 4.3启动smbd和nmbd服务器...............................................13 4.4查看smbd进程,确认Samba 服务器是否运行起来了........................13 4.5访问Samba 服务器的共享...............................................13 5. 复杂一点的用户共享模型.................................................13 5.1 共享权限设计实现的功能...............................................13 5.2 在服务器上创建相应的目录.............................................14 5.3 添加用户用户组,设置相应目录家目录的权限.............................14 5.3.1 添加用户组........................................................14 5.3.2 添加用户..........................................................14 5.3.3 添加samba用户,并设置密码........................................14 5.3.4 配置相关目录的权限和归属..........................................15 5.4 修改Samba配置文件 smb.conf..........................................15 5.5创建一个samba用户 ..................................................17 5.6最后阶段,进行测试...................................................17
1. Samba 简介 Samba(SMB是其缩写) 是一个网络服务器,用于Linux与Linux(最好用NFS),Linux和Windows间共享文件,在Windows 网络中的每台主机既可以是文件服务器,也可以同时是客户机;一台Linux主机如果架设了Samba服务后,它既能充当服务器,同时也能作为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba服务器;在Windows网络中,能看到共享文件夹功能,可以把共享文件夹映射为本地网络驱动器。在Linux中,就是通过Samba向网络中的主机提供共享文件系统,也可以把网络中其它机器的共享挂载在本地主机上使用;Samba 用的是netbios协议,让Netbios和SMB在TCP/IP上运行。 2. Samba 功能和应用范围
Samba 应用范围主要是Windows和Linux 系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,可以用NFS;而Samba主要是提供共享文件和共享打印机; 3. Samba服务相关配置 3.1 samba启动程序 Samba 有两个服务器,一个是smb(监听139,445TCP端口),另一个是nmb(监听137,138两个UDP端口);smbd和nmbd使用的全部配置文件都保存在smb.conf文件中。smb 是Samba 的主要启动服务器,它能让其它主机知道该主机共享了什么;如果不打开nmb服务器的话,只能通过IP来访问。 如:在Windows的IE浏览器上输入下面的内容 \\192.168.1.5\共享目录 而nmb是解析用的,就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;一般的情况下,如果是用RPM包安装的Samba ,一般可通过如下的方式来启动Samba服务器; [root@localhost ~]# /etc/rc.d/init.d/smb start(stop/restart) 对于所有系统来说,通用的办法就是直接运行smb 和nmb;当然要知道smb和nmb所在的目录才行;如果是自己编译的Samba,应该知道把Samba放在哪里了; [root@localhost ~]# /usr/sbin/smbd [root@localhost ~]# /usr/sbin/nmbd 查看服务器是否运行起来了,则用下面的命令; [root@localhost ~]# pgrep smbd [root@localhost ~]# pgrep nmbd 关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行; [root@localhost ~]# pkill smbd [root@localhost ~]# pkill nmbd
3.2 查看Samba 服务器的端口及防火墙
有时防火墙可能会把smbd服务器的端口封掉,所以应该查看smbd服务器所占用的端口;下面查看中,显示smbd所占用的端口是139和445 ; [root@localhost ~]# netstat -tlnp |grep smb tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 10639/smbd tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 10639/smbd 如果有防火墙,一定要把这两个端口打开。如果不知道怎么打开,还是把防火墙规则清掉; [root@localhost ~]# iptables -F 或 [root@localhost ~]# /sbin/iptables –F
3.3 查看Samba 服务器的配置文件
如果是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有用户配置文件 smbpasswd、smbusers和lmhosts等;还有一个文件是secrets.tdb,这个文件是Samba 服务器启动时自动生成的;
3.4 samba配置文件说明
以井号(#)和分号(;)开始的行和空行被忽略,以外斜线(\)结束的行将在下一行继续。段名和 参数名不分大小写。 除了[global]段外,所有的段都可以看作是一个共享资源,段名是该共享资源的名字,而段里的参数就是共享资源的属性。[global], [homes] 和 [printers]这三个段是比较特殊的,一个共享资源段由要提供访问的路径和附加的访问权限组成,可以是文件资源或打印资源。共享资源段可以给guest级的用户服务,一般来说guest用户是不需要密码的,如果给guest提供服务,guest的权限是根据UNIX里的guest帐户来赋予。 如果共享资源段不是给guest提供服务的,则访问这样的段需要客户的密码。由于赋予用户对共享资源段的访问权限是基于该用户在UNIX系统的对该资源的访问权限,所以服务器是不能赋予超过UNIX系统赋予该用户的权限的。 例如:下面的共享资源段的例子定义了一个文件共享,用户对路径/home/abc有写入的权限,共享资源段名是abc,也就是共享名。 [abc] path = /home/abc writeable = true 特殊段 [global] 段 在这个段的参数是全局有效的。 [homes] 段 当用户请求一个共享时,服务器将在存在的共享资源段中去寻找,如果找到匹配的共享资源段,就使用这个共享资源段。如果找不到,就将请求的共享名看成是用户的用户名,并在本地的password文件里找这个用户,如果用户名存在且用户提供的密码是正确的,则以这个home段克隆出一个共享提供给用户。这个新的共享的名称是用户的用户名,而不是home,如果home段里没有指定共享路径,就把该用户的宿主目录(home directory)作为共享路径。 通常的共享资源段能指定的参数基本上都可以指定给[home]段。但一般情况下[home]段有如下配置就可以满足普通的应用。 [homes] writeable = yes 注意,如果在[home]段里加了guess access =ok, 所有的用户都可以不要密码就能访问所有的宿主目录!