首页 文章

允许用户在没有sudo访问权限的情况下连接SSH?

提问于
浏览
0

以下是我要做的事情:在Google Compute Engine上设置一个备份服务器,我公司的员工可以通过rdiffbackup每晚备份他们的计算机 . 一个cron作业将运行rdiffbackup,它使用SSH发送文件就像SCP一样 .

使用“普通”服务器,我可以为每个员工创建一个新用户,并设置权限,以便他们无法读取其他员工的文件 .

看起来像使用“gcloud compute ssh”工具,或使用“gcloud compute config-ssh”配置常规ssh,只允许用户连接添加到项目中的人并将他们的计算机连接到他们的谷歌帐户 . 我的问题是,我没有看到用户在服务器上具有读写能力而不是sudoer的方法(据我所知,添加到具有“Can Edit”的项目的任何人都可以获得sudo) . 显然,如果他们有sudo,他们可以阅读别人的文件 .

我可以在没有sudo的情况下让某人能够远程SSH吗?谢谢 .

2 回答

  • 3

    我建议一起避免使用gcloud . gcloud的SSH工具旨在轻松管理项目中不断变化的一组机器 . 它不是为了涵盖所有也使用SSH的用例 .

    相反,我建议您像普通服务器一样设置备份服务:

    • 分配一个静态地址

    • (可选)指定dns名称

    • 使用adduser在框中设置用户

  • 0

    你有几个选择

    1)您可以像在任何普通Linux机器上一样管理实例上的非root用户,方法是使用标准命令(如“adduser”而不是gsutil / UI / metadata更新路径)手动添加它们 .

    2)或者,如果您需要管理大型计算机集群,则可以禁用Google提供的整个ACL管理,并为此运行您自己的LDAP服务器 . 负责帐户更新并需要禁用才能运行的文件是https://github.com/GoogleCloudPlatform/compute-image-packages/blob/master/google-daemon/etc/init/google-accounts-manager-service.conf

    3)最后,您可以锁定对root用户的写访问权限,即 . 通过在sudoers文件'chattr i / etc / sudoers'上设置不可变标志来禁用从元数据服务器传播的写入 . 它不是一个优雅的解决方案,但有效 . 这样您就可以锁定已添加用户的Root,并且任何新用户都将被添加为非root权限,但任何新的根级别用户都需要逐机手动添加 .

相关问题