我在我的笔记本电脑上运行Arch Linux作为开发机器,我需要授予用户组RW权限到文件夹:/srv/http及其下的所有文件和文件夹。
我确保 ACL 已安装,然后将其添加到我的 fstab 中:
/dev/sda7 / ext4 rw,relatime,data=ordered,acl 0 1
Run Code Online (Sandbox Code Playgroud)
然后我运行了以下命令:
sudo setfacl -m group:users:rw- -R /srv/http
Run Code Online (Sandbox Code Playgroud)
它在我的台式机上工作正常,为什么在我的笔记本电脑上工作不一样?使用上面的 setfacl 命令后,用户甚至不再具有对文件或文件夹的读取访问权限。
当我像这样删除 ACL 记录时:
sudo setfacl -bR /srv/http
Run Code Online (Sandbox Code Playgroud)
在该命令之后,用户可以打开文件,但不能修改它们。
我在这里做错了什么吗?
这是“ls -l /srv/http”的输出
[shane@arch-mobile ~]$ ls -l /srv/http/
total 4
drwxr-xr-x 9 http http 4096 Aug 7 11:04 drupal7
Run Code Online (Sandbox Code Playgroud)
“zcat /proc/config.gz | grep -i acl”的输出:
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_ACL=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_CIFS_ACL=y
CONFIG_9P_FS_POSIX_ACL=y
Run Code Online (Sandbox Code Playgroud) 我在少数主机上备份 Hyper-V 时遇到了很大的问题。在由软件完成的备份过程中,一些机器变得不可用,主机开始死亡等。我们跟踪这不是软件本身而是文件复制。仅将文件从驱动器 D 复制到大小为 30GB 的驱动器 C 将在文件传输期间终止主机。文件复制前的 ram 使用量为 64GB 中的 48GB。当您开始传输 30GB 文件时,ram 的使用会发生变化,并且在 1 分钟内,64 个服务器中的 64 个开始爬行,甚至 RDP,物理访问停止工作,直到文件复制完成。因此,在备份期间,服务器可能需要数小时才能可用。
这是 DELL Server R515,RAID 控制器处于回写模式。我在其他 Windows 2012 服务器上注意到了这一点。我尝试使用一些旧的解决方案来禁用 2003 年的缓存,但没有一个有效。我已经在 IBM 和 Dell 服务器上对其进行了测试,行为非常相似。Ram 使用量上升。首先它以 700MB/s 的速度复制开始,然后在使用 ram 后它运行缓慢。所以问题是如何禁用文件缓存或将其限制为正常值。
请不要建议使用 robocopy 或其他“复制”工具,因为虽然它可以解决使用外部软件复制的问题,但我的问题实际上是关于由我没有影响的 3rd 方软件进行的备份。我希望“资源管理器”正常运行:-)
我有两个 VMWare ESXI 5 主机,我想将一个 2 TB 的 .vmdk 文件从一个移到另一个。我尝试通过 vSphere Client 下载文件,然后通过 vSphere Client 将其上传到其他主机,但似乎需要一周或更长时间!
我试过scpcommand,速度还不错,居然有30MB/s,但是过一会就不行了。
有什么方法可以将 2 TB 文件拆分为较小的文件,以便我可以更轻松地传输它?或者有没有更好的解决方案来转移它?
如何将 Windows Active Directory 的完整备份放入单个文件中,是否可以将此 AD 备份还原到另一台服务器?
由于连接问题,我现在无法使用 Active Directory 复制。
我正在http通过wget1.2TB下载一个大文件。下载大约需要一个星期,现在已经包含了两次损坏(md5 检查失败,它需要数天才能自行运行)。
有没有一种好方法可以使用 say 来通过 http 验证文件的零碎curl?或者将其分解为单独的块,以便我可以识别特定的坏块并仅重新下载该部分?
该文件是一个tar档案,所以我相信在解包过程中可以按顺序识别每个块的损坏。
按照这个答案,我想复制 OpenSSL 的配置,并进行一组特定的更改。原始文件不受我的控制,因此我无法将其设为模板。
目前我有:
- name: Make a copy
copy:
src: original.cnf
dest: copy.cnf
force: no
- name: Modify
ini_file:
path: copy.cnf
section: ...
option: ...
value: ...
Run Code Online (Sandbox Code Playgroud)
此更改序列是幂等的,但如果原始文件发生更改,则更改不会传播到副本。如果我将其更改为force: yes,则原始更改将被传播,但每次运行剧本时都会执行更改。这是有问题的,因为我需要在发生更改时重新启动依赖的服务,但显然这不能每次都发生。
有没有一种方法可以维护副本,以便当且仅当需要时才修改目标文件?
如何一次性输出所有按大小排序的文件/目录,包括隐藏的
\n(名称以点开头的文件/目录)?
目录的大小是指目录及其所有子目录树中所有文件大小的总和。
\n与如何按大小对输出进行排序的du -h区别?是我请求的输出包括当前目录 \xe2\x80\x93 中的所有文件和目录,无论是否隐藏。
例如,我想在两个不同的硬盘驱动器上保持大量音乐文件同步。执行此操作的最有效方法是什么?方法越自动化越好!
所以,在 CentOS 机器上,我不小心:w<Down>在vim编辑器中执行了“ <Down>”,实际上是按下键盘上的向下箭头键(在屏幕上呈现为“ <Down>”),现在我有一个名为“ <Down>”的文件,我看不到摆脱;运行“ rm <Down>”(字面意思是“小于、D、o、w、n、大于”)会出现语法错误。
我怎样才能摆脱这个名字时髦的文件?
在我们的一台服务器 (IBM AIX) 中,我们在路径 /data/1002/ 中有一个文件,我们无法使用“rm”命令删除或删除该文件。我们得到的错误信息是“rm:S1208001.002:路径名中的文件或目录不存在”。
使用“-f”选项,没有显示错误消息,但文件仍然存在。
该文件的字节大小为“0”,当我使用“touch S120801.002”命令时,我在该目录中看到两个文件名相同的文件。
目录列表如下:
$ ls -l total 56
-rwxrwxrwx 1 oracle dba 0 Feb 09 11:57 S1208001.002
drwxrwxrwx 4 nobody dba 24576 Feb 09 13:36 backup
Run Code Online (Sandbox Code Playgroud)
我如何删除这个虚假的 fie?
谢谢。
更新 1
使用touch命令后,目录列表如下:
$ ls -l total 56
-rwxrwxrwx 1 oracle dba 0 Feb 09 11:57 S1208001.002
-rwxrwxrwx 1 oracle dba 77790 Feb 09 14:30 S1208001.002
drwxrwxrwx 4 nobody dba 24576 Feb 09 13:36 backup
Run Code Online (Sandbox Code Playgroud)