Linux 文件权限未保留

Linux 文件权限未保留

我正在以 root 身份部署一些自定义软件(对于这种情况这是必要的)。

我预先在 shell 中将所有所有者/组设置为user1:user1并将所有文件设置为644,然后使用 ant 复制并部署。

但是,当文件从部署目录复制过来时,所有权将变回根目录,并且所有文件都具有666权限安装。

无论文件是被覆盖还是新建,似乎都会发生这种情况。我相信有一种方法可以在命令中设置一个选项cpmv保留权限,但这将需要更改很多命令。我该如何解决这个问题?

是否有一些设置我可以暂时更改为 root,以便安装始终保留文件权限?

答案1

cp -p将保留您的权限。如果您希望副本尽可能接近原样,则只需使用“存档”选项:cp -a。您可以从中cp --help仔细检查:

-a, --archive                same as -dR --preserve=all

-p                           same as --preserve=mode,ownership,timestamps
  --preserve[=ATTR_LIST]   preserve the specified attributes (default:
                             mode,ownership,timestamps), if possible
                             additional attributes: context, links, xattr,
                             all

答案2

不,但你应该使用install相反,它可以让您明确指定所有这些。

相关内容