OVH Community, your new community space.

chroot users et apache


BBR
21/05/2015, 11h46
la solution donnée au-dessus est super simple à mettre en place (testée sur plusieurs serveurs), elle parait largement suffisante pour gérer un ou deux utilisateurs (ils sont 2 dev), mais c'est clair qu'on peut faire compliqué aussi

janus57
21/05/2015, 00h51
Bonjour,

faut peut être adapter les ACL dans ce genre de cas.

Après perso j'ai jamais utilisé les ACL sous Debian (chmod + user + groupe suffit largement), le seule tuto que j'avais trouvé/vu vis à vis des ACL était pour permettre la "pose" de limite/quota par client au niveau de apache/php sur la RAM/CPU pour éviter que un seule client mange 100% des ressources, ce qui permettait de plafonner par exemple le client à 25% du CPU et 10% de la RAM (ce qui peut être bien pour une plateforme mutualisé ou pour priorisé un site).

Cordialement, janus57

BBR
20/05/2015, 23h39
t'as du mal le faire parce que ça fonctionne ^^

dev75
20/05/2015, 22h29
sur le coup ca ne marche pas

BBR
19/05/2015, 15h10
Une méthode plus simple, valable s'il n'y a pas beaucoup de domaines sur le serveur, sinon utiliser la méthode du groupe sftp

Code:
nano /etc/ssh/sshd_config
à la fin du fichier tu ajoutes ces lignes


Code:
#chroot utilisateur1
Match User le_nom_utilisateur1
    ChrootDirectory /home
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
    
    #chroot utilisateur2
Match User le_nom_utilisateur2
    ChrootDirectory /home
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

tu relances le service
Code:
service ssh restart
Tu peux stopper le serveur ftp
Code:
service proftpd stop
et même bloquer le port 21 dans ton firewall (où ne pas l'ouvrir)

Chaque utilisateur ne pourra visualiser que son répertoire et ne pourra pas remonter dans l'arborescence (il pourra voir le nom des autres users mais ne pourra pas aller dans leurs répertoires)

dev75
16/05/2015, 17h50
Un truc bien chiant, on a 15 sites hebergé,

La ou avant on avait simplement un login/password a se rappeler, il en faut 15...

BBR
16/05/2015, 17h19
oui, et de façon plus générale Google est un ami précieux ^^

dev75
16/05/2015, 13h41
est ce normal que j'ai 3 fichiers ?

.bash_logout
.bashrc
.profile

BBR
16/05/2015, 13h16
rien de récursif sur un fichier, la récursivité c'est pour les répertoires, auquel cas le -R se met comme ça : chwon -R

dev75
16/05/2015, 12h52
ah oui j'oublais une derniere question, est ce qu'il faut ajouter le groupe sftp_chroot a www-data ?

Pour les droits BBR je pense que tu voulais dire de maniere recursive ?

chown dev75:sftp_chroot /home/dev75/www/lefichier -R

janus57
16/05/2015, 12h49
Bonjour,

pourquoi reinstaller ssh ?
apt-get install ssh openssh-server
seul vous pouvez répondre à cette question, mais si vous accéder au serveur vous avez forcément SSH pour pouvoir rentrer les commandes cité plus haut.

Question bete, faut il passer a Debian 8 ? ou rester sur Debian 7 ?

J'ai cru comprendre que exim etait natif sur 8.
au choix de l'admin et non exim4 n'est pas "natif" dans le sens ou il est peut être installé par défaut avec un iso qui viens du site debian.org, mais chez OVH les installe "nue" sont sans exim4 de mémoire.

Cordialement, janus57

dev75
16/05/2015, 12h45
Question bete, faut il passer a Debian 8 ? ou rester sur Debian 7 ?

J'ai cru comprendre que exim etait natif sur 8.

dev75
16/05/2015, 12h29
j'ai une question

pourquoi reinstaller ssh ?
apt-get install ssh openssh-server

car il n'est pas par defaut apres l'installation d'ovh ?

BBR
16/05/2015, 08h28
tu as aussi cette façon de faire :
tu dézippes avec root puis tu déplaces le fichier dans le répertoire de l'utilisateur
mv lefichier /home/dev75/www
puis tu lui mets les droits pour utilisateur dev75 dans le groupe sftp_chroot
chown dev75:sftp_chroot /home/dev75/www/lefichier
n'ayant jamais utilisé setfacl, je ne sais pas si ta méthode est sécure

dev75
15/05/2015, 23h32
Bon ca marche ! Merci beaucoup BBR

merci j'ai trouvé le probleme ne viens pas de la config linux , mais des droits sur le reportoir tmp
je ne sais pas pourquoi sert ces deux lignes mais grace a elle mon calvaire se termine,

root:/home/dev75/www# setfacl -R -m u:www-data:rwx app/tmp
root:/home/dev75/www# setfacl -R -d -m u:www-data:rwx app/tmp

dev75
15/05/2015, 23h09
Merci BBR, je teste ca tout de suite,

Une question , par rapport au tuto, est ce qu'il est possible de donner la console a dev75?
Car j'ai besoins de d'utiliser des lignes de commandes par exemple "composer"
ou parfois faire un unzip, les fichiers que j'envois et dezip sont trop gros.

Actuellement je passe par root pour dezipper, mais quand il dezippe il prend les droits root.

BBR
15/05/2015, 13h50
alors cette méthode fonctionne
on installe ceci
Code:
apt-get install ssh openssh-server
on ajoute un groupe sftp
Code:
addgroup sftp_chroot
on édite le fichier de configuration
Code:
nano /etc/ssh/sshd_config
# on vérifie que cette ligne est présente
Code:
Subsystem sftp /usr/lib/openssh/sftp-server
# puis on ajoute en fin de fichier :
Code:
Match Group sftp_chroot
        ChrootDirectory /home/%u
        ForceCommand internal-sftp
        AllowTcpForwarding no
on relance le service ssh
Code:
/etc/init.d/ssh restart
on ajoute l'utilisateur (dev75 dans l'exemple)
Code:
useradd dev75 --gid sftp_chroot --groups sftp_chroot -m --shell /bin/false
on lui met un mot de pass
Code:
passwd dev75
Pour limiter l'utilisateur à son répertoire

Code:
chown root /home/dev75
Code:
chmod go-w /home/dev75
On crée le répertoire de travail de l'utilisateur, par exemple www
Code:
mkdir /home/dev75/www
Code:
chown dev75:sftp_chroot /home/dev75/www
Code:
chmod ug+rwX /home/dev75/www
ensuite se connecter avec l'utilisateur dev75 avec le pass sur le port 22 (sftp)
il ne peut pas remonter au-delà des www
(condensé de ce tuto : http://www.kitpages.fr/fr/cms/193/in...oot-sur-debian )

janus57
15/05/2015, 12h44
Bonjour,

j'ai finit par demander et payer un pro pour le faire , et il y est depuis 12h dessus...
pas un pro si c'est pour installer du LAMP...

ISP et consorts c'est des nids a probleme c'est encore pire. Je veux pas passer mon temps a patcher et attendre sagement la prochaine faille de securité.
euh les 3/4 des failles c'est pas des panels d'administration mais des sites et plugins qu'on rajoute par dessus.

J'ai un ISPConfig de test depuis 6mois et y a une MAJ tous les 2/3 mois qu'on a juste a faire en 1commande et qui ne pose aucune problème et je peu jouer à coup de aptitude/install sans rien casser ou avoir de problèmes.

Lol, grave, il s'en sort pas...
nan le probleme n'est pas d'installer un lamp.
le probleme c'est d'installer un sftp + un lamp. x par le nb sites

l'idée est de donner l'acces a des developpeurs pour qu'ils s'amusent un acces sftp.

mais le probleme est que j'upload un gros fichier zip et dezip avec le compte ssh en root.

je redonne les permissions...
bon bref ca marche pas
Euh non tu lui fait un git qui téléverse de manière automatique sur un répertoire de dev's, pas besoin d'accès SFTP et quand bien même pourquoi y aller à coup de root dans changer les droits après coups ?

Car bon dézipper un fichier puis faire
Code:
chown -R monuser:mongroupe /home/monsite/mondossier
c'est pas la mort et j'utilise ça depuis 2ans sur des LAMP sans avoir de problèmes (après je suis tout seule sur la machine et si jamais on doit être plusieurs on passe par git, plus simple).

Cordialement, janus57

dev75
15/05/2015, 11h33
de toute facon , c'est un truc qui est trop compliqué a mettre en place.

BBR
15/05/2015, 10h43
Citation Envoyé par dev75
bon c'est marrant, mais je viens avec un probleme et je repars avec 15. et je me fait traiter de noobs en surprime
bah, vu tes questions et ton acharnement à dire que tout est la faute des autres ou du matériel, que toi tu es un crack, c'est un peu logique, si tu es aussi compétent que tu le prétends, chrooter un user dans son répertoire ne devrait te poser aucun problème.
Bon courage à ton "infogérant".

dev75
15/05/2015, 10h12
bon c'est marrant, mais je viens avec un probleme et je repars avec 15. et je me fait traiter de noobs en surprime

dev75
15/05/2015, 09h43
quand au webmin lol c'est de la daube. pas intuitif du tout.

dev75
15/05/2015, 09h41
Lol, grave, il s'en sort pas...
nan le probleme n'est pas d'installer un lamp.
le probleme c'est d'installer un sftp + un lamp. x par le nb sites

l'idée est de donner l'acces a des developpeurs pour qu'ils s'amusent un acces sftp.

mais le probleme est que j'upload un gros fichier zip et dezip avec le compte ssh en root.

je redonne les permissions...
bon bref ca marche pas

BBR
15/05/2015, 09h19
un panel type virtualmin est très simple à utiliser et à maintenir : un clic dans l'interface graphique ou en ssh un apt-get update && apt-get upgrade -y et tout se met à jour sans prise de tête, ça doit faire partie de tes grandes compétences, virtualmin étant composé de webmin et usermin, rien d'exotique.
Ton infogérant est dessus depuis 12h pour installer un LAMP ? Waouh !

dev75
15/05/2015, 08h01
j'ai finit par demander et payer un pro pour le faire , et il y est depuis 12h dessus...
ISP et consorts c'est des nids a probleme c'est encore pire. Je veux pas passer mon temps a patcher et attendre sagement la prochaine faille de securité.

merci quand meme de votre aide.

janus57
15/05/2015, 00h52
Citation Envoyé par dev75
n'importe quoi , c'est pas 5 balles, la je suis deja a 40 euros par mois avec cette daube
Bonjour,

du coup vous êtes plus à 40€ prêt pour faire une demande d'infogérance a un pro qui va tout vous config en 1 à 4H selon vos besoins et avec toute les sécurités.

Car comme @Fonchy l'a dit, que le serveur coûte 5/15/30/40/50/60 voir plusieurs centaines par mois c'est ce qu'on fait dessus qui lui dicte son comportement.

Sinon dans votre cas plutôt que de payer un infogérant ou poser des questions sans lire les docs, pourquoi ne pas utiliser un panel Virtualmin/ISPConfig voir d'autre, c'est pas ce qui manque et y aura déjà les fonctions de sécurité au niveau de l'isolement des sites/users/sftp/ftp etc...

Cordialement, janus57

Fonchy
14/05/2015, 23h01
On n'est pas dans la 4ème dimension et internet ne se divise (toujours) pas par zéro. La daube fait que ce qu'on lui dit de faire. Généralement la "daube" à blâmer fait office d'interface chaise-clavier.

Sur ce, bon courage. Je suis sur que tu t'en sortira très bien compte tenu de tes compétences, qui triompheront à coup sûr de la daube hors de prix dont tu es la malheureuse victime

On se contentera de retenir pour la postérité "Je trouve que c'est trop compliqué. je ne suis pas incompetent".

dev75
14/05/2015, 22h54
n'importe quoi , c'est pas 5 balles, la je suis deja a 40 euros par mois avec cette daube

Fonchy
14/05/2015, 22h25
Alors le plus simple serait de rester sur un hébergement mutualisé ou faire appel à un infogéreur, ça sera moins compliqué malgré le fait que tu sois hautement compétent et à qui tu pourra dire via le support que c'est nul.
Mais ça ne coûtera pas cinq balles.

dev75
14/05/2015, 22h11
c'est deja fait. ca ne marche pas.

Ceci dit, je ne peux pas me permettre d'aller dans chaque repertoire et lui appliquer les droits differents. Parce que je ne veux pas passer mon temps a ca.


Je trouve que c'est trop compliqué. je ne suis pas incompetent. oui kimsufi c'est nul. il n'y a rien a dire de plus.

Fonchy
14/05/2015, 21h42
Pas tant que ça j'imagine, compte tenu qu'à présent le problème est autre. Tu râles beaucoup à chaque post sans jamais remettre en question ton incompétence. Une fois c'est Kimsufi qui est nul, une autre fois ceci, maintenant c'est plein de déchets.

A priori c'est un problème de droits. Met ton répertoire /cache en 777 pour voir.

dev75
14/05/2015, 21h08
Ca donne surtout pleins de déchets, passer des heures a tester des trucs, mais au final ca ne donne rien.
j'ai regardé les liens et appliqué et me retrouve un peu coincé.

car j'ai un autre soucis
Warning: _cake_core_ cache was unable to write 'cake_dev_fr-fr' to File cache in /home/dev75/www/lib/Cake/Cache/Cache.php on line 323

Fonchy
14/05/2015, 12h53
Google nous donne parfois des choses intéressantes :
https://www.google.fr/search?q=becau...m=122&ie=UTF-8

http://superuser.com/questions/88259...onent-of-the-p

dev75
14/05/2015, 12h00
Bonjour
J'ai un soucis de pour faire cohabiter chroot et apache, quand le site affiché par apache marche, sftp ne me permet pas d'acceder aux repertoires. et vice versa

Je fait ceci pour le sftp et ca marche au niveau sftp mais mon site n'apparait plus, indiquant des problemes de droits

dev75 etant un repertoire qui sert de htdocs pour l'utilisateur et aussi un espace accessible via sftp.

Message d'erreur
Code:
 [pid 18062] (13)Permission denied: [client:37611] 
AH00035: access to /install denied (filesystem path '/home/dev75') 
because search permissions are missing on a component of the path
Ce que j'ai fait
Code:
chmod -R 750 /home/
chmod -R 755 /home/dev75/www/
un ls dans /home/ me donne
Code:
drwxr-x--- 3 root sftpusers 4096 mai   14 11:11 dev75
un ls dans /home/dev75 me donne
Code:
drwxr-xr-x 6 dev75 sftpusers     4096 mai   14 11:53 www
un id dev75
Code:
uid=1000(community) gid=1000(sftpusers) groupes=1000(sftpusers),33(www-data)
Auriez vous une idées ?