我们在同一个域中有两台机器:机器 A (Windows 2003) 和机器 B (Windows 2003)。两者都有一组相同的文件,并且已通过预定进程保持相同。然而,机器 A 现在离线(即,不在网络上,但我仍然可以物理访问机器),我们意识到 ACL 并不相同。
在机器 A 离线的情况下复制 ACL 的最优雅方法是什么?
windows active-directory access-control-list file-permissions
我有一个临时站点,它是 git 存储库的工作目录。如何设置 git 让开发人员在不更改修改文件组的情况下拉出分支或发布?
一个例子。假设我有两个开发人员,robin 和 david。他们都在 git-users 组中,所以最初他们都可以在 site.php 上拥有写权限。
-rw-rw-r-- 1 robin git-users 46068 Nov 16 12:12 site.php
drwxrwxr-x 8 robin git-users 4096 Nov 16 14:11 .git
Run Code Online (Sandbox Code Playgroud)
在 robin-server1$ git pull origin master 之后:
-rw-rw-r-- 1 robin robin 46068 Nov 16 12:35 site.php
drwxrwxr-x 8 robin git-users 4096 Nov 16 14:11 .git
Run Code Online (Sandbox Code Playgroud)
而且david对site.php没有写权限,因为组从'git-users'变成了'robin'。从现在开始,当 david 尝试拉取到此存储库时,他将获得权限被拒绝。
在现代 Linux 发行版中,我希望在其下创建的文件/path/to/files具有默认的mygroup. 在某些发行版上,这似乎可以通过 grpid 来完成,而这在 Ubuntu 上不存在。实现此目的的标准方法是什么?
例如,我有一个组Department A。在其他用户中,我有一个名为Boss的用户。我想创建一个只能由Boss更改的文件,并且对该组中的其他用户只读。
我知道组级别的拒绝覆盖允许用户级别,所以我不能只使用共享/ntfs 权限来做我需要的事情。
在这里,我看到两种解决方案:
有什么优雅的解决方案吗?
PS:操作系统是Windows 2003 Server
我想允许 RDP 用户访问他们的配置文件文件夹,但不能访问服务器上的其他内容。理想情况下,我想在除用户配置文件位置之外的所有磁盘上禁用读取/列出文件/写入。这可能吗?
windows permissions remote-desktop file-permissions windows-server-2012
我正在使用 Maven Assembly 插件将我的应用程序与配置/设置文件捆绑在一起。它允许指定与文件一起存储的权限,这非常方便。
我仍然没有找到确认,即 ZIP 存档能够存储 UNIX 权限。是吗?(如果您回答是或否,请张贴一些证据)。
在 Linux 系统上,我有一个文件要保留以防(甚至是意外)删除。
即使root用户无法删除,如何创建文件?
例如,通过尝试:
# touch file
# chmod 000 file
# chown <somebody>:<somebody> file
# rm file
Run Code Online (Sandbox Code Playgroud)
root 用户可以删除文件(通过最后一个命令)。
如何避免 root 用户(甚至是临时的)删除文件?
我有一个具有 ssl-cert 读取权限的目录:
root@yellowstone:~/certs# ls -lah
total 28K
drwxr-x--- 2 root ssl-cert 4.0K Oct 23 16:58 .
drwx------ 7 root root 4.0K Oct 23 17:20 ..
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate1.crt
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate2.crt
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate3.crt
-rw-r----- 1 root ssl-cert 3.2K Oct 23 16:58 privatekey.key
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate4.crt
Run Code Online (Sandbox Code Playgroud)
我在 ssl-cert 组中有一个用户:
root@yellowstone:~/certs# id prosody
uid=116(prosody) gid=124(prosody) groups=124(prosody),115(ssl-cert) …Run Code Online (Sandbox Code Playgroud) 我有一个执行一些专用任务的 CentOS 服务器,其中不同的进程/用户需要完全访问彼此的文件。由于这些文件本质上是临时文件,因此它们存储在/tmp目录中。
该/tmp目录默认设置了粘滞位。所以对于我的场景,我禁用了粘滞位,否则进程/用户 B 无法删除进程/用户 A 创建的文件 - 它应该能够做到这一点,因为 A 仅提供 B 并且只有在 B 完成后,文件可以删除。
chmod -t /tmp
到现在为止还挺好!但是,每次我重新启动机器时,它都会自动再次设置粘滞位,我再次将其删除。
我一直在考虑为这些文件创建另一个目录,但这对我来说似乎没有必要,因为正如我所说,服务器执行一些专用任务,即。除了 A 和 B 做他们的工作之外,没有太多事情要做。
但是我可以通过什么方式去除粘性位并让它持久存在?如果不能完成,chmod那怎么办?
我的问题是关于在以特定用户身份访问文件时出现“权限被拒绝”错误时的一般故障排除,这里是一个具体示例,我可以在其中使用一些额外的帮助:
作为用户“builder”,我的主目录中有一个文件夹“repo”,它属于“builders”组。它目前是这样写的:
$ pwd
/home/builder/repo
$ ls -la
total 4
drwxr-sr-x 2 builder builders 20 Jun 9 02:28 .
drwxr--r-- 4 builder builder 123 Jun 7 23:36 ..
-rw-rw-r-- 1 builder builders 5 Jun 9 02:18 status
Run Code Online (Sandbox Code Playgroud)
因此,我可以看到“builders”组中的每个人都应该能够访问该“状态”文件。应该注意的是,作为“构建器”用户,我可以阅读它,文件没有损坏和可读,即cat /home/builder/repo/status返回其内容。
但是,由于某种原因,我无法以另一个用户身份访问它 - 'ec2-user' 恰好在 builders 组中:
$ whoami
ec2-user
$ groups
ec2-user adm wheel systemd-journal docker builders
$ ls -la /home/builder/repo/status
ls: cannot access /home/builder/repo/status: Permission denied
$ cat /home/builder/repo/status
cat: /home/builder/repo/status: Permission denied
Run Code Online (Sandbox Code Playgroud)
我显然遗漏了一些东西,但我仍然试图回答为什么属于同一组的用户无法访问该文件。还有什么可以告诉我我需要做什么(例如作为超级用户或所有者)来正确授予对目录/文件的组访问权限 - 或者只是找出为什么读取权限对某些用户不起作用?我为自己找到的唯一答案就是仔细检查所有权信息和访问控制位,但在上面的示例中,一切看起来都不错。
file-permissions ×10
permissions ×6
linux ×5
windows ×2
bash ×1
centos ×1
compression ×1
git ×1
root ×1