首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许非根用户为其自己的文件更改组

问允许非根用户为其自己的文件更改组
EN

Unix & Linux用户
提问于 2019-04-10 10:37:36
回答 1查看 1.9K关注 0票数 2

我的服务器在家里使用rsync备份文件到我的VPS,但我有一个问题,为上传的文件设置组属性。因为rsync将数据上载到一个文件夹,该文件夹也可以从我的FTP用户访问,所以我需要他们拥有ftpgroup组,否则我无法通过FTP下载或修改文件。

我的rsync看起来如下:

代码语言:javascript
复制
rsync -rtuvz --chmod=770 --owner --group --chown=user:ftpgroup /var/ftp/user@home.domain.com/files/rsync_backup/ user@domain.com:"/var/ftp/user@domain.com/files/rsync_backup/"

使用rsync工具的--chown标志不会改变任何东西,文件总是有上传文件的用户组。

我尝试通过SSH设置组属性,但显然只有根用户可以使用chown和chgrp,但是我不想编辑sudoers文件并让用户完全访问chown,这显然是一个安全隐患。

是否有一种方法可以授予用户仅对他所拥有的文件更改组的权限?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-04-10 12:42:53

来自chown(2)

只有特权进程(Linux:具有CAP_CHOWN功能的进程)才能更改文件的所有者。文件的所有者可以将文件组更改为该所有者是其成员的任何组。

如果user不是组ftpgroup的一部分,则user不能更改为文件或目录的组为ftpgroup。要解决这个问题,可以通过运行以下操作将user添加到组ftpgroup中

代码语言:javascript
复制
usermod -a -G ftpgroup user

在服务器上作为root用户。

或者,如果期望/var/ftp/user@domain.com/files/rsync_backup/只包含组ftpgroup所拥有的文件,则可以将/var/ftp/user@domain.com/files/rsync_backup/的所有权更改为ftpgroup,并在目录上设置setgid位。

代码语言:javascript
复制
chown :ftpgroup /var/ftp/user@domain.com/files/rsync_backup/
chmod g+s /var/ftp/user@domain.com/files/rsync_backup/

目录上的setgid位导致该目录中所有新创建的文件都具有目录的组所有权,并且与目录相似,但也会设置目录上的setgid位。如果/var/ftp/user@domain.com/files/rsync_backup/中存在任何现有文件和目录,则必须手动更改所有权,并在目录上设置setgid位。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/511642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档