GNU/Linux >> Tutoriels Linux >  >> Linux

Comment empêcher un utilisateur non root de créer une entrée crontab

Il s'agit souvent d'une exigence dans les environnements de production pour désactiver les utilisateurs non root pour créer une entrée crontab. Il y a trois façons d'y parvenir :

1. Désactivez ssh de l'utilisateur non root sur le système, l'utilisateur non root ne pourra plus du tout utiliser le shell. Reportez-vous à ce message pour la procédure.

2. Ajoutez l'utilisateur dans le fichier /etc/cron.deny , chaque utilisateur par ligne (méthode typique qui n'affecte que les utilisateurs de la liste) :

# cat /etc/cron.deny 
johny

Remarque : Assurez-vous qu'il n'y a pas de conflit entre le fichier /etc/cron.allow et /etc/cron.deny.
Vérifiez l'utilisateur refusé en créant une entrée crontab :

$ crontab -e
You (johny) are not allowed to use this program (crontab)
See crontab(1) for more information

3. Abandonnez l'autorisation d'exécution de la commande crontab (approche agressive qui affecte tous les utilisateurs non root) :
Autorisations par défaut :

# ls -lrt /usr/bin/crontab 
-rwsr-xr-x 1 root root 57552 Apr 21  2015 /usr/bin/crontab

Modifier l'autorisation (supprimer le bit setuid) :

# chmod 700 /usr/bin/crontab
# ls -lrt /usr/bin/crontab
-rwx------ 1 root root 57552 Apr 21  2015 /usr/bin/crontab

Remarque :Assurez-vous d'avoir le fichier de sauvegarde avant de modifier son autorisation de fichier.
Après la mise à niveau du package, cette modification sera annulée par défaut.
Autorisation par défaut :

# stat /usr/bin/crontab
  File: ‘/usr/bin/crontab’
  Size: 57552     	Blocks: 120        IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 10751442    Links: 1
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-12 17:03:10.112443944 +0530
Modify: 2015-04-21 19:38:05.000000000 +0530
Change: 2016-03-14 14:03:30.347276747 +0530
 Birth: -

Vérifiez l'utilisateur refusé en créant une entrée crontab :

$ crontab -e
bash: /usr/bin/crontab: Permission denied


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Comment autoriser uniquement des utilisateurs spécifiques non root à utiliser crontab

  3. Comment empêcher un utilisateur non root de créer une entrée crontab sous Linux

  4. L'utilisateur ne peut pas modifier crontab, erreur :"/tmp/crontab.Lm34gsJV :autorisation refusée"

  5. Comment supprimer une entrée inutile dans /etc/shadow

Installer les binaires dans /bin, /sbin, /usr/bin et /usr/sbin, interactions avec --prefix et DESTDIR

Quelle est la différence entre #!/usr/bin/env bash et #!/usr/bin/bash ?

cmake --version pointe vers /usr/bin/cmake tandis que cmake pointe vers /usr/local/bin

Quelle est la signification de /usr/sbin, /usr/local/sbin et /usr/local/bin ?

Déplacement du contenu de /bin vers /usr/bin, possible d'annuler ?

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?