Linux 如何解决crond(root)failed to authorize user with pam (moudle is unknown)
时间: 2024-02-11 22:04:28 浏览: 35
这个问题可能是由于PAM(Pluggable Authentication Modules)配置文件中缺少必要的模块导致的。以下是可能的解决方法:
1. 确认PAM配置文件中是否存在必要的模块,例如pam_unix.so。可以在/etc/pam.d/cron文件中添加以下行:
```
auth sufficient pam_unix.so
```
2. 如果上述方法不起作用,可以尝试更新PAM库。在Ubuntu中,可以使用以下命令更新PAM:
```
sudo apt-get install --reinstall libpam-modules libpam0g
```
3. 如果上述方法仍然不起作用,可以尝试重新安装cron服务或包。在Ubuntu中,可以使用以下命令重新安装cron:
```
sudo apt-get install --reinstall cron
```
注意,重新安装cron可能会删除您之前的cron作业,因此请备份您的cron作业以免遗失。
希望这些方法能够帮助您解决这个问题。
相关问题
pam_systemd(crond:session): Failed to create session: Operation not permitted
这个错误信息通常意味着 PAM 模块试图创建一个 Systemd 会话,但没有足够的权限来执行此操作。这可能是由于您没有足够的权限或者 SELinux 限制了您的操作所导致的。
您可以尝试以下步骤来解决这个问题:
1. 检查您是否有足够的权限来创建 Systemd 会话。您可以使用 sudo 命令来提升您的权限。
2. 检查 SELinux 是否启用,并确保 SELinux 策略允许您创建 Systemd 会话。您可以通过执行命令 "sestatus" 检查 SELinux 状态,并通过执行命令 "getenforce" 检查 SELinux 策略是否为 Enforcing。
3. 如果 SELinux 是启用的,并且 SELinux 策略阻止了您的操作,请尝试修改 SELinux 策略,以便允许您创建 Systemd 会话。您可以使用命令 "semanage permissive -a pam_tty_session_t" 来将 pam_tty_session_t 类型的 PAM 模块设置为宽容模式。
希望这些信息可以帮助您解决问题。如果问题仍然存在,请提供更多详细信息,我将尽力帮助您解决问题。
sudo service crond start Failed to start crond.service: Unit crond.service not found.
这个错误提示表示 crond 服务不存在或者未被安装。在大部分 Linux 发行版中,crond 是负责管理定时任务的服务,你可以通过以下命令来安装:
- CentOS/RHEL/Fedora:sudo yum install crontabs
- Debian/Ubuntu:sudo apt-get install cron
安装完成后,你可以使用以下命令来启动 crond 服务:
- CentOS/RHEL/Fedora:sudo systemctl start crond
- Debian/Ubuntu:sudo service cron start