无权限的共享文件夹看不到?

本文介绍如何通过Access-Based Enumeration实现仅让特定用户查看他们有权限访问的共享文件夹内容。例如,甲用户只能看到自己有权限的A1目录,而看不到同一共享下的其他目录。

目录共享权限设置|AccessBasedEnumeration。在文件服务器上共享一个目录A,A下有A1、A2、A3目录,甲用户拥有A1目录所有权限,乙用户拥有A2目录所有权限,丙用户拥有A3目录所有权限,各用户对于其他目录没有任何权限,如何设置,当甲双击A时只显示A1目录?或者A用户只看见A1而看不见A?这里用户是域用户,在别的机器登录

回答:根据我的研究,您可以通过使用Access-Based Enumeration来实现没有权限访问共享文件夹的用户,无法看到该共享文件夹的目的。具体的操作步骤如下:

1. 请到以下网站下载并安装Access-Based Enumeration,如果您的系统是Windows 2003 Server的话,确认更新了SP1补丁。您看到的文章源自活动目录seo http://gnaw0725.blogbus.com/c1404551/

Windows Server 2003 Access-based Enumeration
http://www.microsoft.com/downloads/details.aspx?FamilyId=04A563D9-78D9-4342-A485-B030AC442084&displaylang=en

2. 在安装完成后共享文件夹的"属性"里会多出一个"access-based enumeration "项,在共享文件夹A中包含A1,A2,A3,3个子文件夹, A1文件夹只有特定用户可以访问,并且设为完全共享。

3. 右击文件夹A1,然后"属性"——"安全"——高级——将“允许父项的继承权限传播到该对像和所有子对像。包括那些在此明确定义的项目(A)”前面的勾去掉,弹出一个对话框单击“复制”单击“应用”。

4. 回到属性对话框删除”USERS”用户,点击“确定”,完成的权限设置。

5. 右键点击shared文件夹——"属性"——“Enable access-based enumeration or this shared folder”,如果想把这个设置应用到计算机所有已共享的文件夹上请选择”Apply this folder’s setting to all existing shared folders on this computer”。

6. 在命令提示符下输入regsvr32 abeui.dll,注册一个ABEUI.DLL文件。

7. 您再从客户端访问共享文件夹,就会发现A1文件夹已经是无法看见了。

请注意:
1、ABE功能对本地管理员无效。
2、ABE改变了共享目录的访问方式,会增加服务器的CPU利用率并会降低访问速度。
3、只有已经共享的目录属性里才会出现ABE属性页。

在 Linux 系统中无法查看或访问共享文件夹的问题,通常与权限配置、挂载方式以及协议支持有关。以下是详细的解决方法和排查步骤: ### 检查网络连接 确保本地 Linux 系统与目标共享服务器处于同一局域网内,并且能够通过 IP 地址互相通信。可以通过 `ping` 命令测试连通性: ```bash ping <服务器IP> ``` ### 安装必要的客户端工具 对于 SMB/CIFS 协议(如 Windows 或 Samba 共享),需要安装 `cifs-utils` 和 `smbclient` 包: ```bash sudo apt install cifs-utils smbclient # Debian/Ubuntu 系列 sudo dnf install cifs-utils smbclient # Fedora/RHEL 系列 ``` 这些工具提供了对 SMB 协议的支持,并允许执行浏览和挂载操作[^4]。 ### 浏览可用的共享资源 使用 `smbclient` 命令可以列出远程主机上的共享目录: ```bash smbclient -L //<服务器IP> -N ``` 如果返回错误信息,比如 `NT_STATUS_RESOURCE_NAME_NOT_FOUND`,则可能是防火墙阻止了 SMB 协议通信或者服务未启动。请检查服务器端是否正确启用了 Samba 服务并开放了相应端口(通常是 TCP 445)。 ### 创建本地挂载点 创建一个本地目录作为共享文件夹的挂载点: ```bash mkdir /mnt/shared_folder ``` ### 挂载共享文件夹 使用 `mount.cifs` 将共享文件夹挂载到本地系统: ```bash sudo mount -t cifs //<服务器IP>/<共享文件夹名称> /mnt/shared_folder -o username=<用户名>,password=<密码> ``` 若希望实现开机自动挂载,可将该命令添加至 `/etc/fstab` 文件中,格式如下: ``` //<服务器IP>/<共享文件夹名称> /mnt/shared_folder cifs credentials=/path/to/credentials_file,iocharset=utf8,sec=ntlm 0 0 ``` 其中 `credentials` 参数指向包含用户名和密码的文本文件,以避免直接暴露敏感信息在配置文件中[^3]。 ### 解决权限问题 如果成功挂载但无法读取内容,则可能由于文件权限设置当导致。尝试调整挂载选项中的 `uid` 和 `gid` 参数来指定拥有者: ```bash sudo mount -t cifs //<服务器IP>/<共享文件夹名称> /mnt/shared_folder -o username=<用户名>,password=<密码>,uid=1000,gid=1000 ``` 这里 `uid=1000` 和 `gid=1000` 一般对应普通用户的 ID,具体数值可通过 `id` 命令查询获得。此外,还可以通过 `file_mode` 和 `dir_mode` 设置文件和目录的访问权限[^2]。 ### 防火墙与 SELinux/AppArmor 检查 Linux 系统的防火墙规则是否放行了 SMB 相关流量。对于使用 `firewalld` 的系统,执行以下命令启用 Samba 服务: ```bash sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload ``` 同时,若启用了 SELinux 或 AppArmor 安全模块,也需确认其策略会限制对挂载点的访问。必要时可临时禁用这些安全机制进行测试[^2]。 ### NFS 共享的处理方式 如果是基于 NFS 的共享,则应使用 `nfs-utils` 工具集,并通过 `mount` 命令挂载: ```bash sudo mount -t nfs <服务器IP>:<共享路径> /mnt/shared_folder ``` 同样地,可以在 `/etc/fstab` 中添加条目以便持久化挂载。需要注意的是,NFSv4 默认采用更严格的权限控制模型,建议在服务器端明确配置导出选项(如 `/etc/exports`),并在客户端同步更新配置后重新加载服务[^2]。 ### 调整 Deepin 系统特定权限 对于某些发行版如 Deepin,可能存在特殊的权限管理机制影响共享访问效果。此时应仔细审查挂载参数,并考虑使用 `noexec`, `nosuid`, `nodev` 等选项减少潜在冲突。另外,也可以尝试修改共享目录本身的 ACL 权限,确保所有用户具有适当的读写权限[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值