[Linux]使用Samba服务器实现资源共享

论坛 期权论坛 脚本     
匿名技术用户   2021-1-7 09:42   552   0

1、介绍

samba为实现SMB协议(Server Message Block)用于实现文件共享。主要用于windows和Linux下的文件、打印机共享。

2、Samba服务器设置

远端主机:

(1)安装samba-client.x86_64 samba-common.x86_64 samba.x86_64

命令:yum install samba-client samba-common.x86_64 samba.x86_64 -y

(2)关闭防火墙

命令:systemctl stop firewalld

(3)开启功能(selinu的模式为enforcing需要开启功能)

分享home目录

命令:setsebool -P samba_enable_home_dirs on

(4)新建用于访问共享目录的用户(需在服务器存在的用户)

创建:

smbpasswd -a student

查看:

pdbedit -L

删除用户:

pdbedit -x student (一次仅能删除一个用户)

(5)本地主机测试

安装:samba-client.x86_64

命令:yum install samba-client.x86_64

访问远端主机student家目录

命令:smbclient //172.25.254.100/student -U student

3、设置Samba共享目录

远端主机:

(1)修改配置文件

路径:/etc/samba/smb.conf

[共享名称]
path = 共享目录路径

(2)重启服务

systemctl restart smb

(3)添加安全上下文

命令:semanage fcontext -a -t samba_share_t '/admin(/.*)?'
restorecon -FvvR /admin/

(4)开启功能(selinu的模式为enforcing需要开启功能)

setsebool -P samba_export_all_rw on ##可以读写

setsebool -P samba_export_all_ro on ##只读

例:设置为可读写

(5)修改共享目录权限

命令:chmod 777 /admin

本地主机:(前提安装samba-client.x86_64)

访问共享目录

命令:smbclient //172.25.254.219/admin -U student

挂载至本地

mount //172.25.254.219/damin -o username=student,password=redhat

4、配置文件部分管理参数

[admin] #共享名称
comment = directory admin #说明
path = /admin #路径
guest ok = yes #允许匿名用户登陆
writable = yes #可写
write list = +student #允许student组可写
valid users = student #允许student用户访问
valid users = @student #允许student组访问
browseable = yes #是否隐藏目录
admin users = admin #进入该共享目录后,admin用户为该目录的root用户

(1)测试组合

远端主机:

配置文件路径/etc/samba/smb.conf

可写,允许admin组可写,隐藏目录

/admin权限修改为777

重启服务

systemctl restart smb

本地主机:

测试查看

可查看到/admin目录已被隐藏

使用admin用户登录/admin

上传文件(注:仅能上传登陆用户时所在目录下的文件)

使用命令:!ls 可查看到登录时所在目录下的文件,该命令使用环境为登录samba服务器后使用


5、匿名用户访问

远端主机:

(1)修改配置文件

路径:/etc/samba/smb.conf

[admin]
comment = directory admin #说明
path = /admin #路径
guest ok = yes #允许匿名用户访问

map to guest = bad user

重启服务

命令:systemctl restart smb

本地主机:

访问测试

命令:smbclient //172.25.254.219/admin -U guest (ip为远端主机)

6.smb多用户挂载

本地主机:

(1)yum install cifs-utils

(2)创建登陆用户文件

例:在/root下创建smbuserlist。 文件名称任意

文件内容:

username=admin #登陆的用户名

password=esk #用户名的密码

(3)进行挂载

命令:mount //172.25.254.219/admin /mnt -o credentials=/root/smbuserlist,multiuser,sec=ntlmssp

注:ip为远端主机ip,采用多用户方式挂载

使用admin用户进行查看

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP