j'ai pris l'habitude de faire ça :
[ "$SUDO_USER" -a `id -u` -eq 0 ] || {
echo "Please run via sudo."
exit 1
}
echo "OK you are a SUDO_USER!"
# le script continue
je ne comprends pas bien le test :
$SUDO_USER" -a `id -u` -eq 0
parce que, si je lance le script via sudo,
id -u est à 0
si NON lancé par sudo
id -u est à 501
donc, qu'est-ce que fait "$SUDO_USER" -a là-dedans ???
en fait je voudrais une structure if then else fi
car je ferai des choses en + si le script est lancé par sudo, donc j'ai
écrit :
if [[ `id -u` -eq 0 ]]; then
echo "sudoer"
# faire ce qu'il y a à faire en tant que sudoer
else
echo "NOT sudoer"
# faire ce qu'il y a à faire en tant qu'user
fi
là dessus le "$SUDO_USER" -a " a disparu, d'où ma question...
--
« Tel n'a de chaleur pour ses amis, que pour les brûler. »
(Proverbe arabe)
Pour faire quoi ? Pourquoi veux-tu tester si ton script a été lancé avec sudo, et par opposition à quoi ?
comme simple utilisateur, les pems des fichiers enregistrés ne sont pas les mêmes.
si le script a été lancé par sudo, je dois faire un : chown yt:staff sur certains fichiers, sinon ils sont root:root
-- « Tel n'a de chaleur pour ses amis, que pour les brûler. » (Proverbe arabe)
Fabien LE LEZ
On Mon, 30 Jan 2012 23:27:24 +0100, (Une Bévue):
si le script a été lancé par sudo, je dois faire un : chown yt:staff sur certains fichiers, sinon ils sont root:root
J'ai l'impression que tu n'as pas besoin de savoir si sudo est intervenu ou pas. Ce que tu veux savoir, c'est si l'utilisateur est root ou pas. Ce qui est assez différent.
On Mon, 30 Jan 2012 23:27:24 +0100, unbewusst.sein@fai.invalid (Une
Bévue):
si le script a été lancé par sudo, je dois faire un :
chown yt:staff sur certains fichiers, sinon ils sont root:root
J'ai l'impression que tu n'as pas besoin de savoir si sudo est
intervenu ou pas. Ce que tu veux savoir, c'est si l'utilisateur est
root ou pas. Ce qui est assez différent.
si le script a été lancé par sudo, je dois faire un : chown yt:staff sur certains fichiers, sinon ils sont root:root
J'ai l'impression que tu n'as pas besoin de savoir si sudo est intervenu ou pas. Ce que tu veux savoir, c'est si l'utilisateur est root ou pas. Ce qui est assez différent.
Tanguy Briançon
Bonjour,
J'ai mon pc perso qui est un serveur ssh. Un extrait de var/lo/auth.log
Jan 30 20:40:50 localhost sshd[11274]: Failed password for root from 211.147.255.238 port 57201 ssh2
Jan 30 20:40:58 localhost sshd[11290]: Failed password for root from 211.147.255.238 port 59015 ssh2
Jan 30 20:41:05 localhost sshd[11308]: Failed password for root from 211.147.255.238 port 60825 ssh2
Jan 30 20:41:13 localhost sshd[11333]: Failed password for root from 211.147.255.238 port 34410 ssh2
... Jan 30 20:41:37 localhost sshd[11389]: Invalid user postgres from 211.147.255.238 Jan 30 20:41:37 localhost sshd[11389]: error: Could not get shadow information for NOUSER Jan 30 20:41:37 localhost sshd[11389]: Failed password for invalid user postgres from 211.147.255.238 port 39843 ssh2
Jan 30 20:41:44 localhost sshd[11405]: Invalid user postgres from 211.147.255.238 Jan 30 20:41:44 localhost sshd[11405]: error: Could not get shadow information for NOUSER ssh2
...
Quelques questions: les connexions root sont interdites avec password (moi même je n'y arrive pas). Ells sont authorisées via les clés, si je comprends bien le fichier config de sshd (je n'utilise pas).
On remarque que toutes les tentatives viennent de la même ip: ces tentatives ne me semblent pas dangereuse. Je n'ai jamais vu de tentative de login avec un user valide (sauf les vraies users qui ont un compte....). Est-il possible de savoir les passwords essayé? Exemple: " Failed password for invalid user postgres from 211.147.255.238 port 39843". Aucun user postgres n'existe sur ma machine mais on peut avoir une idée du password essayé?
Si on voulait vraiment attaqué mon PC il me semble qu'une attaque massive (des milliers de tentative de connexion en quelques secondes mettrait mon pc à genoux). Mais personne n'a envie d'attaquer sérieusement mon PC.
J'en déduit donc que des robots tentent des tentatives de connexion ssh soit comme root soit avec des noms de users débiles (et des passwords idiots?). Hélas j'en déduit que cela doit marcher de temps enn temps? Honte aux admins des machines craquées?
Il me semble que même si on a un login, il y a des temps d'attentes quand 3 passwords sont faux...
Quel est a votre avis le niveau de sécurité du serveur open-ssh (avec des logins non évidents, et des passwords non triviaux)?
Tanguy
Bonjour,
J'ai mon pc perso qui est un serveur ssh. Un extrait de
var/lo/auth.log
Jan 30 20:40:50 localhost sshd[11274]: Failed password for root from
211.147.255.238 port 57201 ssh2
Jan 30 20:40:58 localhost sshd[11290]: Failed password for root from
211.147.255.238 port 59015 ssh2
Jan 30 20:41:05 localhost sshd[11308]: Failed password for root from
211.147.255.238 port 60825 ssh2
Jan 30 20:41:13 localhost sshd[11333]: Failed password for root from
211.147.255.238 port 34410 ssh2
...
Jan 30 20:41:37 localhost sshd[11389]: Invalid user postgres from
211.147.255.238
Jan 30 20:41:37 localhost sshd[11389]: error: Could not get shadow
information for NOUSER
Jan 30 20:41:37 localhost sshd[11389]: Failed password for invalid user
postgres from 211.147.255.238 port 39843 ssh2
Jan 30 20:41:44 localhost sshd[11405]: Invalid user postgres from
211.147.255.238
Jan 30 20:41:44 localhost sshd[11405]: error: Could not get shadow
information for NOUSER
ssh2
...
Quelques questions: les connexions root sont interdites avec password
(moi même je n'y arrive pas). Ells sont authorisées via les clés, si
je comprends bien le fichier config de sshd (je n'utilise pas).
On remarque que toutes les tentatives viennent de la même ip: ces
tentatives ne me semblent pas dangereuse. Je
n'ai jamais vu de tentative de login avec un user valide (sauf les
vraies users qui ont un compte....). Est-il possible de savoir les
passwords essayé? Exemple:
" Failed password for invalid user postgres from 211.147.255.238 port
39843". Aucun user postgres n'existe sur ma machine mais on peut avoir
une idée du password essayé?
Si on voulait vraiment attaqué mon PC il me semble qu'une attaque
massive (des milliers de tentative de connexion en quelques
secondes mettrait mon pc à genoux). Mais personne n'a envie d'attaquer
sérieusement mon PC.
J'en déduit donc que des robots tentent des tentatives de connexion
ssh soit comme root soit avec des noms de users débiles (et
des passwords idiots?). Hélas j'en déduit que cela doit marcher de
temps enn temps? Honte aux admins des machines craquées?
Il me semble que même si on a un login, il y a des temps d'attentes
quand 3 passwords sont faux...
Quel est a votre avis le niveau de sécurité du serveur open-ssh
(avec des logins non évidents, et des passwords non triviaux)?
J'ai mon pc perso qui est un serveur ssh. Un extrait de var/lo/auth.log
Jan 30 20:40:50 localhost sshd[11274]: Failed password for root from 211.147.255.238 port 57201 ssh2
Jan 30 20:40:58 localhost sshd[11290]: Failed password for root from 211.147.255.238 port 59015 ssh2
Jan 30 20:41:05 localhost sshd[11308]: Failed password for root from 211.147.255.238 port 60825 ssh2
Jan 30 20:41:13 localhost sshd[11333]: Failed password for root from 211.147.255.238 port 34410 ssh2
... Jan 30 20:41:37 localhost sshd[11389]: Invalid user postgres from 211.147.255.238 Jan 30 20:41:37 localhost sshd[11389]: error: Could not get shadow information for NOUSER Jan 30 20:41:37 localhost sshd[11389]: Failed password for invalid user postgres from 211.147.255.238 port 39843 ssh2
Jan 30 20:41:44 localhost sshd[11405]: Invalid user postgres from 211.147.255.238 Jan 30 20:41:44 localhost sshd[11405]: error: Could not get shadow information for NOUSER ssh2
...
Quelques questions: les connexions root sont interdites avec password (moi même je n'y arrive pas). Ells sont authorisées via les clés, si je comprends bien le fichier config de sshd (je n'utilise pas).
On remarque que toutes les tentatives viennent de la même ip: ces tentatives ne me semblent pas dangereuse. Je n'ai jamais vu de tentative de login avec un user valide (sauf les vraies users qui ont un compte....). Est-il possible de savoir les passwords essayé? Exemple: " Failed password for invalid user postgres from 211.147.255.238 port 39843". Aucun user postgres n'existe sur ma machine mais on peut avoir une idée du password essayé?
Si on voulait vraiment attaqué mon PC il me semble qu'une attaque massive (des milliers de tentative de connexion en quelques secondes mettrait mon pc à genoux). Mais personne n'a envie d'attaquer sérieusement mon PC.
J'en déduit donc que des robots tentent des tentatives de connexion ssh soit comme root soit avec des noms de users débiles (et des passwords idiots?). Hélas j'en déduit que cela doit marcher de temps enn temps? Honte aux admins des machines craquées?
Il me semble que même si on a un login, il y a des temps d'attentes quand 3 passwords sont faux...
Quel est a votre avis le niveau de sécurité du serveur open-ssh (avec des logins non évidents, et des passwords non triviaux)?
Tanguy
Sergio
Le Mon, 30 Jan 2012 23:27:23 +0100, Une Bévue a écrit :
Moi je fais :
UID_ROOT=0 if [ "$UID" -ne "$UID_ROOT" ] then echo "Va donc, eh manant..." else echo "Mes hommages, vous êtes root..." fi
(piqué dans l'ABS guide).
[...]
en tant que sudoer : imyt% sudo echo $UID Password: 501 imyt% sudo echo $UID_ROOT
imyt%
sur Mac os x lion ça ne marcherait pas ?
$UID_ROOT est une simple variable, définie au début du script ("UID_ROOT=0")... J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus "portable" (si un jour l'UID de root devient autre chose que 0).
Le Mon, 30 Jan 2012 23:27:23 +0100, Une Bévue a écrit :
Moi je fais :
UID_ROOT=0
if [ "$UID" -ne "$UID_ROOT" ]
then
echo "Va donc, eh manant..."
else
echo "Mes hommages, vous êtes root..."
fi
(piqué dans l'ABS guide).
[...]
en tant que sudoer :
imyt% sudo echo $UID
Password:
501
imyt% sudo echo $UID_ROOT
imyt%
sur Mac os x lion ça ne marcherait pas ?
$UID_ROOT est une simple variable, définie au début du script
("UID_ROOT=0")...
J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus
"portable" (si un jour l'UID de root devient autre chose que 0).
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Le Mon, 30 Jan 2012 23:27:23 +0100, Une Bévue a écrit :
Moi je fais :
UID_ROOT=0 if [ "$UID" -ne "$UID_ROOT" ] then echo "Va donc, eh manant..." else echo "Mes hommages, vous êtes root..." fi
(piqué dans l'ABS guide).
[...]
en tant que sudoer : imyt% sudo echo $UID Password: 501 imyt% sudo echo $UID_ROOT
imyt%
sur Mac os x lion ça ne marcherait pas ?
$UID_ROOT est une simple variable, définie au début du script ("UID_ROOT=0")... J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus "portable" (si un jour l'UID de root devient autre chose que 0).
$UID_ROOT est une simple variable, définie au début du script ("UID_ROOT=0")... J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus "portable" (si un jour l'UID de root devient autre chose que 0).
Ce jour là tu ne tourneras plus sous Unix... Il n'est pas possible de changer cet UID sans changer l'OS complètement.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
$UID_ROOT est une simple variable, définie au début du script
("UID_ROOT=0")...
J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus
"portable" (si un jour l'UID de root devient autre chose que 0).
Ce jour là tu ne tourneras plus sous Unix... Il n'est pas possible de
changer cet UID sans changer l'OS complètement.
--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
$UID_ROOT est une simple variable, définie au début du script ("UID_ROOT=0")... J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus "portable" (si un jour l'UID de root devient autre chose que 0).
Ce jour là tu ne tourneras plus sous Unix... Il n'est pas possible de changer cet UID sans changer l'OS complètement.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Sergio
Le Tue, 31 Jan 2012 07:57:44 +0100, erwan a écrit :
$UID_ROOT est une simple variable, définie au début du script ("UID_ROOT=0")... J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus "portable" (si un jour l'UID de root devient autre chose que 0).
Ce jour là tu ne tourneras plus sous Unix... Il n'est pas possible de changer cet UID sans changer l'OS complètement.
Explique ça à l'auteur de l'ABS Guide... (chercher le script 'cleanup') où j'ai pompé ce bout de script...
Le Tue, 31 Jan 2012 07:57:44 +0100, erwan a écrit :
$UID_ROOT est une simple variable, définie au début du script
("UID_ROOT=0")...
J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus
"portable" (si un jour l'UID de root devient autre chose que 0).
Ce jour là tu ne tourneras plus sous Unix... Il n'est pas possible de
changer cet UID sans changer l'OS complètement.
Explique ça à l'auteur de l'ABS Guide... (chercher le script 'cleanup')
où j'ai pompé ce bout de script...
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Le Tue, 31 Jan 2012 07:57:44 +0100, erwan a écrit :
$UID_ROOT est une simple variable, définie au début du script ("UID_ROOT=0")... J'aurais pu faire des comparaisons directes avec 0, mais ça fait plus "portable" (si un jour l'UID de root devient autre chose que 0).
Ce jour là tu ne tourneras plus sous Unix... Il n'est pas possible de changer cet UID sans changer l'OS complètement.
Explique ça à l'auteur de l'ABS Guide... (chercher le script 'cleanup') où j'ai pompé ce bout de script...