Samba案例笔记分享

举报
Jack20 发表于 2022/10/27 20:20:59 2022/10/27
【摘要】 案例一:公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为public,此共享目录允许所有员工访问,只读操作。注意:1. 修改的是 /etc/samba/smb.conf 文件2. 修改文件之前最好将其备份,cp /etc/samba/smb.conf .a. 修改samba的主配置文件如下:b. 建立共享目录:上面设置了共享目...

案例一:

公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为public,此共享目录允许所有员工访问,只读操作。

注意:1. 修改的是 /etc/samba/smb.conf 文件

2. 修改文件之前最好将其备份,cp /etc/samba/smb.conf .

a. 修改samba的主配置文件如下:

cke_241.png

b. 建立共享目录:

上面设置了共享目录为/share,下面就需要建立/share目录:

cke_242.png

由于要设置匿名用户可以下载或上传共享文件,所以要给/share目录授权为nobody权限。

cke_243.png

c. 重启smb服务:

cke_244.png

d. 测试smb.conf配置是否正确:

cke_245.png

e. 访问Samba服务器的共享文件:

在Linux下访问Samba服务器的共享文件(需要安装Client端)

cke_246.png

在windows下访问Samba服务器的共享文件,浏览器输入 file://192.168.126.15/share

或者运行栏输入: \\192.168.126.15

cke_247.png

可能出现的问题:cke_248.png

解决:https://jingyan.baidu.com/article/3aed632ed3b4d2701080918e.html

案例二、

公司现有多个部门,因工作需要,将TS部的资料存放在samba服务器的/ts 目录中集中管理,以便TS人员浏览,并且该目录只允许TS部员工访问。

a. 添加TS部组和用户

cke_249.png

建立用户的同时加入到相应的组中的方式:useradd -g 组名 用户名

b. 在根目录下建立/ts 文件夹

cke_250.png

c. 将刚才建立的两个帐户添加到samba的账户中

cke_251.png

d. 修改主配置文件如下:

cke_252.png

e. 重新加载配置

cke_253.png

f. 到windows客户端验证,访问\\10.0.0.163,提示输入用户名和密码,在此输入sandy验证,如下图:

cke_254.png

g. 访问成功,可以看到公共的public目录,用户sandy的宿主目录,和其有权限访问的ts目录

cke_255.png

h. 进入ts目录,有刚才创建的newyork.city文件

cke_256.png

案例三、

实现不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。基本上能满足一些企业用户的需求。(整理自网络)


a. 需求


1. 某公司有5个大部门,分别为:人事行政部(HR & Admin Dept)、财务部(Financial Management Dept)、技术支持部(Technical Support Dept)、项目部(Project Dept)、客服部(Customer Service Dept)。

2. 各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。

3. 每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。

4. 公用文件夹中分为存放工具的文件夹存放各部门共享文件的文件夹

5. 对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。

6. 对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。


b. 规划


根据公司需求情况,现做出如下规划:

1. 在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、 FM、TS、PRO、CS和Share。在Share下又有以下几个文件夹:HR、FM、TS、PRO、CS和Tools。

2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。

3. HR管理员账号:hradmin;普通用户账号:hruser。

FM管理员账号:fmadmin;普通用户账号:fmuser。

TS管理员账号:tsadmin;普通用户账号:tsuser。

PRO管理员账号:proadmin;普通用户账号:prouser。

CS管理员账号:csadmin;普通用户账号:csuser。

Tools管理员账号:admin。


文件夹之间的关系见下图:


c. 新建用户


使用useradd命令新建系统账户,然后再使用smbpasswd –a建立SMB账户。


[root@TS-DEV ~]# useradd -s /sbin/nologin hradmin

[root@TS-DEV ~]# useradd -g hradmin -s /sbin/nologin hruser

[root@TS-DEV ~]# useradd -s /sbin/nologin fmadmin

[root@TS-DEV ~]# useradd -g fmadmin -s /sbin/nologin fmuser

[root@TS-DEV ~]# useradd -s /sbin/nologin tsadmin

[root@TS-DEV ~]# useradd -g tsadmin -s /sbin/nologin tsuser

[root@TS-DEV ~]# useradd -s /sbin/nologin proadmin

[root@TS-DEV ~]# useradd -g proadmin -s /sbin/nologin prouser

[root@TS-DEV ~]# useradd -s /sbin/nologin csadmin

[root@TS-DEV ~]# useradd -g csadmin -s /sbin/nologin csuser

[root@TS-DEV ~]# useradd -s /sbin/nologin admin

[root@TS-DEV ~]#





[root@TS-DEV ~]# smbpasswd -a hradmin

New SMB password:

Retype new SMB password:

Added user fmuser.

[root@TS-DEV ~]# smbpasswd -a hruser

[root@TS-DEV ~]# smbpasswd -a fmadmin

[root@TS-DEV ~]# smbpasswd -a fmuser

[root@TS-DEV ~]# smbpasswd -a tsadmin

[root@TS-DEV ~]# smbpasswd -a tsuser

[root@TS-DEV ~]# smbpasswd -a proadmin

[root@TS-DEV ~]# smbpasswd -a prouser

[root@TS-DEV ~]# smbpasswd -a csadmin

[root@TS-DEV ~]# smbpasswd -a csuser

[root@TS-DEV ~]# smbpasswd -a admin

[root@TS-DEV ~]#


d. 新建目录


e. 更改目录属性

[root@TS-DEV Company]# chown hradmin.hradmin HR

[root@TS-DEV Company]# chown fmadmin.fmadmin FM

[root@TS-DEV Company]# chown tsadmin.tsadmin TS

[root@TS-DEV Company]# chown proadmin.proadmin PRO

[root@TS-DEV Company]# chown csadmin.csadmin CS

[root@TS-DEV Company]# chown admin.admin Share

[root@TS-DEV Company]# cd Share/

[root@TS-DEV Share]# chown hradmin.hradmin HR && chown fmadmin.fmadmin FM && chown tsadmin.tsadmin TS && chown proadmin.proadmin PRO && chown csadmin.csadmin CS && chown admin.admin Tools

[root@TS-DEV Share]# chmod 1775 HR FM TS PRO CS











f. 配置samba如下:


g. 测试


重启smb服务。

如果提示,“不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次”

解决:https://www.cnblogs.com/wuyou/p/3354455.html


net use * /del /y


以 hradmin登录系统


试图访问ts部门文件夹,要求输入用户名及密码


试图在\\10.0.0.163\Share\TS下新建文件

在自己部门所属文件夹下新建成功



其他测试自行完成。


配置完毕。


五、将共享目录映射成Windows的驱动器


将Samba共享的public目录,映射成 Windows 的一个驱动器盘符:


a. 右击“计算机”-->“映射网络驱动器”

b. 在文件夹栏输入共享地址及路径,点击“完成”输入用户名和密码

c. 映射完毕后,打开资源管理器可以看到映射的共享目录


Tips:


在windows下通过“\\ip地址”的方式访问其它文件资源时,一般第一次需要输入密码,以后就无需输入密码直接登陆了,那么如果我们要切换到其它Samba用户怎么办呢?可以在windows下执行如下指令实现:

首先通过开始-->运行-->cmd 输入:“net use”命令查看现有的连接,然后执行“net use \\Samba服务器IP地址或者netbios名称\ipc$ /del”,删除Samba服务器已经建立的连接。或者执行“net use * /del”将现在所有的连接全部删除。最后,再次执行“\\ip地址”时,就可以切换用户了。



六、Linux客户端访问操作


上面介绍了windows客户端访问Samba服务器的操作,那么在Linux作为客户端时,查看其它Linux Samba服务器共享的文件时,应该如何操作呢?


这就要用到smbclient这个工具,系统默认自带了这个命令,Smbclient常见用法介绍如下:


1、查看Samba服务器的共享资料


# smbclient –L //Samba服务器的ip地址 -U Samba用户名


“-L”即为list的含义,“-U”是user的意思,如果Samba服务器是无密码访问的话,可以省略“-U Samba用户名”。


例如:samba需要密码登陆时,查看共享方法如下:


# smbclient -L //10.0.0.163/public –U david

Samba无密码访问时,执行如下命令:


# smbclient -L //10.0.0.163/public



password: 直接回车即可。


2、登陆Samba服务器


如果需要在Linux客户端登陆Samba服务器,用法如下:


# smbclient //Samba服务器的ip地址 -U Samba用户名


请看下面执行的操作:


# smbclient //10.0.0.163/public -U david


smb: \> ? //在这里输入?即可查看在smb命令行可用的所有命令。



操作过程与登陆FTP服务器很类似,登陆Samba服务器后,就可以进行文件的上传与下载,如果有足够的权限,还可以进行修改文件操作。


此外,Samba服务器共享出来的文件还可以在Linux客户端进行挂载,这就要用到mount命令,如下所示:


# mount -t cifs -l //10.0.0.163/public /mnt/samba/






【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。