docker部署rsync,同步文件权限问题

使用docker部署的rsync,但同步回来的文件全部都是744权限,想要改变同步回来的文件权限,先进入docker容器:

docker exec -it eef57f304dcf /bin/bash

修改根目录下的entrypoint.sh文件,在

[data]
    uid = root
    gid = root

下方添加两行权限代码:

incoming chmod = Dug=rwx,Do=rw,Fug=rw,Fo=rw
outgoing chmod = Du=rwx,Dog=rw,Fg=rw,Fog=rw

如图所示:

docker部署rsync,同步文件权限问题_第1张图片

其中incoming chmod配置的是传入文件的权限,outgoing chmod是配置传出文件和目录的权限。

incoming chmod:

Dug=rwx,Do=rx: 这里 D 表示传输的是目录(directory),ug 表示所有者和组,o 表示其他用户。

Dug=rwx 表示传入的目录将被设置为 rwx 权限,即读、写和执行权限,这是目录所有者(Owner)和组(Group)的权限。
Do=rx 表示传入的目录将被设置为 rx 权限,即读和执行权限,这是其他用户(Others)的权限。
这些权限掩码用于设置传入的目录的权限,确保传入的目录具有指定的权限。

outgoing chmod:

Du=rwx,Dog=x: 这里 D 表示传输的是目录(directory),u 表示所有者,g 表示组,o 表示其他用户。

Du=rwx 表示传出的目录将被设置为 rwx 权限,即读、写和执行权限,这是目录所有者(Owner)的权限。
Dog=x 表示传出的目录将被设置为 x 权限,即执行权限,这是目录组(Group)的权限。
Fg=rw,Fog=r: 这里 F 表示传输的是文件(file),g 表示组,Fg=rw 表示传出的文件将被设置为 rw 权限,即读和写权限,这是文件组的权限。

Fog=r 表示传出的文件将被设置为 r 权限,即读权限,这是其他用户(Others)的权限。

这些权限掩码用于设置传出的目录和文件的权限,确保传出的目录和文件具有指定的权限。

注意:如果没效果,那么记着把这两句代码也加到/etc/rsyncd.conf文件中。

退出容器,然后重启docker

docker restart srs-rsync

参考:rsync 同步文件如何指定属主属组和权限_广州建站小戴BOTAO博客 (yii666.com) 

你可能感兴趣的:(docker,容器,运维)