Il est très courant d'utiliser des scripts sur les systèmes Linux. Cependant, en raison de la nature ouverte du code de script, les scripts sont parfois modifiés, copiés et diffusés de manière malveillante. Pour ce faire, nous avons besoin d'un moyen de sécuriser notre code de script. SHC est un outil de chiffrement très pratique qui peut nous aider à chiffrer les scripts shell et à protéger la sécurité du code.
Comment chiffrer un script shell dans un environnement Linux ? Le script shell contient le mot de passe et vous ne voulez pas que quelqu'un d'autre disposant des autorisations d'exécution puisse afficher le script shell et obtenir le mot de passe. Vous pouvez installer et utiliser l'outil shc. Les utilisateurs ordinaires ne peuvent pas lire le script shell crypté créé par shc. SHC fait référence à : Shell Script Compiler (Shell Script Compiler).
Environnement
Centos8
Installer shc
[root@localhost ~]# yum -y install shc
Créer un script shell
Créez un fichier de script ci-dessous :
[root@localhost ~]# vim welcome.sh #!/bin/sh echo "Welcome to linux world"
Utilisez shc pour crypter le fichier de script
Comme indiqué ci-dessous, utilisez shc pour crypter le script Welcome.sh.
[root@localhost scripts]# shc -v -f welcome.sh shc shll=sh shc [-i]=-c shc [-x]=exec '%s' "$@" shc [-l]= shc opts= shc: cc welcome.sh.x.c -o welcome.sh.x shc: strip welcome.sh.x shc: chmod ug=rwx,o=rx welcome.sh.x
Vous pouvez utiliser la commande file
pour afficher le type de fichier :
[root@localhost scripts]# file welcome.sh welcome.sh: POSIX shell script, ASCII text executable [root@localhost scripts]# file welcome.sh.x welcome.sh.x: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86- 64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=35e0e2569eca90774e379d6fef51ad6fedf346f5, s tripped [root@localhost scripts]# file welcome.sh.x.c welcome.sh.x.c: C source, ASCII text [root@localhost scripts]#
Exécuter un script shell crypté
Maintenant, exécutons le script shell chiffré et assurons-nous qu'il s'exécute :
[root@localhost scripts]# ./welcome.sh.x Welcome to linux world
Spécifiez l'heure d'expiration du script Shell
Avec shc, vous pouvez également préciser la date d'expiration. c'est-à-dire qu'après cette date d'expiration, lorsque quelqu'un essaie d'exécuter le script shell, il recevra un message d'erreur. Créez un nouveau script shell chiffré à l'aide de l'option shc -e
, en spécifiant la date d'expiration. La date d'expiration est spécifiée au format jj/mm/aaaa.
# 删除之前创建的.x , .x.c文件 [root@localhost scripts]# rm -rf welcome.sh.x* # 创建带有过期时间的加密脚本 [root@localhost scripts]# shc -e 01/02/2021 -v -f welcome.sh shc shll=sh shc [-i]=-c shc [-x]=exec '%s' "$@" shc [-l]= shc opts= shc: cc welcome.sh.x.c -o welcome.sh.x shc: strip welcome.sh.x shc: chmod ug=rwx,o=rx welcome.sh.x
Dans cet exemple, si quelqu'un tente d'exécuter le fichier de script Welcome.sh.x, il vous indiquera qu'il a expiré.
[root@localhost scripts]# ./welcome.sh.x ./welcome.sh.x: has expired! Please contact your provider jahidulhamid@yahoo.com
Si vous souhaitez spécifier un message d'expiration personnalisé, vous devez ajouter l'option -m
.
[root@localhost scripts]# shc -e 01/02/2021 -m "Please contact admin@example.com!" -v -f welcome.sh shc shll=sh shc [-i]=-c shc [-x]=exec '%s' "$@" shc [-l]= shc opts= shc: cc welcome.sh.x.c -o welcome.sh.x shc: strip welcome.sh.x shc: chmod ug=rwx,o=rx welcome.sh.x
À l'aide de l'outil SHC, vous pouvez facilement crypter les scripts Shell, protégeant ainsi efficacement la sécurité des scripts. Cet article explique comment utiliser l'outil SHC pour chiffrer les scripts shell à l'aide d'exemples et fournit également des méthodes pour résoudre certains problèmes courants. J'espère que cet article pourra fournir aux rédacteurs de scripts Shell une méthode de protection efficace pour rendre le code de script plus sûr et plus fiable.
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!