samba配置文件详解 samba配置文件修改
linux怎么配置samba
chmod更改一个文件夹的权限步骤:1.samba目录:
samba配置文件详解 samba配置文件修改
samba配置文件详解 samba配置文件修改
samba配置文件详解 samba配置文件修改
[root@RHEL ~]#cp /etc/samba/b.conf /etc/samba/gm.b.conf
企业数据目录:/companydata
公共目录:/companydata/share
销售部目录:/companydata/sales
技术部:/companydata/tech
2.企业员工情况:
:gm
销售部:销售部 redking、员工 sky、员工 jane
技术部:技术部 michael、员工 bill、员工 joy
3.搭建samba文件,建立公共共享目录,允许所有人访问,权限为只读,为销售部和技术部分别建立单独的目录,只可以和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录。
案例解析:
1.需求分析
对于建立公共目录public字段就可以实现匿名访问,员工只能访问本部门的共享目录,禁止访问非本部门的共享目录,可以通过设置目录共享字段“browseable = no”及字段“valid users”来实现其隐藏功能和相应的访问权限。这样设置不能很好得解决同一目录多种需求的权限设置,所以需要建立配置文件,为每个部门建立一个组后并为每个组建立配置文件来实现隔离用户权限会比较灵活。
2. 解决方案
1)建立各部门专用共享目录
使用mkdir建立需求的共享目录以便分门别类的存储相应资料。
[root@RHEL ~]#mkdir /companydata
[root@RHEL ~]#mkdir /companydata/share
[root@RHEL ~]#mkdir /companydata/sales
[root@RHEL ~]#mkdir /companydata/tech
同时设置/companydata共享目录的用户权限
[root@RHEL ~]#chmod –R 777 /companydata
2)添加samba描述及设置bpasswd文件
默认/etc/samba/目录下没有bpasswd文件,要先关闭samba的tdbsam验证。
解决方法:在b.conf文件中注释掉passdb backend = tdbsam 一行,为了指定samba用户的验证我们加上这一条b passwd file = /etc/samba/bpasswd,然后保存退出。
先建立销售部组sales,技术部组tech,然后使用useradd命令添加帐号gm及各个员工的帐号并加入相应的用户组。
[root@RHEL ~]#groupadd sales
[root@RHEL ~]#groupadd tech
[root@RHEL ~]#useradd gm
[root@RHEL ~]#useradd –g sales sky
[root@RHEL ~]#useradd –g tech michael
[root@RHEL ~]#useradd –g tech bill
[root@RHEL ~]#useradd –g tech joy
接着使用bpasswd命令添加samba用户:
[root@RHEL ~]#bpasswd –a gm
New SMB password:
Retype new SMB password:
Added user gm.
[root@RHEL ~]#bpasswd –a redking
New SMB password:
Retype new SMB password:
Added user reding.
[root@RHEL ~]#bpasswd –a sky
New SMB password:
Retype new SMB password:
Added user syk.
[root@RHEL ~]#bpasswd –a jane
New SMB password:
Retype new SMB password:
Added user jane.
[root@RHEL ~]#bpasswd –a michael
New SMB password:
Retype new SMB password:
Added user michael.
[root@RHEL ~]#bpasswd –a bill
New SMB password:
Retype new SMB password:
Added user bill.
[root@RHEL ~]#bpasswd –a joy
New SMB password:
Retype new SMB password:
Added user joy.
4)配置b.conf文件
(1)建立单独配置文件
用户配置文件使用用户名命令,组配置文件使用组名命令。
[root@RHEL ~]#cp /etc/samba/b.conf /etc/samba/sales.b.conf
[root@RHEL ~]#cp /etc/samba/b.conf /etc/samba/tech.b.conf
(2)设置主配置文件b.conf
配置b.conf主配置文件,在global中添加相应字段,确保samba的主配置文件可以调用的用户配置文件和组配置文件。
include = /etc/samba/%U.b.conf表示使samba加载/etc/samba目录下格式为“用户名.b.conf”的配置文件。
include = /etc/samba/%G.b.conf表示使samba加载/etc/samba目录下格式为“组名.b.conf”的配置文件。
设置共享目录/companydata/share
添加如下内容:
[public]
path=/companydata/share
5)设置gm配置文件
[root@RHEL ~]#vim /etc/samba/gm.b.conf
添加如下内容:
[sales]
path=/companydata/sales
writable=yes
[tech]
comment=tech data
path=/companydata/tech
writable=yes
6)设置销售部组sales配置文件
添加如下内容:
[sales]
path=/companydata/sales
writable=yes
valid users=@sales,gm
7)设置技术部组tech配置文件
[root@RHEL ~]#vim /etc/samba/tech.b.conf
添加如下内容:
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=@tech,gm
8)开启samba服务
[root@RHEL ~]#serv b start
9)测试
分别用所设置账号进行测试。
SAMBA配置权限
Write list = @user //能读取和写入该共享资源的用户和组1、重新装一遍,把原文件备份一份,既然不熟悉,有好有个参考的
comment=sales data2、没有共享目录
3、共享目录的访问权限放开了吗。
4、每个用户的对应用户家目录不用改权限,自身登录肯定是可以的。
samba中设置共享目录步骤
[root@RHEL ~]#vim /etc/samba/sales.b.conf1.创建共享目录public,修改权限为777
2.创建用户和组,并将用户加为b账号bpasswd -a username
3.修改主配置文件 vim /etc/samba/b.conf
#====== Share Definitions ===========
[public]
comment = the share for Alluser
path = /tmp/public //共享目录路径
valid users = @user //能使用该共享资源的用户和组
#read list 只能读取该共享资源的用户和组。
broCreate mask=0777(此处权限设定依具体情况而定)wseable = no //是否列出共享,no即隐藏
4.bclient //ip_addr/public_name -U user_name%passwd //访问共享目录
设置共享文件夹,samba和chmod到底谁的权限大?
1,必备知识。已经知3)添加用户和组道的请跳过。
首先科普一下这两个东西:samba和chmod其实是完全不同层面的东西,一个是共享服务协议,一个是权限设置语句。但是他们有一个共同的用途:可以用来实现设置一个共享文件夹的访问权限。
Samba:
Samba
是用来实现SMB的一种软件,咱们在这里在了解一下SMB(
MessageBlock,服务信息块)。SMB协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和
Linux机器提供文件系统、打印服务或是其他一些信息。
Chmod:
可以使用命令chmod来为文件或目录赋予权限。Linux/Uni[root@RHEL ~]#useradd –g sales redkingx 的档案存取权限分为 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
abc权限设置:
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
2,使用方法。
Samba设置一个文件夹的权限步骤:
(1)编辑samba配置文件:sudo vi /home/etc/samba/b.conf
内容如下:
[共享文件夹名]
Path=/home/…/文件夹名
Valid user=用户名1,用户名2,用户名3…
(2)重启samba使之生效:sudo bd restart
格式:chmod [-cfvR] [--] [--version] abc /home/…/文件夹名
3,比较实验。
那么这两个家伙谁的权力大,谁的级别高呢,我做了如下一系列的实验:
创建一个文件夹,修改b.conf设置其为共享文件夹。此时,同时修改chmod和valid user来进行比较。
(1)chmod abc>770 (如771,772,773,775,776,777) ; valid user= user name A => A有读,写,执行权限
(2)chmod abc<760 ; valid user= user name A => A的权限完全受制于chmod abc,与samba设置无关
(3)chmod abc>770 (如771,772,773,775,776,777) ; valid user内不包含 user name A (A为group user或者owner) => A无读,写,执行权限
(4)chmod abc<760 ; valid user内无 user name A (A为group user或者owner) => A无读,写,执行权限
4,结论。
chmod和samba在近端和远端共同控制着一个文件夹的访问权限,相当于一条路的两道关卡,要想通过,缺一不可。chmod是本地控制,对各级用户使用权限具有本地决定权;samba是网端控制,在开放chmod权限的前提下(通常是至少770),才能使用samba进一步设置特定用户权限,具有网端决定权。
5,特殊说明。
(2)samba中的valid user对文件夹的owner,group user ,other具有同等的权限赋予能力。
1,必备知识。已经知道的请跳过。
首先科普一下这两个东西:samba和chmod其实是完全不同层面的东西,一个是共享服务协议,一个是权限设置语句。但是他们有一个共同的用途:可以用来实现设置一个共享文件夹的访问权限。
Samba:
Samba
是用来实现SMB的一种软件,咱们在这里在了解一下SMB(
MessageBlock,服务信息块)。SMB协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和
Linux机器提供文件系统、打印服务或是其他一些信息。
Chmod:
可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 的档案存取权限分为 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
abc权限设置:
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
2,使用方法。
Samba设置一个文件夹的权限步骤:
(1)编辑samba配置文件:sudo vi /home/etc/samba/b.conf
内容如下:
[共享文件夹名]
Path=/home/…/文件夹名
Valid user=用户名1,用户名2,用户名3…
(2)重启samba使之生效:sudo bd restart
格式:chmod [-cfvR] [--] [--version] abc /home/…/文件夹名
3,比较实验。
那么这两个家伙谁的权力大,谁的级别高呢,我做了如下一系列的实验:
创建一个文件夹,修改b.conf设置其为共享文件夹。此时,同时修改chmod和valid user来进行比较。
(1)chmod abc>770 (如771,772,773,775,776,777) ; valid user= user name A => A有读,写,执行权限
(2)chmod abc<760 ; valid user= user name A => A的权限完全受制于chmod abc,与samba设置无关
(3)chmod abc>770 (如771,772,773,775,776,777) ; valid user内不包含 user name A (A为group user或者owner) => A无读,写,执行权限
(4)chmod abc<760 ; valid user内无 user name A (A为group user或者owner) => A无读,写,执行权限
4,结论。
chmod和samba在近端和远端共同控制着一个文件夹的访问权限,相当于一条路的两道关卡,要想通过,缺一不可。chmod是本地控制,对各级用户使用权限具有本地决定权;samba是网端控制,在开放chmod权限的前提下(通常是至少770),才能使用samba进一步设置特定用户权限,具有网端决定权。
5,特殊说明。
(2)samba中的valid user对文件夹的owner,group user ,other具有同等的权限赋予能力。
小米路由器samba设置
小米路由器是小米公司三大主要产品之一(、电视、路由器),以互联网思维改变传统行业的又一力作。它实现了类似NAS的功能,解决传统路由器上网慢、设置复杂等痛点。
小米路由器默认只有一个共享网盘,而且只能安装小米客户端以后才方便看到:
小米路由器带了1T硬盘,可以多人使用,如果只有一个目录共享出来的话大家共用并不方便,下面我说一下如何让小米路由器共享出多个网盘,分别挂载到每个人的电脑,而且不需要安装小米客户端。
首先通过ssh登录到小米路由器,参考本系列经验篇《实现ssh登录》
编辑samba配置文件
vi /etc/config/samba
仿照第二段
config 'sambashare'
option 'read_only' 'no'
option 'create_mask' '0777'
option 'dir_mask' '0777'
option 'name' 'sni7'
option 'path' '/userdisk/sni7'
option $ rpm -q samba samba-common samba-client'guest_ok' 'yes'
option 'force_user' 'root'
option 'privacy' 'no'
option 'browseable' 'no'
我的browseable的值是“no”而Xiaomi的是“yes”,这一项控制共享是否显示在浏览列表中,也就是通过在地址栏输入“xiaomiRouterIp”是否显示,如:
这里只显示了一个默认的Xiaomi,也就是配置文件中第二段,而我新添加的没有显示在里面,这样会增加一定的安全性。
上面的文件修改完成后按ESC,输入:wq 保存并退出,创建path对应的目录:
mkdir/userdisk/sni7
name参数对应的值 sni7就是新添加的共享名了。
完成以上修改后重启samba服务:
/etc/init.d/samba restart
将新添加的网盘挂载到本地
在Windows[root@RHEL ~]#useradd –g sales jane打开cmd,输入命令:net use z: 192.168.70.1sni7
注意,我的小米路由器ip是192.168.70.1,默认的`是192.168.31.1,如果你的没改或改成其它的话,请自行调整。命令中的 “z:”表示的是盘符
当显示结果是The command completed successfully.
你就可以在资源管理器中看到一个网盘了,也就是z:盘:
删除共享网盘
需要将挂载到本地的网盘删除的话,执行命令
net use z: /del 即可
添加多个网盘
需要给多人使用,那么就重复上面的过程多创建几个网盘即可,分别给每个人挂载各自不同的网盘。同一台机器也可以挂载多个网盘。
这样就摆脱了小米客户端的限制,也一样可以使用1T空间了。
需要注意的是,samba有自己的配置文件/etc/samba/b.conf,但是修改这个文件是不生效的,这个配置文件会在重启路由器以后根据前面给出的配置文件生成。
在Linux下配置 samba
vi /etc/samba/b.conf
在此chmod -R 0777 /home/samba/share配置文件末加入:
[14public]
path = /public(如果就在根目录下的话,否则根据实际情况自行设置目录路径)
[sale]
path = /sale(同上)
only user = yes
user = work
可以多关注《Linux就该这么学》这本书,我都是从这里面学到的
怎样在Linux系统搭建Samba共享
17.2. 配置 Samba 默认的配置文件(/etc/samba/b.conf)允许用户作为 Samba 共享来查看他们的 Red Hat Linu78x 主目录。它还把为 Red Hat Linux 配置的打印机作为 Samba 共享打印机来共享。换一句话说,你可以在你的 Red Hat Linux 系统上连接打印机,然后从网络上的 Windows 机器来打印。 17.2.1. 图形化配置 要使用图形化界面来配置 Samba,使用 Samba 配置工具。要使用命令行来配置,请跳到第 17.2.2 节。 Samba 配置工具是用来管理 Samba 共享、用户、以及基本设置的图形化界面。它修改 /etc/samba/ 目录中的配置文件。没有使用该程序进行的改变都会被保留。 要使用该程序,你必须在运行 X 窗口系统,具备根特权,并且安装了 redhat-config-samba RPM 软件包。要从桌面启动 Samba 配置工具,点击面板上的「主菜单」 => 「系统设置」 => 「设置」 => 「Samba 」,或在 shell 提示(如 XTerm 或 GNOME 终端)下键入 redhat-config-samba 命令。 图 17-1. Samba 配置工具 注记 Samba 配置工具不显示允许用户在 Samba 上查看他们自己的主目录的共享打印机或默认文件段。 17.2.1.1. 配置设置 配置 Samba 的步是配置的基本设置和几个安全选项。启动了应用程序后,选择 「项」 => 「设置」。「基本」活页标签如 图 17-2所示。 图 17-2. 配置基本设置 在「基本」标签上,指定计算机应在的工作组以及对计算机的简短描述。它们与 b.conf 中的 workgroup 和 server string 选项相对应。 图 17-3. 配置安全设置 「安全」标签包含以下选项: 「验证模式」 — 它和 security 选项相对应。选择以下验证模式中的一种。 「域」 — Samba name resolve order = wins lmhosts hosts bcast # 解析netbios的顺序 (lmhosts-lan mar file)(hosts-unix的/etc/hosts,dns,nis)(wins)(bcast,广播)依赖于 Windows NT 主要或备份域来校验用户。把用户名和口令传递给,然后等待它们被返回。在「验证」字段中指定主要或备份域的 NetBIOS 名称。 「加密口令」选项如果被选,它必须被设置为「是」。
有大神成功配置过samba共享linux和win7吗
若要r-x属性则4+1=5。问题不出在Windows上,而是Linux上面的Samba配置文件问题,修改方法如下: 1、对Samba配置文件进行备份,然后配置一个公开的目录 cp /etc/samba/b.conf /etc/samba/b.conf.bak rm /etc/samba/b.conf touch /etc/samba/b.conf vi /etc/samba/b.conf #配置一个公开的访问目录,在新创建的b.conf文件中加入以下配置
#========= Global Settings ======== [global] workgroup = WORKG(1)若所共享的文件夹处于某一用户目录下,则对于该目录访问权限,该用户仅受本地chmod abc控制,samba对于设置无效。若将文件夹置于root目录下,则不存在这个问题。ROUP security = share map to guest = bad user #===== Share Definitions ========== [MyShare] #共享目录路径 path = /home/samba/share browsable =yes writable = yes guest ok = yes read only = no2、设置文件夹权限,检测配置文件 chmod -R 0777 /home/samba/share testparm3、重启Samba服务即可解决 serv b restart# serv nmb restart。
如何在Fedora或CentOS上使用Samba共享文件夹
首先,安装Samba以及进行一些基本的配置。步骤1:在Fedora和CentOS上安装Samba
检验Samba是否已经安装在您的系统中:
如果上面的命令没有任何输出,这意味着Samba并未安装。这时,应使用下面的命令来安装Samba。
$ sudo yum install samba samba-common samba-client
接下来,创建一个用于在网络享的本地文件夹。这个文件夹应该以Samba共享的方式导出到远程的用户。在这个指南中,我们会在顶层文件夹'/'中创建这个文件夹,因此,请确保您有相应的权限。
$ sudo mkdir /shared
如果您想在您的home文件夹内创建共享文件夹(例如,~/shared),您必须激活SELinux中Samba的home文件夹共享选项,具体将在后面提到。
在创建/shared文件夹后,设置文件夹权限以保证其余用户可以访问它。
$ sudo chmod o+rw /shared
如果您不想其他用户对该文件夹拥有写权限,您需要移除命令中的'w'选项。
$ sudo chmod o+r /shared
接下来,创建一个空文件来测试。这个文件可以被用来验证Samba的共享已经被挂载。
$ sudo touch /shared/file1
步骤2:为Samba配置SELinux
接下来,我们需要再次配置SELinux。在Fedora和CentOS发行版中SELinux是默认开启的。SELinux仅在正确的安全配置下才允许Samba读取和修改文件或文件夹。(例如,加上'sambasharet'属性标签)。
下面的命令为文件的配置添加必要的标签:
$ sudo sema fcontext -a -t samba_share_t "
将替换为我们之前为Samba共享创建的本地文件夹(例如,/shared):
$ sudo sema fcontext -a -t samba_share_t "/shared(/.)?"
我们必须执行restorecon命令来激活修改的标签,命令如下:
$ sudo restorecon -R -v /shared
为了通过Samba共享在我们home文件夹内的文件夹,我们必须在SELinux中开启共享home文件夹的选项,该选项默认被关闭。下面的命令能达到该效果。如果您并未共享您的home文件夹,那么您可以跳过该步骤。
$ sudo setsebool -P samba_enable_home_dirs 1
步骤3:为Samba配置防火墙
下面的命令用来打开防火墙中Samba共享所需的TCP/UDP端口。
如果您在使用firewalld(例如,在Fedora和CentOS7下),接下来的命令将会的修改Samba相关的防火墙规则。
$ sudo firewall-cmd --permanent --add-serv=samba
如果您在防火墙中使用iptables(例如,CentOS6或者更早的版本),可以使用下面的命令来打开Samba必要的向外的端口。
$ sudo vi /etc/sysconfig/iptables
然后重启iptables服务:
$ sudo serv iptables restart
步骤4:更改Samba配置
后面的步骤用来配置Samba以将本地文件夹导出为Samba共享文件夹。
使用文件编辑器打开Samba配置文件,并将下面的行添加到文件的末尾。
$ sudo nano /etccomment=public data/samba/b.conf
上面在括号内的文本(例如,"myshare")是Samba共享的资源的名字,它被用来从远程主机存取Samba共享。
创建Samba用户帐户,这是挂载和导出Samba文件系统所必须的。我们可以使用bpasswd工具来创建一个Samba用户。注意,Samba用户帐户必须是已有的Linux用户。如果您尝试使用bpasswd添加一个不存在的用户,它会返回一个错误的消息。
如果您不想使用任何已存在的Linux用户作为Samba用户,您可以在您的系统中创建一个新的用户。为安全起见,设置新用户的登录脚本为/in/nologin,并且不创建该用户的home文件夹。
在这个例子中,我们创建了一个名叫"sambaguest"的用户,如下:
$ sudo useradd -M -s /in/nologin sambaguest$ sudo passwd sambaguest
在创建一个新用户后,使用bpasswd命令添加Samba用户。当这个命令询问一个密码时,您可以键入一个与其用户密码不同的密码。
$ sudo bpasswd -a sambaguest
激活Samba服务,并检测Samba服务是否在运行。
$ sudo ctl enable b.serv
使用下面的命令来查看Samba享的文件夹列表。
$ bclient -U sambaguest -L localhost
接下来是在Tar文件管理器中访问Samba共享文件夹以及对file1进行拷贝的截图。注意,Samba的共享内容可以通过在Tar中通过 b://
liunx下如何配置b。conf文件
主配置文件b.conf
察看除去注释的内容 #grep -v "^#" /etc/samba/b.cof
[global]是samba的全局设置,对整个samba都起作用
[home]设置用户共享目录的属性,该部分不包括的设置项采用配置文件中[global]中的全局设置
[printer]设置samba的共享打印机
[Userdefined_ShareName] 用户自定义共享(可有多个)
基本全局设置项
[global]
workgroup = MYGROUP设置aba所在的工作组的名称,默认为MYGROUP
server string = Samba 设置samba的说明文字用于描述
hosts allow = 192.168.1. 192.168.2. 127.设置samba允许访问的客户机的主机范围(默认192.168的1网段,2网段,和127本地)
log file = /var/log/samba/%m.log 设置日志文件
%S 当前服务名
%P 当前服务的根路径
%u 当前服务的用户名
%g 给定%u的所在工作组名
%H 给定%u的宿主目录
%v Samba版本号
%h 运行服务的主机在配置文件末尾添加一段共享配置:名
%m 客户机的NETBIOS名
%L 的NetBIOS名
%L 当前的日期和时间
max log size = 50设置日志文件的容量,默认50(KB)
security = user设置安全级别:
为Share,则任何用户都可以public=yes访问
为server ,则用户名和密码交由b作验证
为domain ,则用户名和密码交由域控来验证
默认是user需要用户登录时提供密码验证
Smb.conf文件中对于用户目录的默认设置
[homes]共享目录并不指定共享某个目录,而是samba用户的宿主目录,即samba用户登录后可以访问同名的系统用户的宿主目录的内容
browseable = no表示所有samba用户的宿主目录都不可以被一般用户看到,只有登陆用户才能看到自己的宿主目录(安全),yes就所有人都能看到
writable = yes表示登陆用户对自己的宿主目录具有写入的权限
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。