Windows登录linux samba服务器时提示“无法访问”,是什么原因?

Windows登录linux samba服务器时提示“无法访问”,是什么原因?,第1张

原因和解决方式如下:

可以登录samba服务器,但是没有权限访问linux下的共享目录

1、确保linux下防火墙关闭或者是开放共享目录权限 iptalbes -F

2、确保samba服务器配置文件smbconf设置没有问题,可网上查阅资料看配置办法

3、确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写 *** 作,即使你在smbconf中允许了这项 *** 作。

这两个命令必须执行:

iptables -F

setenforce 0:

补充说明:

1、Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享。资源。

2、应用功能:

由上面说明的 SAMBA 发展缘由,可以看出, SAMBA 最初发展的主要目就是要用来沟通Windows 与 Unix Like 这两个不同的作业平台。最大的好处就是不必让同样的一份数据放置在不同的地方,搞到后来都不晓得哪一份资料是最新的!而且也可以透过这样的一个档案系统让Linux 与 Windows 的档案传输变得更为简单!也就是说,可以透过『网络上的芳邻』来进行Linux 与 Windows 档案的传输。那么 SAMBA 可以进行哪些动作呢

①分享档案与打印机服务;

②提供使用者登入 SAMBA 主机时的身份认证,以提供不同身份者的个别数据;

③进行 Windows 网络上的主机名称解析 (NetBIOS name)

④进行装置的分享 ( 例如 Zip, CDROM )

几乎可以肯定每个人都听说过 SELinux (更准确的说,尝试关闭过),甚至某些过往的经验让您对 SELinux 产生了偏见。不过随着日益增长的 0-day 安全漏洞,或许现在是时候去了解下这个在 Linux 内核中已经有8年历史的强制性访问控制系统(MAC)了。
SELinux 与强制访问控制系统
SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。
强制访问控制系统的用途在于增强系统抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力。所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复。
举例来说,系统上的 Apache 被发现存在一个漏洞,使得某远程用户可以访问系统上的敏感文件(比如 /etc/passwd 来获得系统已存在用户),而修复该安全漏洞的 Apache 更新补丁尚未释出。此时 SELinux 可以起到弥补该漏洞的缓和方案。因为 /etc/passwd 不具有 Apache 的访问标签,所以 Apache 对于 /etc/passwd 的访问会被 SELinux 阻止。
相比其他强制性访问控制系统,SELinux 有如下优势:
●控制策略是可查询而非程序不可见的。
●可以热更改策略而无需重启或者停止服务。
●可以从进程初始化、继承和程序执行三个方面通过策略进行控制。
●控制范围覆盖文件系统、目录、文件、文件启动描述符、端口、消息接口和网络接口。
那么 SELinux 对于系统性能有什么样的影响呢根据 Phoronix 在 2009 年使用 Fedora 11 所做的横向比较来看,开启 SELinux 仅在少数情况下导致系统性能约 5% 的降低。
SELinux 是不是会十分影响一般桌面应用及程序开发呢原先是,因为 SELinux 的策略主要针对服务器环境。但随着 SELinux 8年来的广泛应用,目前 SELinux 策略在一般桌面及程序开发环境下依然可以同时满足安全性及便利性的要求。以刚刚发布的 Fedora 15 为例,笔者在搭建完整的娱乐(包含多款第三方原生 Linux 游戏及 Wine 游戏)及开发环境(Android SDK + Eclipse)过程中,只有 Wine 程序的首次运行时受到 SELinux 默认策略的阻拦,在图形化的“SELinux 故障排除程序”帮助下,点击一下按钮就解决了。
了解和配置 SELinux
1 获取当前 SELinux 运行状态
getenforce
可能返回结果有三种:Enforcing、Permissive 和 Disabled。Disabled 代表 SELinux 被禁用,Permissive 代表仅记录安全警告但不阻止可疑行为,Enforcing 代表记录警告且阻止可疑行为。
目前常见发行版中,RHEL 和 Fedora 默认设置为 Enforcing,其余的如 openSUSE 等为 Permissive。
2 改变 SELinux 运行状态
setenforce [ Enforcing | Permissive | 1 | 0 ]
该命令可以立刻改变 SELinux 运行状态,在 Enforcing 和 Permissive 之间切换,结果保持至关机。一个典型的用途是看看到底是不是 SELinux 导致某个服务或者程序无法运行。若是在 setenforce 0 之后服务或者程序依然无法运行,那么就可以肯定不是 SELinux 导致的。
若是想要永久变更系统 SELinux 运行环境,可以通过更改配置文件 /etc/sysconfig/selinux 实现。注意当从 Disabled 切换到 Permissive 或者 Enforcing 模式后需要重启计算机并为整个文件系统重新创建安全标签(touch /autorelabel && reboot)。
3 SELinux 运行策略
配置文件 /etc/sysconfig/selinux 还包含了 SELinux 运行策略的信息,通过改变变量 SELINUXTYPE 的值实现,该值有两种可能:targeted 代表仅针对预制的几种网络服务和访问请求使用 SELinux 保护,strict 代表所有网络服务和访问请求都要经过 SELinux。
RHEL 和 Fedora 默认设置为 targeted,包含了对几乎所有常见网络服务的 SELinux 策略配置,已经默认安装并且可以无需修改直接使用。
若是想自己编辑 SELinux 策略,也提供了命令行下的策略编辑器 seedit 以及 Eclipse 下的编辑插件 eclipse-slide 。
4 coreutils 工具的 SELinux 模式
常见的属于 coreutils 的工具如 ps、ls 等等,可以通过增加 Z 选项的方式获知 SELinux 方面的信息。

对于权限问题,比如防火墙,你先看看关了防火墙能不能访问,如果能那就添加防火墙规则,如果不能在看selinux,上面说的哪个地方其实是在/etc/selinux/conf里面,如果这是测试看是不是selinux在作怪,你可以直接设置selinux

致使很多服务端口默认是关闭的。所以好多服务初学者明明配置文件正确,等验证时有时连ping也ping不通。建议初学者在未学到SELlinux与iptables之前,配置服务器把这两项都关掉。那么怎么关呢?1、关闭iptables#service iptables stop2、关闭SELinux#vi /etc/selinux/config将文件中的SELINUX="" 为 disabled ,然后重启。

selinux呢是Linux中引用美国安全局搞的一种基于上下文安全机制,但是在实际工作中呢 好多人都是禁用的状态,当然这个也是建立在其他安全做的很 完善的条件上或者测试关键中。在Linux中查看SELinux的状态可以使用:
#getenforce 来进行查看
设置的话可以临时使用 setenforce 来进行设置。 setenforce 1 开启SELinux setenforce 0 关闭SELinux。
永久关闭SELinux只需要在/etc/selinux里面吧状态改为disabled就看可以了,永久关闭SELinux需要重启服务器哦。
Linux的学习就是要多学多练习,多思考,新人建议参考《Linux就该这样学》,加油吧,学习永不过时


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13434432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存