GNU/Linux >> Znalost Linux >  >> Linux

chyba crontab:"Vy (uživatel) nemáte povolen přístup k (crontab) kvůli konfiguraci pam."

Problém

crontab -l příkaz selže s následující chybou.

# crontab -l
You (user) are not allowed to access to (crontab) because of pam configuration.

Níže uvidíte protokoly v souboru protokolu cron /var/log/cron :

Sep 19 11:01:01 geeklab crond[125479]: (user) PAM ERROR (Permission denied)
Sep 19 11:01:01 geeklab crond[125479]: (user) FAILED to authorize user with PAM (Permission denied)
Sep 19 11:01:26 geeklab crontab[125631]: (user) PAM ERROR (Permission denied)

Soubor protokolu /var/log/secure bude mít níže uvedené chyby:

Sep 19 11:01:26 geeklab crontab: pam_access(crond:account): access denied for user `root' from `cron'
Sep 19 11:01:26 geeklab crontab: pam_unix(crond:account): expired password for user root (password aged)

Řešení

Tato chyba může mít 2 důvody:
1. Heslo uživatele s vypršenou platností
2. uživatel nemá povolen přístup ke cronu v /etc/security/access.conf soubor.

Zkontrolujte, zda uživatelské heslo vypršelo

1. Nejprve zkontrolujte vypršení platnosti hesla uživatele pomocí změny příkaz.

# chage -l user
Last password change                                    : Jul 19, 2017
Password expires                                        : Sep 02, 2017        ### password has expired
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 45
Number of days of warning before password expires       : 7

Z výše uvedeného výstupu můžeme říci, že platnost hesla vypršela 2. září 2017. Příkaz Crontab selže, pokud je spuštěn jako uživatel, jehož platnost hesla vypršela. PAM nedovolí spustit cronjob jako uživatel, pokud vypršela platnost hesla tohoto uživatele.

2. Pokud platnost hesla vypršela, bude nutné pro uživatele nastavit nové heslo, aby mohl uživatel spouštět cronjobs. Chcete-li nastavit heslo pro uživatele, spusťte následující příkaz jako root:

# passwd user

3. Můžete také nastavit heslo tak, aby pro daného uživatele nikdy nevypršelo, pokud je to ve vašem prostředí povoleno.

CentOS / RHEL :Jak nakonfigurovat uživatelský účet, aby nikdy nevypršela platnost

Povolit uživateli přístup k prostředku cron v souboru /etc/security/access.conf

1. Dalším problémem může být, že uživatel nemá povoleno používat cron zdroje v /etc/security/access.conf soubor. V takovém případě můžete povolit uživateli přístup cronu přidáním pod řádek v souboru /etc/security/access.conf. Obvykle je tento řádek ve výchozím nastavení hašován.

# vi /etc/security/access.conf
# User "root" should be allowed to get access via cron .. tty5 tty6.
+ : user : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6

2. Zkontrolujte také všechny položky, kde je uživateli odepřen přístup k použití cronu. V takovém případě musíte položku odstranit ze souboru /etc/security/access.conf. Příklad záznamu pro odepření přístupu cronu uživateli může být následující:

# vi /etc/security/access.conf
# Deny all other users access by any means.
-: ALL : ALL

nebo

# vi /etc/security/access.conf
# deny user "user" access to cron
- : user : cron crond :0

Ověřit

Pokud jste použili některé z výše uvedených řešení, můžete spustit příkaz crontab -l nebo crontab -e jako uživatel k ověření přístupu cronu.


Linux
  1. Proč nejsou v Unixu/linuxu povoleny pevné odkazy na adresáře?

  2. Nelze smazat soubor nebo složku (přístup odepřen), protože soubory jsou používány nebo uzamčeny

  3. Uživatel nemůže upravit crontab, chyba:„/tmp/crontab.Lm34gsJV:Permission denied“

  1. CHYBA 1045 (28000):Přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:ANO)

  2. Přístup odepřen konkrétnímu uživateli konfigurací účtu PAM

  3. Povolit linuxovému root uživateli mysql root přístup bez hesla

  1. Načítání veřejného klíče není povoleno – chyba WSO2 MySQL

  2. apt error:Nelze provést okamžitou konfiguraci na

  3. Chyba instalace CUDA 9.1:nemá soubor version.txt! Ujistěte se, že instalujete do existujícího adresáře sady nástrojů