samba服务

samba服务

1.基于ubuntu16.04安装samba

apt-get install -y samba

2.编辑samba主配置文件

vim /etc/samba/smb.conf

3.注释信息行实在太多,不便于分析里面的重要参数,因此先把主配置文件改个名字,然后使用cat命令读入主配置文件,再在grep命令后面添加-v参数(反向选择),

分别去掉所有以井号(#)和分号(;)开头的注释信息行,对于剩余的空白行可以使用^$参数来表示并进行反选过滤,

最后把过滤后的可用参数信息通过重定向符覆盖写入到原始文件名称中。

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf

cat /etc/samba/smb.conf
在这里插入图片描述

这里采用的安全验证方式是user模式,只有建立账户信息数据库之后,才能使用用户口令认证模式。

另外,Samba服务程序的数据库要求账户必须在当前系统中已经存在,否则日后创建文件时将导致文件的权限属性混乱不堪,由此引发错误。

4.创建用于共享资源的账户

useradd test 创建用户

passwd test 重置用户密码

pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit [选项] 账户”

在这里插入图片描述
在这里插入图片描述

增加 samba 用户(该账户必须存在于/etc/passwd文件中)

pdbedit -a test(smbpasswd -a test)

然后输入两次密码

5.创建用于共享文件的目录

mkdir /home/share

将文件所有者设置为test

chown -Rf test /home/share

6.编辑samba主配置文件

vim /etc/samba/smb.conf

在末尾加入文件共享的相关参数
在这里插入图片描述

[share]
 comment = Do not arbitrarily modify the database file
 path = /home/share
 public = no
 writable = yes

7.重启smb服务

systemctl restart smbd

在Windows系统访问即可

添加多个用户或组

如果多个帐户更适合访问共享文件夹,请在/etc/samba/smb.conf文件中更改如下所示的有效用户。

valid users = user1, user2, user3

还可以使用smbpasswd为每个用户设置Samba密码。

sudo smbpasswd -a user1

sudo smbpasswd -a user2

sudo smbpasswd -a user3

要允许一组用户访问共享文件夹,请在/etc/samba/smb.conf中使用以下配置。

valid users = @sambashare

创建组。

sudo groupadd sambashare

然后将用户添加到此组

sudo gpasswd -a user1  sambashare

sudo gpasswd -a user2 sambashare

sudo gpasswd -a user3 sambashare

该组需要对共享文件夹具有写入权限,可以通过以下两个命令实现。

将sambashare设置为共享文件夹的组所有者:

sudo chgrp sambashare /path/to/shared/folder -R

授予组的写入权限。

sudo chmod g+w /path/to/shared/folder/ -R

另外,总结一下常见的samba配置及说明:

[share] # 该共享的共享名

    comment = smb share test # 该共享的备注



    path = /home/share # 共享路径



    allow hosts = host(subnet) # 设置该Samba服务器允许的工作组或者域



    deny hosts = host(subnet) # 设置该Samba服务器拒绝的工作组或者域



    available = yes|no # 设置该共享目录是否可用



    browseable = yes|no # 设置该共享目录是否可显示



    writable = yes|no # 指定了这个目录缺省是否可写,也可以用readonly = no来设置可写



    public = yes|no # 指明该共享资源是否能给游客帐号访问,guest ok = yes其实和public = yes是一样的



    user = user, @group # user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开



    valid users = user, @group # 指定能够使用该共享资源的用户和组



    invalid users = user, @group # 指定不能够使用该共享资源的用户和组



    read list = user, @group # 指定只能读取该共享资源的用户和组



    write list = user, @group # 指定能读取和写该共享资源的用户和组



    admin list = user, @group # 指定能管理该共享资源(包括读写和权限赋予等)的用户和组



    hide dot files = yes|no # 指明是否像UNIX那样隐藏以“.”号开头的文件



    create mode = 0755 # 指明新建立的文件的属性,一般是0755



    directory mode = 0755 # 指明新建立的目录的属性,一般是0755



    sync always = yes|no # 指明对该共享资源进行写操作后是否进行同步操作



    short preserve case = yes|no # 指明是否区分文件名大小写



    preserve case = yes|no # 指明是否保持大小写



    case sensitive = yes|no # 指明是否对大小写敏感,一般选no,不然可能引起错误



    mangle case = yes|no # 指明混合大小写



    default case = upper|lower # 指明缺省的文件名是全部大写还是小写



    force user = testuser # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,

    同时限制create mask = 0755,这样guest就不能删除了



    wide links = yes|no # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用



    max connections = 100 # 设定最大同时连接数



    delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值