我们有一个包含模式、表、序列等的模板数据库。我们从中创建一个新数据库,并将新数据库的所有权提供给用户(作为此工作流的一部分创建的新用户)。新用户仍然缺乏从现有表中选择数据的权限。哪种方法最好?PG 版本是 16.3。新用户不需要获得除新创建的数据库之外的任何数据库的权限,但应该拥有在新数据库上执行几乎任何操作的权限。
我无法让 DoveCot 在多个域和用户中的一个域上运行。其他所有工作都完美。当尝试连接到该用户的邮箱时,我收到服务器错误“发生内部错误”。并在系统邮件日志中发现以下消息:
4 月 14 日 08:57:30 服务器 dovecot[902917]:imap(@<domain.com>)<908694>:错误:chdir(/home/<unix_user>/imap/<domain.com>//) 失败:权限被拒绝(euid = 1004(somename)egid = 12(邮件)缺少+ x perm:/ home / <unix_user>,我们不在组1001(访问)中,目录由1007:1001模式= 0710拥有)
我使用 DirectAdmin 创建了 Unix 用户、域和邮箱。
我已经尝试过 $ sh /usr/local/directadmin/scripts/set_permissions.sh all (以 root 身份运行)但无济于事。我将所有邮件相关文件(/home/<unix_user>/imap/... 和 /etc/virtual/...)的所有权限与一切正常的另一个用户进行了比较。那里没有发现任何差异。
我使用的是 Almalinux 8.9 和 DirectAdmin 1.661。
有什么建议我应该如何找到这个原因?
Dovecot 的 ACL 插件指令表明,对于全局 acl,我们应该创建一个 acl 文件/etc/dovecot/.
并在其中包含访问控制列表项。所以我创建/etc/dovecot/global-acls
并包含了...
inbox.Archive owner lrwstipeka
inbox.Drafts owner lrwstipeka
inbox.Sent owner lrwstipeka
inbox.Junk owner lrwstipeka
inbox.Trash owner lrwstipeka
...这应该可以防止用户删除这些系统文件夹。
然后从插件加载该文件/etc/dovecot/conf.d/90-acl.conf
...
protocol imap {
mail_plugins = $mail_plugins acl imap_acl
}
plugin {
acl = vfile:/etc/dovecot/global-acls:cache_secs=300
}
plugin {
acl_shared_dict = file:/path/to/mailbox/root/shared-mailboxes
}
我遇到的问题是我的系统日志中出现以下错误,表明该文件存在权限问题(或者可能是stat()
,我不确定)。
Error: acl vfile: stat(/etc/dovecot/global-acls) failed: Permission denied
Fatal: acl: backend vfile init failed with data: /etc/dovecot/global-acls:cache_secs=300
drw-rw----. 3 vmail dovecot 4096 Jan 26 13:37 .
drwxr-xr-x. 126 root root 12288 Jan 26 16:52 ..
drw-rw----. 2 vmail dovecot 4096 Jan 25 15:46 conf.d
-rw-rw----. 1 vmail dovecot 535 Jan 26 20:17 dovecot.conf
-rw-rw----. 1 vmail dovecot 257 Jan 26 13:35 global-acls
如您所见,权限设置与/etc/dovecot
. 我已经搜索了几个小时的相关错误,但我不知所措。
有什么建议么?
我正在使用两个 2016 DC 运行 Windows Active Directory 域。有关域和我的 GPO 策略的所有内容都运行正常。但是,当我打开组策略管理,然后在 OU 中选择链接的 GPO,然后选择“委派”选项卡时,我会看到“访问被拒绝”模式对话框。如果我在“组策略对象”容器中选择一个 GPO,我会立即看到“访问被拒绝”模式对话框。
我属于哪个组(管理员、域管理员、企业管理员)似乎并不重要,而且我已经检查了 SYSVOL 中的策略权限,对我来说似乎没有任何问题。到目前为止,这只是一个麻烦,但我想知道原因是什么以及如何解决它。
我还注意到其他一些细节:
- 策略详细信息的范围选项卡上的 WMI 筛选部分丢失。
- 策略详细信息的“范围”选项卡的“安全过滤”部分中没有列出任何用户。
我登录到成员服务器或域控制器,然后 gpmc 正常运行(没有委派访问被拒绝消息,显示 WMI 过滤,安全过滤已填充其用户)
我通过注册表项启用了组策略管理日志记录,并将好系统和坏系统的日志输出进行了比较。很明显,我的工作站被拒绝访问,但没有明确的原因说明为什么会出现这种情况。
坏的:
[127c.2f4] 11/07/2023 09:32:33:087 [VERBOSE] CEffectivePermissionsTable::Load(): Loading from cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CSecurityUtility::GetDSSecurityDescriptorDacl(): GetNamedSecurityInfo for LDAP://MyDC1.myname.mydomain.com/cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CGPOPermissionsTable::GetSecurityDescriptors(): GetDSSecurityDescriptorDacl failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CEffectivePermissionsTable::Load(): GetSecurityDescriptors failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CGPMSecurityInfo::Load(): Load failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:107 [VERBOSE] CGPMGPO::GetSecurityInfo(): Loading for GPO cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com
[127c.2f4] 11/07/2023 09:32:33:107 [WARNING] CGPMGPO::GetSecurityInfo(): Load failed with 0x80070005.
好的:
[192c.528] 11/07/2023 03:57:42:427 [VERBOSE] CEffectivePermissionsTable::Load(): Loading from cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com.
[192c.528] 11/07/2023 03:57:42:443 [VERBOSE] CEffectivePermissionsTable::GetOrAddEntry: Entry already found for S-1-5-11
[192c.528] 11/07/2023 03:57:42:443 [VERBOSE] CGPMSecurityInfo::Load(): Dumping permissions table.
[192c.528] 11/07/2023 03:57:42:443 [VERBOSE] ==========BEGIN EFFECTIVE PERMISSIONS LIST DUMP==========
...dumps ACLS.....
在看到日志中的访问被拒绝消息时,我在工作站上使用 ldp.exe 作为我的用户绑定,它也能够毫无问题地查询和检索 ACL。
此外,我的工作站中的 Get-GPPermission 也会返回访问被拒绝的信息,但在成员服务器或 DC 上则不会。
我在实验室的服务器上安装了 NFS,该服务器导出两个磁盘,/disk1 和 /disk2,我可以使用以下命令成功查看导出的驱动器:
showmount -e 192.168.1.245
我还可以安装驱动器:
mount 192.168.1.245:/disk1 /disk1
这为我在本地计算机(也是 NetBSD 9.3)/disk1 上提供了一个已安装的驱动器
但是,我无法添加、删除或修改文件,我得到:
touch: notes.txt: Permission denied
用于挂载点的本地文件夹由用户 user(非 root)拥有,服务器上 /disk1 和 /disk2 的挂载点也由名为 user(非 root)的用户拥有,相同的组和 uid, 1000和100。
这是我的 /etc/exports 文件:
/data1 -alldirs -mapall=1000:100 -network 192.168.1.245 -mask 255.255.255.0
/data2 -alldirs -mapall=1000:100 -network 192.168.1.245 -mask 255.255.255.0
我已经尝试以 root 身份安装,无论是在本地还是在服务器上,我也尝试了与用户相同的操作,似乎没有任何帮助,非常感谢任何帮助!
更新 我不知道是什么修复了它,但现在一切正常,我尝试卸载驱动器并再次安装,重新启动服务器等。一切仍然有效,相同的 /etc/exports 文件,没有更改,相同的用户和权限。
我正在管理一个 RedHat 服务器,用户使用基于私钥/公钥的身份验证通过 SSH 登录。
我想防止他们意外更改/删除/chmoding 〜/.ssh文件夹的内容。他们中的一些人已经递归地 777-chmod 了他们自己的整个主文件夹,因为“这样更容易与同事共享文件”,这就是搬起石头砸自己的脚。
知道我该如何实现这一目标吗?最好有标准的Linux权限系统。
我在 Debian 12(书虫)之上使用 proxmox。
作为 root 用户,我将目录“/data”的所有者设置为 berdux:berdux,甚至将权限设置为 777。
然后,我使用 mergefs 将 4 个磁盘挂载到此文件夹(用户 berdux 再次拥有对这些 ZFS 挂载的完全访问和权限)。
mergerfs -o cache.files=partial,dropcacheonclose=true,category.create=mfs /D2TBa/2TBa:/D2TBb/2TBb:/D4TBa/4TBa:/D4TBb/4TBb /data
然后我更改为用户 berdux (su berdux),并且失去了对所述文件夹的访问权限。
我从根目录使用 ls -l 看到的内容:
drwxrwxrwx 3 berdux berdux 3 Sep 14 10:56 data
然后使用用户 berdux 的 ls -l :
d????????? ? ? ? ? ? data
我尝试使用 sudo 从用户 berdux 运行 mergefs 命令,并尝试将其放在 fstab 上(并且我已重新启动几次),但没有任何变化。
我还想与 samba 共享此文件夹,但当用户无权访问它时这是不可能的。
执行所有用户“个人”文件到 OneDrive 的迁移,我对这一切都很陌生。
我的小型组织正在迁移到 SharePoint 和 OneDrive,我们的用户未在 On Premise AD 和 AzureAD/365 之间同步。
非常简单,使用 SharePoint 迁移工具,使用具有 FS 共享读取权限的管理员帐户和具有目标访问权限的 Microsoft 帐户,并使用源和目标设置 CSV。
问题, 文件夹重定向 GPO 具有以下设置:
- 授予用户专有权。此设置默认启用,是推荐设置。此设置指定管理员和其他用户无权访问此文件夹。
没有管理员权限,对目标文件。SharePoint 迁移工具需要对源的读权限和对迁移目标的读/写权限。
所以我们有类似于:
\fileserver\users\user1\Documents \fileserver\users\user2\Documents
管理员完全控制在 \user1\ 之后结束,超出此范围的任何内容都需要取得所有权 ...
现在我最初的想法是递归地获取所有权,迁移到 OneDrive 并完成它,我的“老板”观点是应该有一种用户登录方式。
运行完全空白...
主要是为我没有预料到的问题寻找想法、替代方案或警告。
如果不能这样做,就不能这样做......
在文件服务器上,基本文件夹包含用户的文件夹:
此基本文件夹受到保护,不受用户操作(删除、重命名、文件转储等)的影响,用户只能读取和遍历它:
为了保护每个用户的根文件夹,我明确拒绝他们删除自己的文件夹的权利:
这意味着deny
在每个文件夹上添加一个。
在基本文件夹上执行此操作不起作用:deny
对组Users
到delete
子文件夹,因为This foler only
--> 他们仍然可以删除自己的文件夹,因为继承权限(拒绝删除)的优先级低于显式权限(允许修改)。
使用我的方法,用户仍然可以隐藏自己的根文件夹。这不是问题,但它表明该文件夹没有 100% 防止操作。
- 我使用“规范”方法吗?
- 如何防止用户隐藏自己的文件夹?或者任何其他烦人的事情
- 有什么建议么?
我希望特定用户递归更改特定目录的所有内容的所有者和组,并且仅更改该目录。目录是一种“收件箱”,服务在其中写入文件和子目录。
目前,我有一个管理员sudo chown
,但我希望目标所有者自己做,而不需要该用户拥有更多权限。假设原所有者是“headsman”,最终所有者应该是“audience”。两个用户都不在同一个组中。
sudo chown -R audience:watchers /usr/files/pathofdir
不太对,因为我不希望观众有无限的权限使用 chown。我的第一个猜测是尝试在 /usr/bin/chown 和 /usr/bin/chgrp 的许可下向 /etc/sudoers 添加“受众”。但这太权威了。
我想专门为观众编写一个脚本,但我不知道如何使该脚本具有正确的权限,仅此而已。
有什么好方法可以做到这一点?