为 chrooted 用户配置 cron 作业

为 chrooted 用户配置 cron 作业

我在 CentOS 7 上配置了 chrooted SSH 用户。将 /proc、/dev、/dev/pts 挂载到用户并安装了所需的软件包。现在我想允许此用户执行 cron 作业。我该如何解决这个任务?

服务器:

[root@localhost admin]# grep sftpuser /etc/passwd
sftpuser:x:1004:1003::/chrooted/dir:/bin/bash
[root@localhost admin]# id -a sftpuser
uid=1004(sftpuser) gid=1003(sftpuser) groups=1003(sftpuser),50(ftp)

[root@localhost admin]# uname -a
Linux localhost.localdomain 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

在 /etc/ssh/sshd_config 中:

...
Subsystem       sftp    internal-sftp
Match Group sftpuser
        ChrootDirectory %h
        AllowTcpForwarding no
        X11Forwarding no
...

客户:

-bash-4.2$ crontab -e
You (sftpuser) are not allowed to use this program (crontab)

答案1

您是否尝试过将用户放入 /etc/cron.allow 文件中(如果它不存在,请自行创建)?

http://www.madirish.net/294

答案2

您可以添加一个 cron 脚本供用户运行。它不会按预期工作,因为您无法使用选项crontab(天/小时...)运行它,但无论如何这可能会有所帮助:

* * * * * root /usr/sbin/chroot --userspec=user /chrooted/dir your_user_cron.sh

相关内容