J'ai besoin d'un moyen simple et facile d'emprisonner les utilisateurs dans leurs répertoires personnels dans Oneiric. Avez-vous une configuration simple pour les utilisateurs en prison, avec une aide complète ou de bons liens Web?
J'offrirais un serveur public gratuit en ligne avec 10 à 20 Go d'espace libre. Je ne sais pas combien d'utilisateurs. Je veux leur donner SSH et SFTP pour qu'ils puissent se connecter via FileZilla.
Réponses:
Jailkit est un ensemble d'utilitaires pouvant limiter les comptes d'utilisateurs à une arborescence de répertoires spécifique et à des commandes spécifiques. La mise en place d'une prison est beaucoup plus facile avec les utilitaires Jailkit qui le font "à la main". Une prison est une arborescence de répertoires que vous créez dans votre système de fichiers. l'utilisateur ne peut voir aucun répertoire ou fichier en dehors du répertoire jail. L'utilisateur est emprisonné dans ce répertoire et ses sous-répertoires.
Télécharger et installer:
http://olivier.sessink.nl/jailkit/index.html#download
Mise en place de la prison
Il est maintenant temps de configurer le répertoire de la prison. Les utilisateurs emprisonnés verront ce répertoire comme répertoire racine du serveur. J'ai choisi d'utiliser / home / jail:
jk_init peut être utilisé pour créer rapidement une prison avec plusieurs fichiers ou répertoires nécessaires à une tâche ou à un profil spécifique (cliquez dessus et lisez tous les détails).
Ajouter un utilisateur
Ajoutez un nouvel utilisateur avec un répertoire personnel et un shell bash, puis définissez le mot de passe:
Maintenant il est temps d'emprisonner cet utilisateur
utilisez la commande suivante:
Votre
/etc/passwd
devrait contenir quelque chose comme ça maintenant:Activer bash
En utilisant jk_cp, les bibliothèques bash sont copiées dans la prison:
modifier
/home/jail/etc/passwd
remplace cette ligne:
avec ça:
Entretien
En utilisant des
jk_update
mises à jour sur le système réel peut être mis à jour dans la prison.Un essai à blanc montrera ce qui se passe:
Sans l'argument -d, la véritable mise à jour est effectuée. Vous trouverez plus d'opérations de maintenance ici.
(S'il
/home/jail/opt
manque, créez le avecmkdir -p /home/jail/opt/
Et lancez àjk_update -j /home/jail
nouveau)Donne accès à d'autres répertoires
Vous pouvez monter des dossiers spéciaux auxquels l'utilisateur de la prison peut accéder maintenant. Par exemple:
Aide prise
la source
Vous ne pouvez pas les limiter à / home car ils ont besoin d'accéder aux fichiers binaires du système et aux fichiers bash et de configuration dans / etc
IMO, la méthode la plus simple pour sécuriser les utilisateurs consiste à utiliser apparmor.
Vous faites un lien dur
Vous ajoutez jailbash à / etc / shells
Vous affectez ensuite jailbash au shell des utilisateurs, puis écrivez un profil apparmor pour jailbash permettant un accès minimal.
Vous devrez écrire vous-même un profil apparmor, mais j'ai un profil avec lequel vous pourriez potentiellement commencer
http://bodhizazen.com/aa-profiles/bodhizazen/ubuntu-10.04/usr.local.bin.jailbash
la source
You can not confine them to /home as they need access to the system binaries and bash and configuration files in /etc
Rien ne vous empêche de lier / copier des fichiers dont vous estimez avoir besoin.jailkit
un outil mentionné dans le PO.Il est difficile de deviner quel but vous pourriez vouloir accomplir. S'il s'agit de refuser ssh / sftp tout en fournissant un accès jailed via FTP ... facile:
Ajoutez à / etc / shells un nouveau shell:
Ajouter une ligne:
Sauver. Pour chaque utilisateur que vous souhaitez refuser à ssh / sftp, changez le shell de l'utilisateur:
Maintenant, userx ne peut plus se connecter via ssh / sftp.
Installez vsftpd:
Editez le fichier de configuration:
Et quelques changements ....
Sauver. Redémarrez vsftpd:
la source
Vous pouvez vérifier en
rbash
tant que shell pour vos utilisateurs.Rechercher une
RESTRICTED SHELL
sectionOu regardez sur cette page http://linux.die.net/man/1/bash
la source
rbash
?