Différence entre uid effectif et UID?
Uid effectif n'est pas le même que UID. Dans ce contexte, ces deux sont utilisés dans le script?
J'ai essayé d'obtenir les valeurs par echo "UID is $UID and EUID is $EUID"
, mais seulement l'espace est venu en tant que sortie. Ma machine fonctionne Ubuntu 12.04 LTS. Vu sur certains sites que c'est généralement utilisé pour vérifier si c'est l'utilisateur root et tout, mais pas en mesure d'obtenir une différence.
lien pour savoir comment changer l'uid et le gid.
usermod -u <NEWUID> <LOGIN> groupmod -g <NEWGID> <GROUP> find / -user <OLDUID> -exec chown -h <NEWUID> {} \; find / -group <OLDGID> -exec chgrp -h <NEWGID> {} \; usermod -g <NEWGID> <LOGIN>
OriginalL'auteur Arun Chettoor | 2014-12-27
Vous devez vous connecter pour publier un commentaire.
Il ne fonctionne que sur le coup, pas de tiret (dans les distributions basées sur Debian comme Ubuntu sh est généralement un lien symbolique pour le tableau de bord).
Si vous exécutez le script de manière interactive vous pourriez ne pas avoir bash configuré en tant que votre shell par défaut, exécutez
bash
avant d'essayer.Si vous l'exécutez à partir de la console:
Si vous êtes en cours d'exécution à l'aide de son chemin d'accès (par exemple
./script.sh
) de veiller à la première ligne du script est:Et non pas:
Pour plus générique façon de le faire vérifier: https://askubuntu.com/questions/15853/how-can-a-script-check-if-its-being-run-as-root
Dans ce post la commande
id
est mentionné, où:OriginalL'auteur Fernando
Ils sont différents lors de l'exécution d'un programme set-uid. UID effectif est l'utilisateur que vous avez changé, le liquide est à l'utilisateur d'origine.
Je ne sais pas. Il fonctionne pour moi sur OS X bash 3.2.48 et Debian utilise bash 4.1.5.
Quand je suis en cours d'exécution à l'intérieur d'un script, il n'est pas à venir, mais quand je l'écris directement sur la coque!
Fonctionne pour moi dans les deux sens.
OK. Peut-être que je devrais obtenir un gars qui dirige Ubuntu 12.04 lts pour le vérifier!
OriginalL'auteur Barmar