OVH Cloud OVH Cloud

utilisateur droits limités

9 réponses
Avatar
pyb
Bonjour!

Voici une question que vous vous êtes sans doute déjà posée, qui est
donc sûrement très bête.

Je désire créer un utilisateur 'toto' mais qui possède des droits
ultra-limités (connexion par ssh en console seulement); je m'explique.


Il ne faut pas qu'il voie la racine / , qu'il soit confiné dans son home
sans pouvoir en sortir (un peu comme lorsqu'on crée un utilisateur pour
ftpd)

Il lui faut pourtant un bash (-s /bin/bash ??)

Et le hic... il n'a le droit d'exécuter qu'une poignée de programmes
(par exemple ls, vi, ...) J'ai bien une idée là-dessus mais c'est
peut-être tordu : je crée un répertoire /usr/local/bin-pour-toto/ et je
fais un lien symbolique vers les programmes en question. J'en profite
pour lui régler son $PATH.

A chaque fois que j'ai essayé une commande du style
|useradd -d /home/toto -g invite -s /bin/false toto (ou avec -s
/bin/bash plus logique s'il faut le bash), j'ai pu me balader partout
dans le système sans problèmes même en changeant les droits sur le
répertoire /home.


Pouvez-vous m'aider ?
Merci par avance

pyb

|


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

9 réponses

Avatar
Frédéric Bothamy
* pyb [2005-03-31 14:49] :
Bonjour!

Voici une question que vous vous êtes sans doute déjà posée, qui est
donc sûrement très bête.

Je désire créer un utilisateur 'toto' mais qui possède des droits
ultra-limités (connexion par ssh en console seulement); je m'explique.


Il ne faut pas qu'il voie la racine / , qu'il soit confiné dans son home
sans pouvoir en sortir (un peu comme lorsqu'on crée un utilisateur pour
ftpd)

Il lui faut pourtant un bash (-s /bin/bash ??)

Et le hic... il n'a le droit d'exécuter qu'une poignée de programmes
(par exemple ls, vi, ...) J'ai bien une idée là-dessus mais c'est
peut-être tordu : je crée un répertoire /usr/local/bin-pour-toto/ et je
fais un lien symbolique vers les programmes en question. J'en profite
pour lui régler son $PATH.

A chaque fois que j'ai essayé une commande du style
|useradd -d /home/toto -g invite -s /bin/false toto (ou avec -s
/bin/bash plus logique s'il faut le bash), j'ai pu me balader partout
dans le système sans problèmes même en changeant les droits sur le
répertoire /home.


Pouvez-vous m'aider ?



Le problème est plus compliqué qu'il n'y paraît : par défaut, pour que
tes utilisateurs puissent accéder à leur répertoire /home/toto, ils
doivent avoir accès en lecture (et probablement exécution également) à
tous les répertoires parents, donc notamment / et /home.

La solution est alors d'utiliser la commande chroot :

chroot - run command or interactive shell with special root directory

Il faut alors avoir placé dans le chroot (réellement, pas des liens
symboliques) tous les fichiers nécessaires à la connexion.

Voici une URL détaillant les manipulations à effectuer pour cela :
http://www.chains.ch/chroot.php

(Building a chroot environment on debian with libpam-chroot)


Fred

--
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
pyb
Merci pour vos réponses rapides!
Je vais tester ça (j'avais déjà un chroot pour tester des distrib, mais
je n'avais pas pensé à ça, comme quoi...)




--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Raphaël 'SurcouF' Bordet
Le jeudi 31 mars 2005 à 14:49 +0200, pyb a écrit :
Bonjour!

Voici une question que vous vous êtes sans doute déjà posée, qui est
donc sûrement très bête.

Je désire créer un utilisateur 'toto' mais qui possède des droits
ultra-limités (connexion par ssh en console seulement); je m'explique.


Il ne faut pas qu'il voie la racine / , qu'il soit confiné dans son hom e
sans pouvoir en sortir (un peu comme lorsqu'on crée un utilisateur pour
ftpd)

Il lui faut pourtant un bash (-s /bin/bash ??)

Et le hic... il n'a le droit d'exécuter qu'une poignée de programmes
(par exemple ls, vi, ...) J'ai bien une idée là-dessus mais c'est
peut-être tordu : je crée un répertoire /usr/local/bin-pour-toto/ e t je
fais un lien symbolique vers les programmes en question. J'en profite
pour lui régler son $PATH.



Une option intéressant de bash est l'option -r qu'on peut directement
utiliser en appellant rbash au lieu de bash. Il s'agit d'un bash en mode
restreint (impossible de modifier le $PATH, par exemple) mais il
n'empêchera pas trop l'utilisateur de se balader.

A chaque fois que j'ai essayé une commande du style
|useradd -d /home/toto -g invite -s /bin/false toto (ou avec -s
/bin/bash plus logique s'il faut le bash), j'ai pu me balader partout
dans le système sans problèmes même en changeant les droits sur le
répertoire /home.



Une solution alternative à celle proposée par Fred est de patcher[1]
OpenSSH pour supporter ce type de configuration.


[1]: http://chrootssh.sourceforge.net/
--
Raphaël 'SurcouF' Bordet
http://debianfr.net/ | surcouf at debianfr dot net
Avatar
tnemeth
Selon Frédéric Bothamy :

| * pyb [2005-03-31 14:49] :

| > Je désire créer un utilisateur 'toto' mais qui possède des droits
| > ultra-limités (connexion par ssh en console seulement); je
| > m'explique.
|
| Le problème est plus compliqué qu'il n'y paraît : par défaut, pour
| que
| tes utilisateurs puissent accéder à leur répertoire /home/toto, ils
| doivent avoir accès en lecture (et probablement exécution également)
| à
| tous les répertoires parents, donc notamment / et /home.
|
| La solution est alors d'utiliser la commande chroot :

Erk :)
J'imagine le bordel :
- recréer /dev
- peupler /bin
- " /lib
- " /usr/bin
- " /usr/lib
- " /var...
- mettre un /tmp
- monter /proc
...

Faut rien oublier !


Thomas.


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
pyb
Merci, tout marche impecable!

1/ Il faut en effet seulement créer un environnement chroot, comme
indiqué par exemple sur
http://www.debian.org/doc/manuals/reference/ch-tips.fr.html#s-chroot
paragraphe 8.6.35.1

2/ puis d'installer les logiciels éventuellement supplémentaires. On
peut démonter l'environnement chroot ensuite sans problèmes (ne sert
alors plus à rien)

3/ je me suis aidé de la solution qui me paraissait la plus rapide, soit :
http://www.chains.ch/chroot.php (cf post Fred)
J'essaierai ensuite la solution patch de Raph Surcouf (plus sûre ?).

4/Ce qui n'est pas dit dans la chanson, mais qui est somme toute
évident, est de faire attention de bien créer le répertoire /home/toto
dans l'environnement chrooté et de faire ensuite un chown toto:user
toto/ pour que ssh fonctionne (sinon panpan)

5/Dans le doute, j'ai relancé le démon ssh, mais je ne suis pas sûr que
c'était nécessaire...

Merci encore





--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Michelle Konzack
--rwSwrS9OkH+FvIfA
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Am 2005-03-31 14:49:34, schrieb pyb:
Bonjour!



Je désire créer un utilisateur 'toto' mais qui possède des droits
ultra-limités (connexion par ssh en console seulement); je m'explique.

Il ne faut pas qu'il voie la racine / , qu'il soit confiné dans son hom e
sans pouvoir en sortir (un peu comme lorsqu'on crée un utilisateur pour
ftpd)



chroot :-)

Il lui faut pourtant un bash (-s /bin/bash ??)

Et le hic... il n'a le droit d'exécuter qu'une poignée de programmes
(par exemple ls, vi, ...) J'ai bien une idée là-dessus mais c'est
peut-être tordu : je crée un répertoire /usr/local/bin-pour-toto/ e t je
fais un lien symbolique vers les programmes en question. J'en profite
pour lui régler son $PATH.




/home/toto/bin/
etc/
lib/
sbin/
usr/bin/
usr/lib/
usr/sbin/

et copier que les fichier il besoin...

C'est un tres jolie chroot...

Pouvez-vous m'aider ?
Merci par avance

pyb



Greetings
Michelle

--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack Apt. 917 ICQ #328449886
50, rue de Soultz MSM LinuxMichi
0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)

--rwSwrS9OkH+FvIfA
Content-Type: application/pgp-signature; name="signature.pgp"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCTBrNC0FPBMSS+BIRAlTQAJ4hA2QXRJCjKFy0yQbU2NHTHixgGQCfQxeJ
jEamQrrbjXhfxqTCZ8P5lik =cPl4
-----END PGP SIGNATURE-----

--rwSwrS9OkH+FvIfA--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Frédéric Bothamy
* [2005-03-31 17:32] :
Selon Frédéric Bothamy :

| * pyb [2005-03-31 14:49] :

| > Je désire créer un utilisateur 'toto' mais qui possède des droits
| > ultra-limités (connexion par ssh en console seulement); je
| > m'explique.
|
| Le problème est plus compliqué qu'il n'y paraît : par défaut, pour
| que
| tes utilisateurs puissent accéder à leur répertoire /home/toto, ils
| doivent avoir accès en lecture (et probablement exécution également)
| à
| tous les répertoires parents, donc notamment / et /home.
|
| La solution est alors d'utiliser la commande chroot :

Erk :)
J'imagine le bordel :
- recréer /dev



Un "MAKEDEV generic" au bon endroit devrait suffire.

- peupler /bin
- " /lib
- " /usr/bin
- " /usr/lib
- " /var...
- mettre un /tmp
- monter /proc
...

Faut rien oublier !



L'astuce indiquée dans l'URL d'origine est d'utiliser debootstrap qui se
charge d'une bonne partie des modifications et garantit d'avoir un
système cohérent à la fin. Il reste à ajouter l'utilisateur dans le
chroot et quelques autres opérations supplémentaires.


Fred

--
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Michelle Konzack
--7lT8fFUc+KaZWT5W
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Am 2005-03-31 17:32:37, schrieb :
Selon Frédéric Bothamy :

| * pyb [2005-03-31 14:49] :

| > Je désire créer un utilisateur 'toto' mais qui possède des droi ts
| > ultra-limités (connexion par ssh en console seulement); je
| > m'explique.
|
| Le problème est plus compliqué qu'il n'y paraît : par défaut, p our
| que
| tes utilisateurs puissent accéder à leur répertoire /home/toto, i ls
| doivent avoir accès en lecture (et probablement exécution égaleme nt)
| à
| tous les répertoires parents, donc notamment / et /home.
|
| La solution est alors d'utiliser la commande chroot :

Erk :)
J'imagine le bordel :
- recréer /dev
- peupler /bin
- " /lib
- " /usr/bin
- " /usr/lib
- " /var...
- mettre un /tmp
- monter /proc
...

Faut rien oublier !



Et apres tu crée un archive tar pour la prochaine utilisation
et mettre cet truc sur un site accessible pour tous... :-)

Thomas.



Greetings
Michelle

--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack Apt. 917 ICQ #328449886
50, rue de Soultz MSM LinuxMichi
0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)

--7lT8fFUc+KaZWT5W
Content-Type: application/pgp-signature; name="signature.pgp"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCTB8fC0FPBMSS+BIRAuaGAJ9Xu5FoW79gf0q/fvc6SYxLZkilKwCdGpbX
3r8dNENE8u7DVbPpPWXRgjY =mozh
-----END PGP SIGNATURE-----

--7lT8fFUc+KaZWT5W--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
jm
On Thu, 31 Mar 2005 16:29:42 +0200
pyb a tapoté sur son clavier:

Merci pour vos réponses rapides!
Je vais tester ça (j'avais déjà un chroot pour tester des distrib, mais
je n'avais pas pensé à ça, comme quoi...)




--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact .org




y a ibsh

http://ibsh.sourceforge.net/
http://sourceforge.net/project/screenshots.php?group_id4831

Iron Bars SHell, or short ibsh is my first attempt to create a restricted w orking environment for
Linux/Unix. I'm sure that many system administrators wish or have wished f or a way to lock some/all
users into a safe dungeon, where they can only do harm to their own files. Even more important is the
protection against users reading sensitive files, for example the /etc/pas swd file, which is
accessible for any person with an unrestricted shell. But many system file s may be listed here. Users
could easily gain information, that could help malicious hackers to compro mise the system, the
network, the company.
Many attempts have already been made to fix this problem. Menu-based and ot her interactive shells have
been created, but they were not able to completely satisfy worried system administrators. The amount
of documents available at various security sites about how to bypass restr ictions, how to hack through
these shells and gain full access, shows, that ANY experienced Linux user is able to cause big
problems.