Linux环境下实现SAMBA服务文件共享

一、实现SMB共享

1、在服务器安装软件包

    yum -y install samba

2、创建samba用户和组

    groudadd -r admins

    user alfa -G admins -s /sbin/nologin

    smbpasswd -a alfa

    useadd bmw -s /sbin/nologin

    smbpasswd -a bmw

image.png

3、创建samba共享目录,并设置SElinux

    新建一个目录或者用设置已存在的目录

    chgrp admins /app/scripts

    chmod 2775 /app/scripts  ----->在此目录新建的文件全部修改组属性为admins

image.png

    semanage fcontext -a -t samba_share_t'/app/scripts(/.*)?' 增加目录的默认安全上下文类型设置

    restorecon -vvFR /app/scripts 恢复SELinux文件属性即恢复文件的安全上下文

4、samba服务器配置

    vim /etc/samba/smb.conf

image.png

    修改完成后systemctl start nmb smb,systemctl enable smb nmb

    防火墙设置

    firewall-cmd --permanent --add-service=samba

    firewall-cmd --reload

image.png

此步完成后,由于虚拟机是仅主机模式,此时windows已可访问

image.png

5、samba客户端访问

(1)安装包

yum -y install cifs-utils

(2)用alfa用户挂载smb共享并访问

不挂载情况访问:smbclient -U alfa //192.168.239.70/share

(3)用bmw用户挂载smb共享并访问

image.pngimage.png


二、多用户挂载和共享目录文件权限

    samba共享默认支持同时用一个用户挂载SMB共享

    CentOS7中可启用多用户挂载功能

    客户端挂载samba共享目录后,在客户端登录的不同用户访问同一个samba的挂载点,可获得不同权限

    1、创建用户、创建组

image.png

    同时将用户设置为samba用户

    smbpasswd -a smbadmin ------->需要建立进入samba服务器的一个账号

    smbpasswd -a apple

    smbpasswd -a banana

    2、创建共享目录,并修改/etc/samba/smb.conf配置文件

image.png

    每个[ ]内都是一项共享名称,共享名称下部的功能选项

image.png

3、创建目录,并设置权限

    mkdir -p /share/sharegrp1

    setfacl -m u:apple:rwx /share/sharegrp1

    setfacl -m g:admins:rwx /share/sharegrp1

image.png

    如果selinux打开情况下需要设置

    semanage fcontext -a -t samba_share_t '/share/sharegrp1 (/.*)?'

    restorecon /share/sharegrp1

    设置完成后重启samba服务,systemctl restart smb

4、设置客户机目录

    yum -y install cifs-utils

    mkdir /mnt/share

    将samba服务器设置的账号(就是第1步中建立的smbadmin账户,只填写它的账户和密码就可以)密码写入一个文件中,并设置600权限

image.png

5、挂载

image.png

    挂载完成后mount -a

6、客户端实现多用户访问

    useradd apple

    useradd banana

image.png

注意:成功以后,发现别人可以删除自己的文件,这不符合工作中的要求,为了实现合理的自己只能删除自己的文件,这里将继续下一步的操作

7、新建共享组sharegrp2,服务器修改配置文件

image.png

8、新建目录,设置权限

    对建立好的目录设置权限

image.png

    对目录改权限,让用户apple和banana对目录有7权限(如果用户多,可以将用户放到组里,更改组权限),最后chmod o+t /share/sharegrp2,对目录添加粘滞键,用户新建修改删除只能作用于自己的目录,他人的目录只能读

9、测试

    测试前依然需要切换到相应的用户并输入指令

    cifscreds add -u apple 192.168.239.70

    cifscreds add -u banana 192.168.239.70

image.png

    banana用户的文件apple用户不能删除不能修改,只能查看

    由此可见,实现文件权限的方式是samba选项中的writable、read only等选项与文件系统权限的交集

猜你喜欢

转载自blog.51cto.com/13873498/2307789
今日推荐