#1 Le 23/04/2020, à 09:50
- billoucactus
Besoin d'aide pour creer un user ssh avec un accès limité
Bonjour,
Quelqu'un pourrait m'aider pour faire un accès limité ?
Je voudrai que l'utilisateur mirror ai uniquement accès au dossier /home/pi/media/Maxtor/ROM
C'est possible ?
Merci
Hors ligne
#2 Le 23/04/2020, à 17:56
- elcastor
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Bonjour,
il te faut le chrooter.
Hors ligne
#3 Le 23/04/2020, à 18:09
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
J'ai essayé, je pense que ça coince parce que le dossier que je veux donner accès ce trouve dans l'utilisateur pi
Dès que je rajoute ça :
## Configuration à ajouter en fin de fichier
Subsystem sftp internal-sftp
Match Group groupe_restreint
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
Le service ne veut pas se lancer
-- L'unité (unit) ssh.service a terminé son arrêt.
avril 23 19:06:58 raspberrypi systemd[1]: ssh.service: Start request repeated too quickly.
avril 23 19:06:58 raspberrypi systemd[1]: ssh.service: Failed with result 'exit-code'.
-- Subject: Unit failed
Hors ligne
#4 Le 25/04/2020, à 09:32
- elcastor
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Bonjour,
il te faut donc également générer les droits Unix en conséquence. Tu peux faire un groupe avec pi et mirror dedans, avec droits d'accès en lecture/écriture à tel dossier, tel autre interdit même en lecture à mirror... ca dépends de ce que tu veux faire.
Soit plus précis pour qu'on puisse t'aider..
Hors ligne
#5 Le 25/04/2020, à 09:51
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
En fait l'idée c'est de partager l'accès a un script qui permet de download un fichier sur mega et de l'uploader sur gdrive, avec ma connexion.
Mes connaissances étant vraiment limité, je pense abandonné l'idée. Le top aurait été d'en faire un site php pour un partage easy
Le script :
#Enter download folder ( empty if default )
echo "Enter download folder Ex:/home/pi/media/Maxtor/ROM/"
read dlfolder
#Download mega
echo "Enter link mega by replace "file/" per "#!" and "#" per "!" ( example : https://mega.nz/#!xxxxx!xxxxxxxxxxxxxxxxxxxxx)"
read link
#Downloading
echo "Downloading"
megadl --path $dlfolder $link
#name file
echo "Enter full folder and name file Ex:/home/pi/media/Maxtor/ROM/xxx.zip"
read namefile
#enter name remote
echo "Enter name remote of rclone Ex:GoogleDrive"
read remote
#enter folder to upload
echo "Enter folder name , Ex:ROM"
read folder
#Ready to uploading
echo "Upload in progress..."
rclone --progress copy $namefile $remote:$folder
#give link
echo "Upload done http://***"
Merci pour tes réponses
Dernière modification par billoucactus (Le 25/04/2020, à 10:01)
Hors ligne
#6 Le 25/04/2020, à 09:52
- bruno
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Il faut que le dossier appartienne à root :
sudo chown root:root /home/pi/media/Maxtor/
sudo chmod a+rX /home/pi/media/Maxtor/
Pour que l'utilisateur miror puisse faire ce quil veut (lire, écrire) il faut un ous dossier qui lui appartienne :
sudo chown miror:miror /home/pi/media/Maxtor/ROM
Dans sshd_config l'utilisateur miror est bloqué dans /home/pi/media/Maxtor et ne peut faire que du SFTP :
Match user miror
ChrootDirectory /home/pi/media/Maxtor/
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
#7 Le 25/04/2020, à 09:59
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Il faut que le dossier appartienne à root :
sudo chown root:root /home/pi/media/Maxtor/ sudo chmod a+rX /home/pi/media/Maxtor/
Pour que l'utilisateur miror puisse faire ce quil veut (lire, écrire) il faut un ous dossier qui lui appartienne :
sudo chown miror:miror /home/pi/media/Maxtor/ROM
Dans sshd_config l'utilisateur miror est bloqué dans /home/pi/media/Maxtor et ne peut faire que du SFTP :
Match user miror ChrootDirectory /home/pi/media/Maxtor/ ForceCommand internal-sftp AllowTCPForwarding no X11Forwarding no
ça veut malheureusement pas :
Erreur : FATAL ERROR: Network error: Software caused connection abort
Erreur : Impossible d'établir une connexion au serveur
Hors ligne
#8 Le 25/04/2020, à 10:28
- bruno
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Ce que j'ai indiqué doit fonctionner.
D'où proviennent les erreurs que tu indiques ?
Il faut donner l'intégralité de ton fichier sshd_config ainsi que les droits sur les dossiers.
EDIT :
J'oubliais il faut aussi ceci dans sshd_config (et non internal-sftp) :
Subsystem sftp /usr/lib/openssh/sftp-server
Dernière modification par bruno (Le 25/04/2020, à 10:30)
#9 Le 25/04/2020, à 11:58
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Alors quand je remplace la ligne force command ... par Subsystem sftp /usr/lib/openssh/sftp-server
ssh restart ne fonctionne plus
pi@raspberrypi:~ $ sudo journalctl -xe
-- Support: https://www.debian.org/support
--
-- L'unité (unit) ssh.service a terminé son arrêt.
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Start request repeated to
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Failed with result 'exit-
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit ssh.service has entered the 'failed' state with result 'exit-code'.
avril 25 12:49:47 raspberrypi systemd[1]: Failed to start OpenBSD Secure Shell s
-- Subject: L'unité (unit) ssh.service a échoué
-- Defined-By: systemd
-- Support: https://www.debian.org/support
Active: failed (Result: exit-code) since Sat 2020-04-25 12:49:47 CEST; 2min 57s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 14956 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255/EXCEPTION)
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Control process exited, code=exited, status=255/EXCEPTION
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Failed with result 'exit-code'.
avril 25 12:49:47 raspberrypi systemd[1]: Failed to start OpenBSD Secure Shell server.
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Service RestartSec=100ms expired, scheduling restart.
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Scheduled restart job, restart counter is at 5.
avril 25 12:49:47 raspberrypi systemd[1]: Stopped OpenBSD Secure Shell server.
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Start request repeated too quickly.
avril 25 12:49:47 raspberrypi systemd[1]: ssh.service: Failed with result 'exit-code'.
avril 25 12:49:47 raspberrypi systemd[1]: Failed to start OpenBSD Secure Shell server.
Si je supprime la ligne subsystem, ssh se lance, se connecte mais pas avec mirror ( RAS avec pi ) : Network error: Software caused connection abort
Mon fichier :
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
IPQoS 0x00
Match user mirror
ChrootDirectory /home/pi/media/Maxtor/
AllowTCPForwarding no
X11Forwarding no
Dernière modification par billoucactus (Le 25/04/2020, à 12:00)
Hors ligne
#10 Le 25/04/2020, à 12:13
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Par contre, je remarque que mon chown ne fonctionne pas
C'est une partition ntfs, surement pour ça
Le problème c'est que je monte pas mes hdd avec fstab mais avec un simple sudo mount
pi@raspberrypi:~ $ ls -l media/Maxtor/ROM/
total 4
-rwxrwxrwx 1 root root 791 avril 23 19:00 testscript.sh
pi@raspberrypi:~ $ sudo chown mirror:mirror media/Maxtor/ROM/*
pi@raspberrypi:~ $ ls -l media/Maxtor/ROM/
total 4
-rwxrwxrwx 1 root root 791 avril 23 19:00 testscript.sh
pi@raspberrypi:~ $ sudo chown mirror:mirror media/Maxtor/ROM/
pi@raspberrypi:~ $ ls -l media/Maxtor/ROM/
total 4
-rwxrwxrwx 1 root root 791 avril 23 19:00 testscript.sh
Dernière modification par billoucactus (Le 25/04/2020, à 12:17)
Hors ligne
#11 Le 25/04/2020, à 12:35
- bruno
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Attention la configuration que j'ai donné est valable pour faire du SFTP uniquement.
Si l'utilisateur doit pouvoir se connecter en SSH avec un shell, c'est plus complexe puisqu'il faut un environnement complet « chrooté ».
Voir par exemple : https://www.tecmint.com/restrict-ssh-us … oted-jail/
ou https://www.techrepublic.com/blog/linux … rectories/
#12 Le 25/04/2020, à 12:56
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Attention la configuration que j'ai donné est valable pour faire du SFTP uniquement.
Si l'utilisateur doit pouvoir se connecter en SSH avec un shell, c'est plus complexe puisqu'il faut un environnement complet « chrooté ».
Voir par exemple : https://www.tecmint.com/restrict-ssh-us … oted-jail/
ou https://www.techrepublic.com/blog/linux … rectories/
Oui c'est ce que j'avais compris
Je tente tes liens, et j'abandonne si ca marche pas
PS : dans ton premier lien, tu pense que c'est dans Maxtor que je dois faire ça ?
Dernière modification par billoucactus (Le 25/04/2020, à 13:00)
Hors ligne
#13 Le 25/04/2020, à 13:11
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Allez j'abandonne
Merci quand même pour votre aide
Hors ligne
#14 Le 25/04/2020, à 14:49
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Je vais chercher quelqu'un qui pourrait éventuellement me le traduire en php
Merci encore !
Hors ligne
#15 Le 25/04/2020, à 15:42
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
J'ai presque réussi
Connection ok mais
L'user peut tout faire sur Maxtor soit supprimer les fichiers etc... hors je voudrais qu'il puisse faire ce qu'il veut, mais uniquement dans le dossier ROM, je pense que c'est au niveau du montage des hdd que ça bloque, j'utilise ça
sudo mount UUID=4E1AEA7B1AEA6007 /home/pi/media/Maxtor
Peut être que je peux rajouter l'uid et le gid ? car par défaut c'est root:root et je voudrais changer en pi:pi, chown ne fonctionne pas
Edit :
J'ai réussi a changer l'uid et le gid mais ça change rien :'(
sudo mount UUID=4E1AEA7B1AEA6007 -o uid=1000,gid=1000 /home/pi/media/Maxtor
Je pense que c'est parce que tout le monde peut écrire dessus, mais malgé l'ajout de dir_mode=0644 et file_mode=0644, pareil :'(
Dernière modification par billoucactus (Le 25/04/2020, à 16:01)
Hors ligne
#16 Le 25/04/2020, à 16:39
- bruno
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Non il faut que le dossier dans le quel l'utilisateur est chrooté appartienne à root. C'est obligatoire.
À toi d'ajuster les propriétaires et droits sur les sous dossiers ou modifier ton arborescence pour qu'il n'ait accès qu'à ce qui dans ROM
#17 Le 25/04/2020, à 17:28
- billoucactus
Re : Besoin d'aide pour creer un user ssh avec un accès limité
Je crois que j'ai enfin réussi
Merci encore !!!!!!!!!!!!!!!!!!!!!
Hors ligne