samba基础配置+实例

简介: 配置之前先了解一下比较重要的一些配置信息,有助于我们得心应手地驾驭服务器: samba允许单独加载的用户配置文件:include = /etc/samba/%G.smb.confinclude = /etc/samba/%U.
配置之前先了解一下比较重要的一些配置信息,有助于我们得心应手地驾驭服务器:
samba允许单独加载的用户配置文件:
include = /etc/samba/%G.smb.conf
include = /etc/samba/%U.smb.conf
安全性方面:
hosts allow = 192.168.2. EXCEPT 192.168.2.22
interfaces = 192.168.2.126
usrename map = /etc/samba/smbusers 映射虚拟账号,以保证实体账号不外泄,格式如:Linux_user = Samba_user1,Samba_user2,...
smb passwd file = /etc/samba/smbpasswd 为提高安全性,请确认此文件权限:-rw-------  1 root root   103 May  4 19:06
encrypt passwords = yes 以加密的方式通信
利用tcp_wrapper实行访问控制,防止非法访问,在/etc/hosts.allow 和 /etc/hosts.deny加入相应的控制地址,如:hosts.allow里加入smbd:192.168.2.0/24:allow,在hosts.deny里加入smbd:all:deny
新建文件或文件夹权限方面:
create mask = 0744                设置创建文件时的权限
directory mask = 0755             设置创建目录时的权限
Linux权限分为三个部分:用户所属用户、用户所在组、其它用户三种访问权限,每部分又可以分为读(Read)、写(Write)、执行(eXecute),共占九位数(但ls -l /home/smb 时为什么看到却是10位数的呢?其它是这样的,它的第一位表示文件类型,其它九位就是文件权限,常见的文件类型有:-表示普通文件、d表示目录文件、l表示链接文件、b表示块设备文件等),任何文件都有自己的属主,每个用户靠用户的UID号来区分,用户登录名相同而UID号不同视为不同的用户
现在企业要求每个部分只有一个文件夹,再加一下公共文件目录作为共享用,任何人都可以通过公共目录与其它部门交流文件,本部门的文件只允许本部门操作,同时每个用户有一个私人目录用作保存私有文件
对于用户对自己的目录有绝对权限这个不难,可以成自己的家目录,系统默认的家目录权限是700,安全性达到了要求
再建一个公共目录,权限为1777,1为粘置位,777表示任何人都可以读、写、执行,但前面加上1后,用户只能完全执行自己的文件了,防止用户误操作而导致他人文件丢失的问题,本部门用目录,只要把相当用户加入该组即可,最后一个要求其实就是一个家目录就行了
实际操作:
先建目录
         mkdir -p -m 1777/samba/public
         mkdir -m 770 /samba/sale
         mkdir -m 770 /samba/ad
         mkdir -m 770 /samba/pro
建用户组和用户:
        groupadd sale
        groupadd ad
        groupadd pro
        useradd -g sale -s /sbin/nologin sale1
        useradd -g sale -s /sbin/nologin sale2
        useradd -g sale -s /sbin/nologin sale3
        useradd -g ad -s /sbin/nologin ad1
        useradd -g ad -s /sbin/nologin ad2
        useradd -g pro -s /sbin/nologin pro1
        useradd -g pro -s /sbin/nologin pro2
        useradd -g pro -s /sbin/nologin pro3
修改目录权限(保证用户权限本地权限):
       chown sale1:sale /samba/sale
       chown ad1:ad /samba/ad
       chown pro1:pro /samba/pro
修改配置文件:
vi /etc/samba/smb.conf
[global]
workgroup = workgroup
server string = samba server   
interface = 192.168.2.126
hosts allow = 192.168.2. EXCEPT 192.168.2.53
security =  user
username map = /etc/samba/smbusers
smb passwd file = /etc/samba/smbpasswd
encrypt passwords = yes
log file=/var/log/samba/%m.log
max log size=50
include = /etc/samba/smb.conf.%U
include = /etc/samba/smb.conf.%G
[Public]
comment = public directory
path = /samba/public
browseable = yes
writable = yes
valid users = %U
create mask = 1644 保证各个用户自己创建的文件不被他人删除,如果改成1600,那么其它人也没有权限查看
directory mask = 1755
[homes]
        comment = users directories
        browseable = no
        writable = yes
        valid users = %U
主配置文件配置完成,Copy成组、用户的单独配置文件
cp /etc/samba/smb.conf /etc/samba/smbc.conf.sale
cp /etc/samba/smb.conf /etc/samba/smbc.conf.ad
cp /etc/samba/smb.conf /etc/samba/smbc.conf.pro
vi /etc/samba/smb.conf.sale
把config file = /etc/samba/smb.conf.%U 和 config file = /etc/samba/smb.conf.%G 行注释掉,在最后加入如下:
[sale]
comment = sale directory
path = /samba/sale
browseable = yes
write list = @sale
valid users = @sale
create mask = 1640 本配置是基于组的,所以1640权限同组用户只有读权限,而其它用户则无权限
directory mask = 1750
另外两个组配置文体操作相同,只是路径、可写用户、有效用户不同
启用tcp_wrapper访问控制
vi /etc/hosts.allow
smbd:192.168.2.0/24:allow
nmbd:192.168.2.0/24:allow
vi /etc/hosts.deny
smbd:all:deny
nmbd:all:deny
添加samba用户
smbpasswd -a sale1
smbpasswd -a sale2
smbpasswd -a ad1
smbpasswd -a ad2
smbpasswd -a pro1
smbpasswd -a pro2
启用虚拟账号映射
vi /etc/samba/smbusers
sale1 = sale11
sale2 = sale21
ad1 = ad11
ad2 = ad21
pro1 = pro11
pro2 = pro21
本文还可以基于用户单独配置文件,实现个性化且符合实际需求的设置
总结:
本配置文件最容易写错的地方有:valid users、encrypt passwords 会忘记后面的s,writable会写成writeable, 按照说明来是应该可以把include这个包含改成config file,但是我设置就是不成功,望有高手帮忙.新手学习过程中难免有很多不懂的地方,待日后见证进步...:)
相关文章
|
Ubuntu Linux 虚拟化
ubunt配置samba服务器,匿名访问
ubunt配置samba服务器,匿名访问
507 1
ubunt配置samba服务器,匿名访问
|
网络协议 Unix Linux
Linux系统配置(Samba共享)
别名用户Samba、安装服务、设置共享用户、配置别名文件、配置smb.conf、启用服务、案例、Samba配置、验证
556 0
Linux系统配置(Samba共享)
|
Linux 数据安全/隐私保护 Windows
|
数据安全/隐私保护 Windows
|
Unix Linux 数据安全/隐私保护