Bijour,
Ce cher Yliur a posté :
> Bonjour
>
> Sans me casser les pieds à faire une cage (on verra plus tard), mais
> pour éviter que Firefox ait le droit d'accéder à n'importe quoi s 'il
> était compromis, je me suis dit que ce serait mieux et assez simple
> de le faire exécuter par son propre utilisateur.
Pourquoi pas.
> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
> et accès à un shell.
Jusque là, ok.
> Les répertoires des utilisateurs ne sont accessible qu'à leur
> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
> distribution Linux en général ?).
Je ne comprends pas ce que tu veux dire.. : le propriétaire de qui ?
> Ça a l'air de marcher en exécutant dans un terminal :
> su - firefox [+ saisie du mot de passe]
> firefox
>
> Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
> passe de l'utilisateur firefox.
Non, il faudrait jouer avec PAM, je pense, mais à chaud je ne vois
pas comment...
> Donc j'ai essayé avec sudo. J'ai ajouté
> à la fin de /etc/sudoers :
> <utilisateur> alcheringa,localhost=(firefox)
> NOPASSWD: /usr/bin/firefox
C'est une meilleure idée, en effet.
> Et quand je tape
> sudo -u firefox firefox
>
> ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
> processus firefox est lancé par l'utilisateur firefox mais la
> fenêtre n'apparaît jamais, parfois il n'y a rien.
Vérifie le comportement des variables d'environnement telles que
HOME, il est bien possible qu'elles soient restées aux
valeurs de l'utilisateur <user lambda>...
> [...]
> Les avis généraux sur le principe sont également les bienvenus.
sudo aura tendance à ne pas mettre à jour toutes les
variables d'environnement, typiquement le PATH, HOME, etc..
man sudoers pour avoir plus d'infos..
Alors qu'avec su, tu as la garantie de faire un login complet, avec
mise à zéro des différentes variables shell.
Selon moi, l'utilisateur firefox n'a même pas besoin d'avoir un
shell dans son /etc/passwd avec sudo, mais c'est à tester..
> Pour accéder à quelques répertoires personnels depuis l'instance de
> Firefox lancée avec un autre utilisateur, je pensais à utiliser
> éventuellement des liens durs. Et dans une cage pareil : on peut
> laisser accès à certains répertoires avec des liens durs. Je ne d is
> pas de bêtise, ça ne permet pas de sortir de la cage ?
Trop de complication nuit à la sécurité : keep it simple, keep it
stupid. L'idée du sudo est déjà pas mal à mon goût.
Bijour,
Ce cher Yliur <yliur@free.fr> a posté :
> Bonjour
>
> Sans me casser les pieds à faire une cage (on verra plus tard), mais
> pour éviter que Firefox ait le droit d'accéder à n'importe quoi s 'il
> était compromis, je me suis dit que ce serait mieux et assez simple
> de le faire exécuter par son propre utilisateur.
Pourquoi pas.
> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
> et accès à un shell.
Jusque là, ok.
> Les répertoires des utilisateurs ne sont accessible qu'à leur
> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
> distribution Linux en général ?).
Je ne comprends pas ce que tu veux dire.. : le propriétaire de qui ?
> Ça a l'air de marcher en exécutant dans un terminal :
> su - firefox [+ saisie du mot de passe]
> firefox
>
> Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
> passe de l'utilisateur firefox.
Non, il faudrait jouer avec PAM, je pense, mais à chaud je ne vois
pas comment...
> Donc j'ai essayé avec sudo. J'ai ajouté
> à la fin de /etc/sudoers :
> <utilisateur> alcheringa,localhost=(firefox)
> NOPASSWD: /usr/bin/firefox
C'est une meilleure idée, en effet.
> Et quand je tape
> sudo -u firefox firefox
>
> ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
> processus firefox est lancé par l'utilisateur firefox mais la
> fenêtre n'apparaît jamais, parfois il n'y a rien.
Vérifie le comportement des variables d'environnement telles que
HOME, il est bien possible qu'elles soient restées aux
valeurs de l'utilisateur <user lambda>...
> [...]
> Les avis généraux sur le principe sont également les bienvenus.
sudo aura tendance à ne pas mettre à jour toutes les
variables d'environnement, typiquement le PATH, HOME, etc..
man sudoers pour avoir plus d'infos..
Alors qu'avec su, tu as la garantie de faire un login complet, avec
mise à zéro des différentes variables shell.
Selon moi, l'utilisateur firefox n'a même pas besoin d'avoir un
shell dans son /etc/passwd avec sudo, mais c'est à tester..
> Pour accéder à quelques répertoires personnels depuis l'instance de
> Firefox lancée avec un autre utilisateur, je pensais à utiliser
> éventuellement des liens durs. Et dans une cage pareil : on peut
> laisser accès à certains répertoires avec des liens durs. Je ne d is
> pas de bêtise, ça ne permet pas de sortir de la cage ?
Trop de complication nuit à la sécurité : keep it simple, keep it
stupid. L'idée du sudo est déjà pas mal à mon goût.
Bijour,
Ce cher Yliur a posté :
> Bonjour
>
> Sans me casser les pieds à faire une cage (on verra plus tard), mais
> pour éviter que Firefox ait le droit d'accéder à n'importe quoi s 'il
> était compromis, je me suis dit que ce serait mieux et assez simple
> de le faire exécuter par son propre utilisateur.
Pourquoi pas.
> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
> et accès à un shell.
Jusque là, ok.
> Les répertoires des utilisateurs ne sont accessible qu'à leur
> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
> distribution Linux en général ?).
Je ne comprends pas ce que tu veux dire.. : le propriétaire de qui ?
> Ça a l'air de marcher en exécutant dans un terminal :
> su - firefox [+ saisie du mot de passe]
> firefox
>
> Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
> passe de l'utilisateur firefox.
Non, il faudrait jouer avec PAM, je pense, mais à chaud je ne vois
pas comment...
> Donc j'ai essayé avec sudo. J'ai ajouté
> à la fin de /etc/sudoers :
> <utilisateur> alcheringa,localhost=(firefox)
> NOPASSWD: /usr/bin/firefox
C'est une meilleure idée, en effet.
> Et quand je tape
> sudo -u firefox firefox
>
> ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
> processus firefox est lancé par l'utilisateur firefox mais la
> fenêtre n'apparaît jamais, parfois il n'y a rien.
Vérifie le comportement des variables d'environnement telles que
HOME, il est bien possible qu'elles soient restées aux
valeurs de l'utilisateur <user lambda>...
> [...]
> Les avis généraux sur le principe sont également les bienvenus.
sudo aura tendance à ne pas mettre à jour toutes les
variables d'environnement, typiquement le PATH, HOME, etc..
man sudoers pour avoir plus d'infos..
Alors qu'avec su, tu as la garantie de faire un login complet, avec
mise à zéro des différentes variables shell.
Selon moi, l'utilisateur firefox n'a même pas besoin d'avoir un
shell dans son /etc/passwd avec sudo, mais c'est à tester..
> Pour accéder à quelques répertoires personnels depuis l'instance de
> Firefox lancée avec un autre utilisateur, je pensais à utiliser
> éventuellement des liens durs. Et dans une cage pareil : on peut
> laisser accès à certains répertoires avec des liens durs. Je ne d is
> pas de bêtise, ça ne permet pas de sortir de la cage ?
Trop de complication nuit à la sécurité : keep it simple, keep it
stupid. L'idée du sudo est déjà pas mal à mon goût.
Hugues wrote:
>> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
>> et accès à un shell.
Peut-être même que tu peux lui donner un faux shell, à
savoir /bin/false (qui doit faire partie de /etc/shells sunr une
distro linux standard, ubuntu je ne sais pas)
>> Les répertoires des utilisateurs ne sont accessible qu'à leur
>> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
>> distribution Linux en général ?).
>
Ça c'est la politique de la distro. Sur Slackware par exemple, les
home/user/ sont en 755, fichiers en 644 comme bcp d'autres distro,
donc accessibles aux autres (le groupe et aussi les autres) . C'est à
toi de décider si tu veux restreindre l'accès ou pas à ces
répertoires au seul groupe/propriétaire.
Hugues wrote:
>> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
>> et accès à un shell.
Peut-être même que tu peux lui donner un faux shell, à
savoir /bin/false (qui doit faire partie de /etc/shells sunr une
distro linux standard, ubuntu je ne sais pas)
>> Les répertoires des utilisateurs ne sont accessible qu'à leur
>> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
>> distribution Linux en général ?).
>
Ça c'est la politique de la distro. Sur Slackware par exemple, les
home/user/ sont en 755, fichiers en 644 comme bcp d'autres distro,
donc accessibles aux autres (le groupe et aussi les autres) . C'est à
toi de décider si tu veux restreindre l'accès ou pas à ces
répertoires au seul groupe/propriétaire.
Hugues wrote:
>> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
>> et accès à un shell.
Peut-être même que tu peux lui donner un faux shell, à
savoir /bin/false (qui doit faire partie de /etc/shells sunr une
distro linux standard, ubuntu je ne sais pas)
>> Les répertoires des utilisateurs ne sont accessible qu'à leur
>> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
>> distribution Linux en général ?).
>
Ça c'est la politique de la distro. Sur Slackware par exemple, les
home/user/ sont en 755, fichiers en 644 comme bcp d'autres distro,
donc accessibles aux autres (le groupe et aussi les autres) . C'est à
toi de décider si tu veux restreindre l'accès ou pas à ces
répertoires au seul groupe/propriétaire.
Le Tue, 27 Apr 2010 18:49:28 +0200, Yliur a écrit :
> Bonjour
>
bonjour,
[...]
> Et quand je tape
> sudo -u firefox firefox
>
Tu peux essayer avec sudo -H pour placer $HOME, voir -i pour simuler
le login (comme le "-" de "su - user")
Par contre, je ne vois pas comment il va parler au serveur X ... mais
avec su - non plus. (à moins de transférer le MIT-cookie)
Le Tue, 27 Apr 2010 18:49:28 +0200, Yliur a écrit :
> Bonjour
>
bonjour,
[...]
> Et quand je tape
> sudo -u firefox firefox
>
Tu peux essayer avec sudo -H pour placer $HOME, voir -i pour simuler
le login (comme le "-" de "su - user")
Par contre, je ne vois pas comment il va parler au serveur X ... mais
avec su - non plus. (à moins de transférer le MIT-cookie)
Le Tue, 27 Apr 2010 18:49:28 +0200, Yliur a écrit :
> Bonjour
>
bonjour,
[...]
> Et quand je tape
> sudo -u firefox firefox
>
Tu peux essayer avec sudo -H pour placer $HOME, voir -i pour simuler
le login (comme le "-" de "su - user")
Par contre, je ne vois pas comment il va parler au serveur X ... mais
avec su - non plus. (à moins de transférer le MIT-cookie)
Le 27.04.2010 18:49, Yliur a écrit :
> Et quand je tape
> sudo -u firefox firefox
Essaie sux, sinon, tu vas au devant de gros problèmes avec X.
Yannick
Le 27.04.2010 18:49, Yliur a écrit :
> Et quand je tape
> sudo -u firefox firefox
Essaie sux, sinon, tu vas au devant de gros problèmes avec X.
Yannick
Le 27.04.2010 18:49, Yliur a écrit :
> Et quand je tape
> sudo -u firefox firefox
Essaie sux, sinon, tu vas au devant de gros problèmes avec X.
Yannick
Bonjour
Sans me casser les pieds à faire une cage (on verra plus tard), mais
pour éviter que Firefox ait le droit d'accéder à n'importe quoi s'il
était compromis, je me suis dit que ce serait mieux et assez simple de
le faire exécuter par son propre utilisateur.
J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
et accès à un shell.
Les répertoires des utilisateurs ne sont accessible qu'à leur
propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en général ?).
Ça a l'air de marcher en exécutant dans un terminal :
su - firefox [+ saisie du mot de passe]
firefox
Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
passe de l'utilisateur firefox. Donc j'ai essayé avec sudo. J'ai
ajouté à la fin de /etc/sudoers :
<utilisateur> alcheringa,localhost=(firefox)
NOPASSWD: /usr/bin/firefox
Et quand je tape
sudo -u firefox firefox
ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
processus firefox est lancé par l'utilisateur firefox mais la fenêtre
n'apparaît jamais, parfois il n'y a rien.
Un essai avec Epiphany a donné quelque chose d'un peu différent : la
première fois ça n'a pas marché (la fenêtre d'Epiphany est apparu e et
il s'est plaint d'un problème de connexion à /tmp/xxxxxxx-socket-xxxx
[ça parlait de dbus aussi], puis la fenêtre a disparu). J'ai ensuite
essayé avec "su - firefox" + lancer Epiphany, ça a marché, et depuis
la version avec sudo fonctionne aussi.
Voilà, si vous avez un avis. Y a-t-il une différence entre le
lancement avec sudo et celui en étant réellement connecté avec
l'utilisateur ? L'initialisation du shell ? Mais ça marche également
avec "su firefox", sans le tiret, puis lancement de Firefox.
Les avis généraux sur le principe sont également les bienvenus.
Pour accéder à quelques répertoires personnels depuis l'instance de
Firefox lancée avec un autre utilisateur, je pensais à utiliser
éventuellement des liens durs. Et dans une cage pareil : on peut
laisser accès à certains répertoires avec des liens durs. Je ne dis
pas de bêtise, ça ne permet pas de sortir de la cage ?
Merci
Bonjour
Sans me casser les pieds à faire une cage (on verra plus tard), mais
pour éviter que Firefox ait le droit d'accéder à n'importe quoi s'il
était compromis, je me suis dit que ce serait mieux et assez simple de
le faire exécuter par son propre utilisateur.
J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
et accès à un shell.
Les répertoires des utilisateurs ne sont accessible qu'à leur
propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en général ?).
Ça a l'air de marcher en exécutant dans un terminal :
su - firefox [+ saisie du mot de passe]
firefox
Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
passe de l'utilisateur firefox. Donc j'ai essayé avec sudo. J'ai
ajouté à la fin de /etc/sudoers :
<utilisateur> alcheringa,localhost=(firefox)
NOPASSWD: /usr/bin/firefox
Et quand je tape
sudo -u firefox firefox
ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
processus firefox est lancé par l'utilisateur firefox mais la fenêtre
n'apparaît jamais, parfois il n'y a rien.
Un essai avec Epiphany a donné quelque chose d'un peu différent : la
première fois ça n'a pas marché (la fenêtre d'Epiphany est apparu e et
il s'est plaint d'un problème de connexion à /tmp/xxxxxxx-socket-xxxx
[ça parlait de dbus aussi], puis la fenêtre a disparu). J'ai ensuite
essayé avec "su - firefox" + lancer Epiphany, ça a marché, et depuis
la version avec sudo fonctionne aussi.
Voilà, si vous avez un avis. Y a-t-il une différence entre le
lancement avec sudo et celui en étant réellement connecté avec
l'utilisateur ? L'initialisation du shell ? Mais ça marche également
avec "su firefox", sans le tiret, puis lancement de Firefox.
Les avis généraux sur le principe sont également les bienvenus.
Pour accéder à quelques répertoires personnels depuis l'instance de
Firefox lancée avec un autre utilisateur, je pensais à utiliser
éventuellement des liens durs. Et dans une cage pareil : on peut
laisser accès à certains répertoires avec des liens durs. Je ne dis
pas de bêtise, ça ne permet pas de sortir de la cage ?
Merci
Bonjour
Sans me casser les pieds à faire une cage (on verra plus tard), mais
pour éviter que Firefox ait le droit d'accéder à n'importe quoi s'il
était compromis, je me suis dit que ce serait mieux et assez simple de
le faire exécuter par son propre utilisateur.
J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
et accès à un shell.
Les répertoires des utilisateurs ne sont accessible qu'à leur
propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en général ?).
Ça a l'air de marcher en exécutant dans un terminal :
su - firefox [+ saisie du mot de passe]
firefox
Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
passe de l'utilisateur firefox. Donc j'ai essayé avec sudo. J'ai
ajouté à la fin de /etc/sudoers :
<utilisateur> alcheringa,localhost=(firefox)
NOPASSWD: /usr/bin/firefox
Et quand je tape
sudo -u firefox firefox
ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
processus firefox est lancé par l'utilisateur firefox mais la fenêtre
n'apparaît jamais, parfois il n'y a rien.
Un essai avec Epiphany a donné quelque chose d'un peu différent : la
première fois ça n'a pas marché (la fenêtre d'Epiphany est apparu e et
il s'est plaint d'un problème de connexion à /tmp/xxxxxxx-socket-xxxx
[ça parlait de dbus aussi], puis la fenêtre a disparu). J'ai ensuite
essayé avec "su - firefox" + lancer Epiphany, ça a marché, et depuis
la version avec sudo fonctionne aussi.
Voilà, si vous avez un avis. Y a-t-il une différence entre le
lancement avec sudo et celui en étant réellement connecté avec
l'utilisateur ? L'initialisation du shell ? Mais ça marche également
avec "su firefox", sans le tiret, puis lancement de Firefox.
Les avis généraux sur le principe sont également les bienvenus.
Pour accéder à quelques répertoires personnels depuis l'instance de
Firefox lancée avec un autre utilisateur, je pensais à utiliser
éventuellement des liens durs. Et dans une cage pareil : on peut
laisser accès à certains répertoires avec des liens durs. Je ne dis
pas de bêtise, ça ne permet pas de sortir de la cage ?
Merci
Par contre, je ne vois pas comment il va parler au serveur X ... mais
avec su - non plus. (à moins de transférer le MIT-cookie)
Je ne comprends pas. Je n'ai jamais eu de problème pour lancer une appli
graphique depuis un terminal après avoir fait "su -". Qu'est-ce qui
pourrait le gêner ?
Par contre, je ne vois pas comment il va parler au serveur X ... mais
avec su - non plus. (à moins de transférer le MIT-cookie)
Je ne comprends pas. Je n'ai jamais eu de problème pour lancer une appli
graphique depuis un terminal après avoir fait "su -". Qu'est-ce qui
pourrait le gêner ?
Par contre, je ne vois pas comment il va parler au serveur X ... mais
avec su - non plus. (à moins de transférer le MIT-cookie)
Je ne comprends pas. Je n'ai jamais eu de problème pour lancer une appli
graphique depuis un terminal après avoir fait "su -". Qu'est-ce qui
pourrait le gêner ?
Ça c'est la politique de la distro. Sur Slackware par exemple, les
home/user/ sont en 755, fichiers en 644 comme bcp d'autres distro,
donc accessibles aux autres (le groupe et aussi les autres) .
Ça c'est la politique de la distro. Sur Slackware par exemple, les
home/user/ sont en 755, fichiers en 644 comme bcp d'autres distro,
donc accessibles aux autres (le groupe et aussi les autres) .
Ça c'est la politique de la distro. Sur Slackware par exemple, les
home/user/ sont en 755, fichiers en 644 comme bcp d'autres distro,
donc accessibles aux autres (le groupe et aussi les autres) .
Le Thu, 29 Apr 2010 16:58:46 +0200, Yliur a écrit :
>> Par contre, je ne vois pas comment il va parler au serveur X ...
>> mais avec su - non plus. (à moins de transférer le MIT-cookie)
>
> Je ne comprends pas. Je n'ai jamais eu de problème pour lancer une
> appli graphique depuis un terminal après avoir fait "su -".
> Qu'est-ce qui pourrait le gêner ?
:~/$ su - upgrade
Mot de passe :
$ xlogo
Error: Can't open display:
$ export DISPLAY=:0.0
$ xlogo
No protocol specified
Error: Can't open display: 0:0
le serveur X n'est pas sensé répondre à un autre utilisateur que
celui qui est loggué. Sinon, c'est pas sûr, un gas qui se loggue sur
la machine en SSH pourrait prendre le contrôle de la souris, du
clavier, faire des copies d'écran ...
un grand jeu à l'école c'était le "xhost +" dans le dos des voisins,
et hop ! on lance xlock :D
Le Thu, 29 Apr 2010 16:58:46 +0200, Yliur a écrit :
>> Par contre, je ne vois pas comment il va parler au serveur X ...
>> mais avec su - non plus. (à moins de transférer le MIT-cookie)
>
> Je ne comprends pas. Je n'ai jamais eu de problème pour lancer une
> appli graphique depuis un terminal après avoir fait "su -".
> Qu'est-ce qui pourrait le gêner ?
bastien@data-dev3:~/$ su - upgrade
Mot de passe :
$ xlogo
Error: Can't open display:
$ export DISPLAY=:0.0
$ xlogo
No protocol specified
Error: Can't open display: 0:0
le serveur X n'est pas sensé répondre à un autre utilisateur que
celui qui est loggué. Sinon, c'est pas sûr, un gas qui se loggue sur
la machine en SSH pourrait prendre le contrôle de la souris, du
clavier, faire des copies d'écran ...
un grand jeu à l'école c'était le "xhost +" dans le dos des voisins,
et hop ! on lance xlock :D
Le Thu, 29 Apr 2010 16:58:46 +0200, Yliur a écrit :
>> Par contre, je ne vois pas comment il va parler au serveur X ...
>> mais avec su - non plus. (à moins de transférer le MIT-cookie)
>
> Je ne comprends pas. Je n'ai jamais eu de problème pour lancer une
> appli graphique depuis un terminal après avoir fait "su -".
> Qu'est-ce qui pourrait le gêner ?
:~/$ su - upgrade
Mot de passe :
$ xlogo
Error: Can't open display:
$ export DISPLAY=:0.0
$ xlogo
No protocol specified
Error: Can't open display: 0:0
le serveur X n'est pas sensé répondre à un autre utilisateur que
celui qui est loggué. Sinon, c'est pas sûr, un gas qui se loggue sur
la machine en SSH pourrait prendre le contrôle de la souris, du
clavier, faire des copies d'écran ...
un grand jeu à l'école c'était le "xhost +" dans le dos des voisins,
et hop ! on lance xlock :D
En pratique ici ça marche, je ne sais pas si c'est la configuration par
défaut de Xorg, je n'y ai pas touché depuis l'installation.
un grand jeu à l'école c'était le "xhost +" dans le dos des voisins, et
hop ! on lance xlock :D
Je ne sais pas ce que fait xhost,
mais à l'Université on utilisait des
terminaux (physiques), et on pouvait lancer des trucs sur d'autres
terminaux en modifiant la variable DISPLAY-je-sais-trop-quoi.
En pratique ici ça marche, je ne sais pas si c'est la configuration par
défaut de Xorg, je n'y ai pas touché depuis l'installation.
un grand jeu à l'école c'était le "xhost +" dans le dos des voisins, et
hop ! on lance xlock :D
Je ne sais pas ce que fait xhost,
mais à l'Université on utilisait des
terminaux (physiques), et on pouvait lancer des trucs sur d'autres
terminaux en modifiant la variable DISPLAY-je-sais-trop-quoi.
En pratique ici ça marche, je ne sais pas si c'est la configuration par
défaut de Xorg, je n'y ai pas touché depuis l'installation.
un grand jeu à l'école c'était le "xhost +" dans le dos des voisins, et
hop ! on lance xlock :D
Je ne sais pas ce que fait xhost,
mais à l'Université on utilisait des
terminaux (physiques), et on pouvait lancer des trucs sur d'autres
terminaux en modifiant la variable DISPLAY-je-sais-trop-quoi.
Le Tue, 27 Apr 2010 18:49:28 +0200
Yliur a écrit :
> Bonjour
>
> Sans me casser les pieds à faire une cage (on verra plus tard), mais
> pour éviter que Firefox ait le droit d'accéder à n'importe quoi s 'il
> était compromis, je me suis dit que ce serait mieux et assez simple
> de le faire exécuter par son propre utilisateur.
>
> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
> et accès à un shell.
>
> Les répertoires des utilisateurs ne sont accessible qu'à leur
> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
> distribution Linux en général ?).
>
> Ça a l'air de marcher en exécutant dans un terminal :
> su - firefox [+ saisie du mot de passe]
> firefox
>
> Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
> passe de l'utilisateur firefox. Donc j'ai essayé avec sudo. J'ai
> ajouté à la fin de /etc/sudoers :
> <utilisateur> alcheringa,localhost=(firefox)
> NOPASSWD: /usr/bin/firefox
>
> Et quand je tape
> sudo -u firefox firefox
>
> ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
> processus firefox est lancé par l'utilisateur firefox mais la
> fenêtre n'apparaît jamais, parfois il n'y a rien.
>
> Un essai avec Epiphany a donné quelque chose d'un peu différent : la
> première fois ça n'a pas marché (la fenêtre d'Epiphany est appa rue
> et il s'est plaint d'un problème de connexion
> à /tmp/xxxxxxx-socket-xxxx [ça parlait de dbus aussi], puis la
> fenêtre a disparu). J'ai ensuite essayé avec "su - firefox" +
> lancer Epiphany, ça a marché, et depuis la version avec sudo
> fonctionne aussi.
>
> Voilà, si vous avez un avis. Y a-t-il une différence entre le
> lancement avec sudo et celui en étant réellement connecté avec
> l'utilisateur ? L'initialisation du shell ? Mais ça marche également
> avec "su firefox", sans le tiret, puis lancement de Firefox.
>
> Les avis généraux sur le principe sont également les bienvenus.
>
> Pour accéder à quelques répertoires personnels depuis l'instance de
> Firefox lancée avec un autre utilisateur, je pensais à utiliser
> éventuellement des liens durs. Et dans une cage pareil : on peut
> laisser accès à certains répertoires avec des liens durs. Je ne d is
> pas de bêtise, ça ne permet pas de sortir de la cage ?
>
> Merci
>
Voilà où j'en suis :
- J'ai créé un utilisateur sans mot de passe, sans shell et qui a des
droits sur son répertoire personnel et pas sur le mien.
- J'ai modifié mon fichier sudoers et ça ressemble à ça :
moi alcheringa,localhost=(firefox) NOPASSWD: /usr/bin/firefox
(j'ai essayé d'ajouter NOEXEC:, mais Firefox fait la gueule rien que
pour accéder à sa configuration, il se sert sans de programmes
externes pour ça...)
- Je lance Firefox (depuis un menu graphique) avec la commande
sudo -Hu firefox firefox
(le "-u firefox" pour choisir l'utilisateur, -H pour utiliser son
répertoire personnel plutôt que le mien [utiliser sa variable $HOME],
le "firefox" final pour lancer le programme)
A première vue ça marche, à voir sur plus longtemps :) .
Et ne pas oublier de sauvegarder le répertoire de ce nouvel
utilisateur, il y a mes données dedans.
Si ça fonctionne je crois que je vais m'attaquer à d'autres
programmes. C'est plus léger que les cages (quoique je crois qu'il y
a une méthode de création/gestion de cages assez simple dans
Archlinux, à essayer).
Le Tue, 27 Apr 2010 18:49:28 +0200
Yliur <yliur@free.fr> a écrit :
> Bonjour
>
> Sans me casser les pieds à faire une cage (on verra plus tard), mais
> pour éviter que Firefox ait le droit d'accéder à n'importe quoi s 'il
> était compromis, je me suis dit que ce serait mieux et assez simple
> de le faire exécuter par son propre utilisateur.
>
> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
> et accès à un shell.
>
> Les répertoires des utilisateurs ne sont accessible qu'à leur
> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
> distribution Linux en général ?).
>
> Ça a l'air de marcher en exécutant dans un terminal :
> su - firefox [+ saisie du mot de passe]
> firefox
>
> Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
> passe de l'utilisateur firefox. Donc j'ai essayé avec sudo. J'ai
> ajouté à la fin de /etc/sudoers :
> <utilisateur> alcheringa,localhost=(firefox)
> NOPASSWD: /usr/bin/firefox
>
> Et quand je tape
> sudo -u firefox firefox
>
> ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
> processus firefox est lancé par l'utilisateur firefox mais la
> fenêtre n'apparaît jamais, parfois il n'y a rien.
>
> Un essai avec Epiphany a donné quelque chose d'un peu différent : la
> première fois ça n'a pas marché (la fenêtre d'Epiphany est appa rue
> et il s'est plaint d'un problème de connexion
> à /tmp/xxxxxxx-socket-xxxx [ça parlait de dbus aussi], puis la
> fenêtre a disparu). J'ai ensuite essayé avec "su - firefox" +
> lancer Epiphany, ça a marché, et depuis la version avec sudo
> fonctionne aussi.
>
> Voilà, si vous avez un avis. Y a-t-il une différence entre le
> lancement avec sudo et celui en étant réellement connecté avec
> l'utilisateur ? L'initialisation du shell ? Mais ça marche également
> avec "su firefox", sans le tiret, puis lancement de Firefox.
>
> Les avis généraux sur le principe sont également les bienvenus.
>
> Pour accéder à quelques répertoires personnels depuis l'instance de
> Firefox lancée avec un autre utilisateur, je pensais à utiliser
> éventuellement des liens durs. Et dans une cage pareil : on peut
> laisser accès à certains répertoires avec des liens durs. Je ne d is
> pas de bêtise, ça ne permet pas de sortir de la cage ?
>
> Merci
>
Voilà où j'en suis :
- J'ai créé un utilisateur sans mot de passe, sans shell et qui a des
droits sur son répertoire personnel et pas sur le mien.
- J'ai modifié mon fichier sudoers et ça ressemble à ça :
moi alcheringa,localhost=(firefox) NOPASSWD: /usr/bin/firefox
(j'ai essayé d'ajouter NOEXEC:, mais Firefox fait la gueule rien que
pour accéder à sa configuration, il se sert sans de programmes
externes pour ça...)
- Je lance Firefox (depuis un menu graphique) avec la commande
sudo -Hu firefox firefox
(le "-u firefox" pour choisir l'utilisateur, -H pour utiliser son
répertoire personnel plutôt que le mien [utiliser sa variable $HOME],
le "firefox" final pour lancer le programme)
A première vue ça marche, à voir sur plus longtemps :) .
Et ne pas oublier de sauvegarder le répertoire de ce nouvel
utilisateur, il y a mes données dedans.
Si ça fonctionne je crois que je vais m'attaquer à d'autres
programmes. C'est plus léger que les cages (quoique je crois qu'il y
a une méthode de création/gestion de cages assez simple dans
Archlinux, à essayer).
Le Tue, 27 Apr 2010 18:49:28 +0200
Yliur a écrit :
> Bonjour
>
> Sans me casser les pieds à faire une cage (on verra plus tard), mais
> pour éviter que Firefox ait le droit d'accéder à n'importe quoi s 'il
> était compromis, je me suis dit que ce serait mieux et assez simple
> de le faire exécuter par son propre utilisateur.
>
> J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
> et accès à un shell.
>
> Les répertoires des utilisateurs ne sont accessible qu'à leur
> propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
> distribution Linux en général ?).
>
> Ça a l'air de marcher en exécutant dans un terminal :
> su - firefox [+ saisie du mot de passe]
> firefox
>
> Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
> passe de l'utilisateur firefox. Donc j'ai essayé avec sudo. J'ai
> ajouté à la fin de /etc/sudoers :
> <utilisateur> alcheringa,localhost=(firefox)
> NOPASSWD: /usr/bin/firefox
>
> Et quand je tape
> sudo -u firefox firefox
>
> ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
> processus firefox est lancé par l'utilisateur firefox mais la
> fenêtre n'apparaît jamais, parfois il n'y a rien.
>
> Un essai avec Epiphany a donné quelque chose d'un peu différent : la
> première fois ça n'a pas marché (la fenêtre d'Epiphany est appa rue
> et il s'est plaint d'un problème de connexion
> à /tmp/xxxxxxx-socket-xxxx [ça parlait de dbus aussi], puis la
> fenêtre a disparu). J'ai ensuite essayé avec "su - firefox" +
> lancer Epiphany, ça a marché, et depuis la version avec sudo
> fonctionne aussi.
>
> Voilà, si vous avez un avis. Y a-t-il une différence entre le
> lancement avec sudo et celui en étant réellement connecté avec
> l'utilisateur ? L'initialisation du shell ? Mais ça marche également
> avec "su firefox", sans le tiret, puis lancement de Firefox.
>
> Les avis généraux sur le principe sont également les bienvenus.
>
> Pour accéder à quelques répertoires personnels depuis l'instance de
> Firefox lancée avec un autre utilisateur, je pensais à utiliser
> éventuellement des liens durs. Et dans une cage pareil : on peut
> laisser accès à certains répertoires avec des liens durs. Je ne d is
> pas de bêtise, ça ne permet pas de sortir de la cage ?
>
> Merci
>
Voilà où j'en suis :
- J'ai créé un utilisateur sans mot de passe, sans shell et qui a des
droits sur son répertoire personnel et pas sur le mien.
- J'ai modifié mon fichier sudoers et ça ressemble à ça :
moi alcheringa,localhost=(firefox) NOPASSWD: /usr/bin/firefox
(j'ai essayé d'ajouter NOEXEC:, mais Firefox fait la gueule rien que
pour accéder à sa configuration, il se sert sans de programmes
externes pour ça...)
- Je lance Firefox (depuis un menu graphique) avec la commande
sudo -Hu firefox firefox
(le "-u firefox" pour choisir l'utilisateur, -H pour utiliser son
répertoire personnel plutôt que le mien [utiliser sa variable $HOME],
le "firefox" final pour lancer le programme)
A première vue ça marche, à voir sur plus longtemps :) .
Et ne pas oublier de sauvegarder le répertoire de ce nouvel
utilisateur, il y a mes données dedans.
Si ça fonctionne je crois que je vais m'attaquer à d'autres
programmes. C'est plus léger que les cages (quoique je crois qu'il y
a une méthode de création/gestion de cages assez simple dans
Archlinux, à essayer).