SAMBA多用户共享

二、samba服务器端共享

1.创建用户、组、samba用户

yum install samba
#创建系统用户
useradd  smb1 -s /sbin/nologin 
useradd  smb2 -s /sbin/nologin 
useradd  smb3 -s /sbin/nologin 
useradd  smb4 -s /sbin/nologin
groupadd gsmb
gpasswd -M smb1,smb2,smb3  gsmb 
#将系统用户变为samba用户
#samba用户数据库/var/lib/samba/private/passdb.tdb
#将会重新设定smb账户密码
    smbpasswd -a smb1
    smbpasswd -a smb2
    smbpasswd -a smb3
    smbpasswd -a smb4

2.共享目录

[share_name]
        comment = many user
        path = /samba
        write list = smb1
        valid users = @gsmb
        browsable = no
配置目录共享
            每个共享目录应该有独立的[ ]部分
    [共享名称]
        远程网络看到的共享名称
        与此目录真实路径无关
    comment 注释信息
    path 所共享的目录真实路径
    public
        能否被guest访问的共享,默认no,和guest ok 类似
        YES允许匿名登陆
    browsable
        是否允许所有用户浏览此共享,默认为yes,no为隐藏
    writable=yes 可以被所有用户读写,默认为no
    read only=no 和writable=yes等价
        如与以上设置冲突,放在后面的设置生效
        默认只读
    write list
        与 writable=yes 冲突
        列表中用户或组可读写,不在列表中用户只读
        三种形式:用户,@组名,+组名,
        用,分隔如writable=no
    valid users
        特定用户才能访问该共享
        如为空/不写,将允许所有用户,用户名之间用空格分隔
        三种形式:用户,@组名,+组名,
mkdir /samba
chmod 777 /samba
systemctl restart smb nmb

三、samba客户端实现多用户共享

centos6不支持,cifs-utils包没有cifscreds工具

1.多用户模式挂载

yum -y install cifs-utils
#多用户形式挂载
mkdir /smb

vim /etc/fstab
    //172.17.16.169/share_name /smb cifs  credentials=/etc/samba.d/user,multiuser,sec=ntlmssp 0 0

#挂载上验证用户及密码 放到文件中
echo 'username=smb1' >/etc/samba.d/user
echo 'password=smb1' >>/etc/samba.d/user

chmod 400 /etc/samba.d/user
#客户端创建同名账户
useradd  smb1 -s /sbin/nologin 
useradd  smb2 -s /sbin/nologin 
useradd  smb3 -s /sbin/nologin 
useradd  smb4 -s /sbin/nologin

2.多用户访问

用root访问
  ls /mnt/smb; touch /mnt/smb/root.txt
用smb1访问
  cifscreds add –u smb1 -d 172.17.16.173
用smb2访问
  cifscreds add –u smb2 -d 172.17.16.173

四、实现用户的登陆目录不同且对此目录权限不同

1.在samba的全局配置中添加
config file=/etc/samba/conf.d/%U 用户独立的配置文件

vim /etc/samba/smb.conf   
    config file=/etc/samba/conf.d/%U 

2.在/etc/samba/conf.d下创建用户同名配置文件

mkdir /etc/samba/conf.d/
vim /etc/samba/conf.d/smb1
    [share_name]
        path = /samba/smb1
        write list = smb1



vim /etc/samba/conf.d/smb2
[share_name]
        path = /samba/smb1
#默认只读

你可能感兴趣的:(linux-存储)