Maison > Article > Tutoriel système > Linux sudo Command Secrets : 10 conseils pour une productivité et une sécurité accrues
sudo est une commande très puissante et couramment utilisée dans les systèmes Linux. Elle permet aux utilisateurs ordinaires d'exécuter des commandes ou des programmes spécifiques en tant que superutilisateur (root). Cela empêche les utilisateurs de se connecter directement au compte root, améliorant ainsi la sécurité et la stabilité du système. Cependant, saviez-vous que la commande sudo possède de nombreuses fonctions et astuces cachées ? Cet article vous présentera 10 conseils pour configurer sudo sous Linux, afin que vous puissiez mieux utiliser les commandes sudo pour effectuer diverses tâches.
sudo permet à un utilisateur d'exécuter des commandes spécifiées par la politique de sécurité en tant que root (ou un autre utilisateur) : il lit et analyse les sudoers /etc, trouve l'utilisateur appelant et ses autorisations, puis demande à l'utilisateur appelant un mot de passe (généralement celui de l'utilisateur). mot de passe, mais il peut également s'agir du mot de passe de l'utilisateur cible, ou vous pouvez utiliser NOPASSWD pour annuler la vérification du mot de passe), après cela, sudo crée un sous-processus dans lequel setuid() est appelé pour passer ensuite à l'utilisateur cible, qui exécute un shell ou Le sous - processus ci - dessus La commande donnée comme argument dans .
Vous trouverez ci-dessous dix configurations de fichiers /etc/sudoers pour modifier le comportement de la commande sudo à l'aide des entrées par défaut.
sudo cat /etc/sudoers | less
C'est le chemin utilisé pour chaque commande exécutée à l'aide de sudo, il est important pour deux raisons :
Utilisé lorsque l'administrateur système ne fait pas confiance à l'utilisateur sudo pour disposer d'une variable d'environnement PATH sécurisée
Pour séparer le « chemin racine » et le « chemin utilisateur », seuls les utilisateurs définis par exempt_group ne sont pas affectés par ce paramètre.
Pour le définir, ajoutez la ligne :
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
2. Activez sudo lors de la session de connexion de l'utilisateur TTY
Pour activer les appels sudo depuis un vrai terminal, plutôt que via des méthodes telles que les scripts cron ou cgi-bin, ajoutez la ligne suivante :
Defaults requiretty
3. Exécutez la commande sudo en utilisant pty
Parfois, un attaquant peut utiliser sudo pour exécuter un programme malveillant (tel qu'un virus ou un logiciel malveillant), qui créera à nouveau un processus en arrière-plan qui reste sur l'appareil final de l'utilisateur, même une fois l'exécution du programme principal terminée.
Pour éviter cela, vous pouvez configurer sudo pour exécuter uniquement d'autres commandes de psuedo-pty à l'aide du paramètre use_pty, que le journal des E/S soit activé ou non, comme indiqué ci-dessous :
Defaults use_pty1
4. Créer un fichier journal Sudo
Par défaut, les journaux sudo se font via syslog(3). Cependant, pour spécifier un fichier journal personnalisé, utilisez le paramètre logfile comme :
Defaults logfile="/var/log/sudo.log"
Pour enregistrer le nom d'hôte et l'année à quatre chiffres dans un fichier journal personnalisé, utilisez respectivement les paramètres log_host et log_year comme suit :
Defaults log_host, log_year, logfile="/var/log/sudo.log"
5. Enregistrer l'entrée/sortie de la commande Sudo
Les paramètres log_input et log_output permettent à sudo d'exécuter des commandes dans un pseudo tty et d'enregistrer toutes les entrées utilisateur et toutes les sorties envoyées à l'écran.
Le répertoire des journaux d'E/S par défaut est /var/log/sudo-io, s'il existe un numéro de série de session, il est stocké dans ce répertoire. Vous pouvez spécifier un répertoire personnalisé via le paramètre iolog_dir.
Defaults log_input, log_output1
Prend en charge certaines séquences d'échappement, telles que %{seq}, qui se développent en un numéro de séquence en base 36 croissant de manière monotone, tel que 000001, où tous les deux chiffres sont utilisés pour former un nouveau répertoire, par exemple. 00/00/01, comme indiqué dans l'exemple suivant :
[root@linuxprobe ~]# cd /var/log/sudo-io/ [root@linuxprobe sudo-io]# ll total 8 drwx------ 3 root root 4096 Jan 12 18:58 00 -rw------- 1 root root 7 Jan 12 19:08 seq [root@linuxprobe sudo-io]# cd 00/00/06/ [root@linuxprobe 06]# ls log stderr stdin stdout timing ttyin ttyout [root@linuxprobe 06]# cat log 1484219333:root:root::/dev/pts/0 /root /bin/bash
6. Expliquez aux utilisateurs de Sudo
Pour enseigner à l'utilisateur sudo l'utilisation du mot de passe sur le système, utilisez le paramètre lecture comme indiqué ci-dessous.
Il a 3 valeurs possibles :
always – parlez toujours d’un seul utilisateur.
once – utilisé uniquement lorsque l'utilisateur exécute la commande sudo pour la première fois (utilisé lorsqu'aucune valeur n'est spécifiée)
jamais – N’éduquez jamais les utilisateurs.
Defaults lecture="always"
Vous pouvez également configurer un fichier de conférence personnalisé à l'aide du paramètre lecture_file, en tapant le message correspondant dans le fichier :
Defaults lecture_file="/path/to/file"
7. Afficher un message personnalisé lors de la saisie d'un mauvais mot de passe sudo
Lorsque l'utilisateur saisit un mauvais mot de passe, un message spécifique s'affichera sur la ligne de commande. Le message par défaut est "désolé, réessayez", vous pouvez modifier le message à l'aide du paramètre badpass_message comme suit :
Valeurs par défaut badpass_message=”Le mot de passe est erroné, veuillez réessayer, merci !”
8. Augmentez la limite de tentatives de mot de passe sudo
Le paramètre passwd_tries est utilisé pour spécifier le nombre de fois que l'utilisateur tente de saisir le mot de passe. La valeur par défaut est 3 :
Defaults passwd_tries=5
9. Laissez Sudo vous demander lors de la saisie d'un mauvais mot de passe
Defaults insults
10. En savoir plus sur la configuration Sudo
http://blog.csdn.net/wh211212/article/details/52923673
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!