samba文件共享服务配置过程_文件服务器硬件要求

samba文件共享服务配置过程_文件服务器硬件要求一、共享需求:建立公共目录public,开启匿名用户访问权限,所有人均可读写(方便但不安全) 建立public文件,只有@admin组和admin、job用户可以进行读写,其余用户均不可以访问。要求:admin用户不能删除job用户创建的文件,反之亦然。 建立hr共享文件,要求用户名和密码验证访问,只有@hr组和hr1,job的用户可以进行访问。要求:@hr组和hr1具有完全控制的权限,job用户只有读取的权限。 建立eng共享文件,除了@eng组和eng1的用户可以访问,其他人均不可以访问,也

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、共享需求:

  1. 建立公共目录public,开启匿名用户访问权限,所有人均可读写(方便但不安全)
  2. 建立public文件, 只有@admin组和admin、job用户可以进行读写,其余用户均不可以访问。要求:admin用户不能删除job用户创建的文件,反之亦然。
  3. 建立hr共享文件,要求用户名和密码验证访问,只有@hr组和hr1,job的用户可以进行访问。要求@hr组和hr1具有完全控制的权限,job用户只有读取的权限。
  4. 建立eng共享文件,除了@eng组和eng1的用户可以访问,其他人均不可以访问,也不可以修改。
  5. 建立 act共享文件,只有@act和act1、admin可以访问和读写。要求:除了act1和act组及admin外的其他都不可见。

二、添加系统本地用户

(创建不能用于系统登录的系统帐户和不带家目录的用户)

useradd –M –s /sbin/nologin admin hr1 act1 eng1

useradd job

三、为用户设置密码(均改为123456)

passwd admin

passwd hr1

passwd act1

passwd eng1

passwd job

四、创建组,并将用户加入到其中

4.1 创建组

   groupadd hr

   groupadd act

   groupadd eng

   groupadd user

4.2 将用户加入组

[root@localhost ~]# gpasswd -a act1 act

Adding user act1 to group act

[root@localhost ~]# gpasswd -a hr1 hr

Adding user hr1 to group hr

[root@localhost ~]# gpasswd -a eng1 eng

Adding user eng1 to group eng

4.3 查看用户uid、组id和从属组id

[root@localhost ~]# id eng1

uid=1002(eng1) gid=1002(eng1) groups=1002(eng1),1028(eng)

[root@localhost ~]# id hr1

uid=1001(hr1) gid=1001(hr1) groups=1001(hr1),1027(hr)

[root@localhost ~]# id act1

uid=1004(act1) gid=1005(act1) groups=1005(act1),1006(act)

五、添加samba用户(必须是系统本地用户)

5.1 smbpasswd(pdbedit也可以创建)   

#与刚刚创建的系统用户密码不一样,此处的用户密码为访问samba共享服务的密码

smbpasswd常用参数:

smbpasswd –a 用户   #添加用户

smbpasswd –x 用户   #删除用户

smbpasswd –d 用户   #禁止用户

smbpasswd –e 用户.   #启用用户

samba文件共享服务配置过程_文件服务器硬件要求

5.2 pdbedit –L     #查看samba用户列表

[root@localhost ~]# pdbedit -L

admin:1000:

eng1:1002:

job:1003:

hr1:1001:

act1:1004:

六、创建共享文件夹

mkdir 文件名

mkdir –p 文件名          #-p表示批量建立多个文件夹

mkdir –p /opt/{act,eng,hr,public}

#使用命令ls查询在/目录下创建的文件夹

samba文件共享服务配置过程_文件服务器硬件要求

七、配置文件夹本地权限

7.1 ll查看文件夹的权限和所有者及附加组

说明:d表示目录,rwxrwxrwx表示所有者(u)、所属组(g)和其他用户(o),第一个root为所有者,第二个root为组,最后一个为文件目录

samba文件共享服务配置过程_文件服务器硬件要求

7.2使用chown配置文件夹所有者和附加组

[root@localhost ~]# chown eng1.eng /opt/eng

[root@localhost ~]# chown act1.act /opt/act

[root@localhost ~]# chown hr1.hr /opt/hr

7.3用chmod 配置本地文件夹权限均为777(实际中要根据实际需求进行设置)

chmod –R 777 /opt/hr

chmod –R 777 / opt/public

chmod –R 777 / opt/eng

chmod –R 777 / opt/act

7.4特殊权限 o+t(案例2中使用)

需求:为了保证个人共享文件不被其他用户删除,这里使用O+T对public权限进行限定,即每个共享用户尽管都有读写的权限,但是只能删除本身创建的文件或目录,不能删除其他户的文件,同时设置管理员admin对该共享文件夹进行删除(不受控制)

7.4.1设置Sticky位权限

[root@localhost ~]# chmod 1777 /opt/public

[root@localhost ~]# chmod o+t /opt/public

7.4.2为了让管理员admin对该共享文件夹有完全控制权限,将public的所有者和组设置为admin

    [root@localhost ~]# chown admin.admin /opt/public

  

八、关闭Filewalld和SElinux

(为了测试方便进行,生产环境中应根据实情况操作)

8.1临时关闭firewalld

samba文件共享服务配置过程_文件服务器硬件要求

8.2在firewalld中放行samba服务(主要是放开samba所需要的端口139/445,137/138)

[root@localhost ~]# firewall-cmd –zone=public –add-port=139/tcp –permanent

success

[root@localhost ~]# firewall-cmd –zone=public –add-port=445/tcp –permanent

success

[root@localhost ~]# firewall-cmd –zone=public –add-port=137/udp –permanent

success

[root@localhost ~]# firewall-cmd –zone=public –add-port=138/udp –permanent

success          

[root@localhost ~]# firewall-cmd –reload

success

[root@localhost ~]# systemctl restart firewalld.service

[root@localhost ~]# systemctl is-active firewalld.service

active

8.3 SELinux安全策略中允许对samba访问(可选择此项1)

使用getsebool命令查询SELinux中的配置,如getsebool -a | grep samba

samba文件共享服务配置过程_文件服务器硬件要求

修改允许SELinux中对Samba服务访问

setsebool –P samba_enable_home_dirs=on 

setsebool –P samba_export_all_rw=on

samba文件共享服务配置过程_文件服务器硬件要求

8.4永久关闭SELINUX(可选择此项2)

vim /etc/sysconfig/selinuxSELINUX=enforcing 改为SELINUX=disabled

samba文件共享服务配置过程_文件服务器硬件要求

查看SELinux中的samba服务状态

getsebool –a | grep samba

samba文件共享服务配置过程_文件服务器硬件要求

查看Samba服务端口

执行netstat –nutlp |grep smb查看smb服务端口是否开启

samba文件共享服务配置过程_文件服务器硬件要求

九、修改samba配置文件

注:修改配置文件前先备份一份!

使用命令:cp smb.conf smb.conf.bak

samba文件共享服务配置过程_文件服务器硬件要求

samba的配置文件保存在/etc/samba下,名称为smb.conf。使用vi /etc/samba/smb.conf或vim /etc/samba/smb.conf打开samba的配置文件。(注:vim命令需要手动安装)

vim视图:

samba文件共享服务配置过程_文件服务器硬件要求

vi视图:

samba文件共享服务配置过程_文件服务器硬件要求

注:如果要允许匿名用户访问,需在global下添加一条命令,如下:

 [global]

        workgroup = SAMBA

        security = user

        map to guest = bad user    #添加这一条,表示允许匿名用户访问

十、Linux客户端游客访问测试

smbclient –L //192.168.147.147/opt/public   #以匿名用户访问的方式,验证免密登陆,如显示下图表示成功。

samba文件共享服务配置过程_文件服务器硬件要求

smbclient –L //192.168.147.147/opt/public –U job   #以用户名和密码访问的方式,验证用户登陆,如显示下图表示成功。

samba文件共享服务配置过程_文件服务器硬件要求



十一、Windows客户端的共享访问配置

案例1

建立public公共共享目录,所有人均可以访问和读写操作

1.1 配置文件:

 [public]

       comment = Public Folder     #描述共享,便于管理工作

        path = /opt/public        #指定要共享目录的路径

        browseable = yes       #是否可见,yes

        writeable = yes           #是否可写,yes

        guest ok = yes           #是否开启匿名访问,yes

1.2 客户端登录访问

samba文件共享服务配置过程_文件服务器硬件要求

户使用免密码登录后,在public中创建的文件123,所有者和所附属组均为nobody

samba文件共享服务配置过程_文件服务器硬件要求

注:经测试,匿名用户可以删除其他匿名用户创建的文件,因为在samba中匿名用户默认是nobdy,初始组也是nobody。但是不能删除其他非nobody用户创建的文件,如上图的1,2和3文件夹。

案例2

public共享目录之前是允许所有人访问,并且每个人都可以修改。从信息安全的角度来说这是不合理的。现在将public的免密访问改为用户名和密码验证使用,只允许@admin,admin和job用户可以进行读写操作,其他人没有访问权限。同时用户admin和job创建的文件夹及文件,只有所有者才能删除,用户只能删除自己创建的文件或文件夹,但不可删除其他人创建的文件或文件夹,尽管都有修改的权限。

2.1、配置文件

[public]

        comment = Public Folder           #描述共享,便于管理工作

        path = /opt/public        #指定要共享目录的路径

        browseable = yes       #是否可见,yes

        writeable = no          #是否可写,no

        valid users = @admin,admin,job          #能访问这个目录的用户有这些,其他禁止

        write list = @admin,admin,job              #接上面的,这里表示能修改的用户只有这几个

        ;guest ok = yes                                     #将匿名访问功能注释掉,表示不启用

2.2、修改public权限为1777,添加stick位权限

[root@localhost ~]# chmod -R 1777 /opt/public

进入/opt目录,ll查看,本地文件的权限变成了drwxrwxrwt,这个t(小写t生效)表示就是sticks权限,是针对文件目录设置的一种特殊权限。

samba文件共享服务配置过程_文件服务器硬件要求

2.3、用户访问测试

打开“运行”窗口,输入\\192.168.147.147,双击打开public文件目录,提示要输入用户名和密码验证。这里输入\job(在Windows有域环境下,\表示用户名登录)和密码,点确定登录。

samba文件共享服务配置过程_文件服务器硬件要求

删除admin用户创建的文件夹admin时,提示“你需要权限来执行操作”。

samba文件共享服务配置过程_文件服务器硬件要求

job用户再创建一个job111文件目录,同时在目录下创建多个文本文件。

samba文件共享服务配置过程_文件服务器硬件要求然后客户端切换admin用户登录

注:如果没有出现此对话框,请按WIN+R打开运行窗口,输入net use \\IP地址或计算机名称  /del,清除网络访问的缓存。

samba文件共享服务配置过程_文件服务器硬件要求

试图删除job111文件夹,提示“需要来自LOCALHOST\job的权限才能对此文件夹进行更改”。

samba文件共享服务配置过程_文件服务器硬件要求

samba文件共享服务配置过程_文件服务器硬件要求

案例3

为了安全起见,需要将财务部门的共享进行隐藏,所有访问均不可见。只有@act和act1用户可以访问和修改。

3.1 编辑配置文件,添加下面:

[act]

        comment = Act Files             #描述共享,便于管理工作         

        path = /opt/act          #指定要共享目录的路径

        browseable = no       #是否可见,no

        ;guest ok = yes         #注释掉匿名访问

        writeable = yes          #是否可写,yes

        valid users = @act,act1  #能访问这个目录的用户有这些,其他禁止

        write list = @act,act1     #接上面的,这里表示能修改的用户只有这几个

3.2重启samba服务

[root@localhost~]#systemctl restart smb

3.3 由于开启了访问访问,所以隐藏的文件是看不到的,必须是完整路径进行访问 :

samba文件共享服务配置过程_文件服务器硬件要求

输入用户名和密码登录

samba文件共享服务配置过程_文件服务器硬件要求

3.4 新建一个act文件夹

samba文件共享服务配置过程_文件服务器硬件要求

3.5 进入/opt/act目录,ll查看act1用户创建了一个文件夹act

samba文件共享服务配置过程_文件服务器硬件要求

案例4

建立hr共享文件,要求用户名和密码验证访问,只有@hr组和hr1,job的用户可以进行访问。其中@hr组和hr1具有完全控制的权限,job用户只有读取的权限。

4.1 编辑配置文件,添加下面:

[hr]

        comment = HR Share            #描述共享,便于管理工作 

        path = /opt/hr          #指定要共享目录的路径

        browseable = yes       #是否可见,yes

        ;guest ok = yes

        writeable = no        #是否可写,no

        write list = @hr,hr1     #可以写入的用户和组(@组)

        read list = job    #只能读取的用户

        valid users = @hr,hr1,job    #有效用户,除此列表之外的用户禁止

4.2重启samba服务

samba文件共享服务配置过程_文件服务器硬件要求

4.3 用户hr1登录

samba文件共享服务配置过程_文件服务器硬件要求

创建二个文件夹

samba文件共享服务配置过程_文件服务器硬件要求

4.4用户job登录

samba文件共享服务配置过程_文件服务器硬件要求

无法新建文件,显示“您需要权限来执行此操作”

samba文件共享服务配置过程_文件服务器硬件要求

案例5

禁止局域网某个主机访问samba共享

配置文件如下:

[public]

        comment = Public Folder

        path = /opt/public

        browseable = yes

        writeable = no

        valid users = @admin,admin,job

        write list = @admin,admin,job

        ;hosts deny = 192.168.147. except 192.168.147.1      #禁止192.168.147.0的网段访问除了192.168.147.1主机

           hosts deny = 192.168.147.1         #禁止192.168.147.1主机访问

        ;hosts allow = 192.168.147. except 192.168.147.2      #允许192.168.147.0的网段访问除了192。168.147.2主机

        ;hosts deny = 192.168.147.      

 ;hosts allow = 192.168.147.1      #拒绝192.168.147.0的网段访问,但允许192.168.147.1主机可以访问,deny和allow同时存在时,allow优先。

samba文件共享服务配置过程_文件服务器硬件要求

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189966.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • MySQL——事务(Transaction)详解

    MySQL——事务(Transaction)详解该博客详解MySQL中的事务一、事务定义Transaction事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同…

  • Python 进制转换函数及前缀截取

    Python 进制转换函数及前缀截取“人生苦短,我用Python”,强大的Python肯定也自己内置的进制转换函数。十进制转其他进制:10进制数s:a=bin(s)//十进制转2进制b=oct(s)//十进制转8进制c=hex(s)//十进制转16进制其他进制转成10进制:s:转换的字符串r:要转换的进制位数2,6,18int(s,r)…

  • Linux 运行jar包命令[通俗易懂]

    Linux 运行jar包命令[通俗易懂]方式一:java-jarshareniu.jar特点:当前ssh窗口被锁定,可按CTRL+C打断程序运行,或直接关闭窗口,程序退出那如何让窗口不锁定?方式二java-jarshareniu.jar&&代表在后台运行。特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。继续改进,如何让窗口关闭时,程序仍然运行?方式三nohupj…

    2022年10月30日
  • 图片介质受写入保护_写入保护

    图片介质受写入保护_写入保护最近使用U盘,突然不能正常使用了,在U盘内新建文件夹,提示“介质受写入保护”无法创建文件,赶紧网上查找解决办法。查找的结果比解释比较全面的就是:方法一:格式化我的电脑(右击)-管理-磁盘管理-选中U盘右键删除后格式化(网上的方法,这招肯定能用,但是适用于没有重要数据的前提下,格式化后之前的数据会全部丢失)方法二:修改注册表1、打开注册表win+R(即开始-运行)键入regedit.exe2、进入如…

    2022年10月26日
  • 史上最简单MySQL教程详解(基础篇)之多表联合查询

    史上最简单MySQL教程详解(基础篇)之多表联合查询常用术语表连接的方式数据准备student表college表内连接外连接左外连接右外连接注意事项:自连接子查询在上篇文章史上最简单MySQL教程详解(基础篇)之数据库设计范式及应用举例我们介绍过,在关系型数据库中,我们通常为了减少数据的冗余量将对数据表进行规范,将数据分割到不同的表中。当我们需要将这些数据重新合成一条时,就需要用到我们介绍来将…

  • HttpDNS介绍

    HttpDNS介绍

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号