Maison  >  Article  >  Tutoriel système  >  Analyse du code pour utiliser bash restreint pour créer un compte avec les autorisations spécifiées sous Linux

Analyse du code pour utiliser bash restreint pour créer un compte avec les autorisations spécifiées sous Linux

王林
王林avant
2023-12-31 14:43:301045parcourir

Cet article étudie principalement le contenu associé à la création de comptes avec des autorisations spécifiées via bash restreint sous Linux. L'introduction spécifique est la suivante.

Dans le cadre de l'exploitation et de la maintenance quotidiennes d'une entreprise, parfois afin de coopérer à la résolution de problèmes, il est nécessaire d'ouvrir des comptes système pour le personnel non opérationnel et de maintenance afin d'interroger les journaux ou les codes. Habituellement, dans un but de sécurité du système ou pour éviter une utilisation abusive inutile, les autorisations de compte seront réduites au minimum. Ce qui suit est une introduction à l'enregistrement de l'opération de création d'un compte avec des autorisations spécifiées via bash restreint sous Linux :

[root@mq-server ~]# ln -s /bin/bash/bin/rbash
[root@mq-server ~]# useradd -s /bin/rbash wangshibo
[root@mq-server ~]# passwd wangshibo
[root@mq-server ~]# mkdir /home/wangshibo/bin
[root@mq-server ~]# chown root. /home/wangshibo/.bash_profile
[root@mq-server ~]# chmod 755 /home/wangshibo/.bash_profile
[root@mq-server ~]# vim /home/wangshibo/.bash_profile //复制下面的内容覆盖原内容
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$HOME/bin

export PATH<br data-filtered="filtered">
[root@mq-server ~]# ln -s /bin/cat /home/wangshibo/bin/cat
[root@mq-server ~]# ll /home/wangshibo/
total 4
drwxr-xr-x 2 root root 4096 Nov 25 23:38 bin
[root@mq-server ~]# ll /home/wangshibo/bin/
total 0
lrwxrwxrwx 1 root root 8 Nov 25 23:12 cat -> /bin/cat

Après les paramètres ci-dessus, vous pouvez constater que les autorisations de fichiers dans le répertoire personnel de l'utilisateur wangshibo créé sont root.root. Seule l'autorisation cat de l'utilisateur wangshibo est définie ci-dessus, et seul cat peut afficher les fichiers dans le répertoire personnel de l'utilisateur wangshibo . /home/wangshibo . Sauf la commande cat. Aucune autre commande ne peut être exécutée !

[wangshibo@mq-server ~]$ cat /var/log/messages
cat: /var/log/messages: Permission denied
[wangshibo@mq-server ~]$ ls
-rbash: /home/wangshibo/bin/ls: No such file or directory
[wangshibo@mq-server ~]$ touch test
-rbash: /home/wangshibo/bin/touch: No such file or directory

Si vous souhaitez avoir les droits d'exécution d'autres commandes dans son répertoire personnel, vous devez ajouter les liens symboliques de ces commandes au répertoire /home/wangshibo/bin (vous pouvez afficher le chemin complet de la commande binaire via la commande which)

[root@mq-server ~]# ln -s /bin/ls /home/wangshibo/bin
[root@mq-server ~]# ln -s /bin/touch /home/wangshibo/bin
[root@mq-server ~]# ln -s /bin/mkdir /home/wangshibo/bin
[root@mq-server ~]# ln -s /usr/bin/vim /home/wangshibo/bin/
[root@mq-server ~]# ll /home/wangshibo/bin/
total 0
lrwxrwxrwx 1 root root8 Nov 25 23:12 cat -> /bin/cat
lrwxrwxrwx 1 root root7 Nov 25 23:44 ls -> /bin/ls
lrwxrwxrwx 1 root root 10 Nov 25 23:45 mkdir -> /bin/mkdir
lrwxrwxrwx 1 root root 10 Nov 25 23:44 touch -> /bin/touch
lrwxrwxrwx 1 root root 12 Nov 25 23:45 vim -> /usr/bin/vim

De cette façon, l'utilisateur wangshibo aura les droits d'exécution des commandes ajoutées ci-dessus

[root@mq-server ~]# su - wangshibo
[wangshibo@mq-server ~]$ ls
bin
[wangshibo@mq-server ~]$ touch test
[wangshibo@mq-server ~]$ mkdir ops
[wangshibo@mq-server ~]$ vim test
[wangshibo@mq-server ~]$ cat test
dsfdsafsadf
[wangshibo@mq-server ~]$ rm -f test
-rbash: rm: command not found
[wangshibo@mq-server ~]$ ls /usr/
binetcgamesincludeliblib64libexeclocalsbinsharesrctmp
[wangshibo@mq-server ~]$ cat /var/log/messages
cat: /var/log/messages: Permission denied

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer