我使用的是 RHEL 6.5,并且有一个自动安装的外部 USB 驱动器。在安装的文件系统中创建的所有文件都被赋予目录权限 700 和文件权限 777。chmod 命令不会更改权限。
我想使用 rsync 将文件备份到驱动器,但我不想丢失我的权限设置。我使用“rsync -avh”进行的试验保留了时间戳以及用户和组设置,但没有保留权限。
在哪里可以控制这样的驱动器?我怎样才能关闭这种强制设置?
答案1
这完全取决于您在外部驱动器上使用的文件系统。既然您提到权限更改操作不起作用,那么您很可能使用的是 NTFS 或 FAT32。
tar
由于您想要进行备份,对不同文件系统进行备份的最佳方法是使用类似或类似的工具创建存档。它们具有用于保留权限等的命令开关。
关于 NTFS/FAT32 文件系统的权限:虽然您无法控制单个文件或目录的权限,但您可以指定使用dmask
、fmask
和umask
选项挂载驱动器时将使用的权限:
uid
设置所有文件的所有者用户gid
设置所有文件的所有者组dmask
控制目录的权限fmask
控制文件的权限umask
控制不存在的权限的位掩码(默认为当前进程的 umask)
这些可以放入命令中/etc/fstab
或作为参数添加到mount
命令中-o
:
$ mount -o uid=1000,gid=1000,dmask=027,fmask=137 /dev/sdXY /mnt
如果您想将其放入/etc/fstab
,则必须将其放在下面options
(第 4 列):
$ cat /etc/fstab
/dev/sdXY /mnt ntfs uid=1000,gid=1000,dmask=027,fmask=137 0 0