Linux 如何解决crond(root)failed to authorize user with pam (moudle is unknown)
时间: 2024-02-11 16:04:28 浏览: 140
这个问题可能是由于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作业以免遗失。
希望这些方法能够帮助您解决这个问题。
相关问题
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
pam_systemd(crond:session): Failed to create session
这个错误通常表示 crond 无法在系统上创建新的会话。有几种可能的原因:
1. 没有足够的系统资源分配给 crond,比如内存或文件句柄等。
2. crond 进程缺少必要的权限来创建新的会话。
3. 系统中存在一些与 crond 进程相关的配置问题或者其他的问题。
你可以尝试以下解决方法:
1. 检查系统资源是否充足,尤其是内存和文件句柄。可以使用 top 命令查看系统资源使用情况,也可以使用 ulimit 命令检查系统资源限制。
2. 检查 crond 进程的运行用户和权限。确保该用户拥有创建新会话的权限。
3. 检查 crond 相关的配置文件是否正确,并且没有被其他进程占用或修改。可以尝试重启 crond 服务,以及检查日志文件中是否有其他错误信息。
如果以上方法都无法解决问题,你可以尝试重新安装或升级 crond 进程,或者将问题报告给系统管理员或开发者进行进一步排查和处理。
阅读全文