我在运行 Windows 7 Home Premium 的笔记本电脑上创建了一个用户(“backupagent”),并将该用户添加到管理员组,并使用随机生成的、难以猜测的密码。我的计划是通过 SMB 登录机器来备份笔记本电脑上的文件(实际上,BackupPC 正在执行此操作,但我似乎也无法让它与 smbclient 单独配合使用)。
我在笔记本电脑上设置了一个 Windows 共享(“cback”),共享整个 C:驱动器,并允许备份代理对共享拥有所有权限(“读取”/“修改”/“完全控制”)。
当我使用“smbclient”从 Linux 机器登录到计算机时,我可以访问大部分文件系统,但“C:\Users\UserName”文件夹下的文件除外,这些文件当然是需要备份的最重要的文件。当我尝试列出 C:\Users\UserName 中包含的任何目录中的文件时,我收到一条错误:
smb: \Users\UserName\Desktop\> ls
NT_STATUS_ACCESS_DENIED listing \Users\UserName\Desktop\*
为什么 backupagent(管理员组成员)无法访问这些文件?Windows 权限对我来说一直很困惑...
答案1
首先,无需在盒子上创建任何额外的共享。驱动器 c: 有一个管理共享 - \\hostname\c$。管理员组中的每个用户都可以访问它。
另一件事是,两种“类型”的权限与共享有关。第一种是“共享”本身。它只是谁可以访问共享以及谁可以连接到共享。另一种是 NTFS ACL。这些是安全配置的要点。可以在文件夹属性的“安全”选项卡上找到 NTFS 权限。因此,一般来说,您需要将每个人的共享权限设置为“完全控制”,并使用 NTFS ACL 逐个授予权限。
在您的特定情况下,您需要检查您尝试访问的文件和文件夹上的 NTFS ACL。