Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/04/2020, à 10: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 ? big_smile

Merci

Hors ligne

#2 Le 23/04/2020, à 18: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, à 19: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, à 10: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, à 10: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 wink

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 big_smile

Dernière modification par billoucactus (Le 25/04/2020, à 11:01)

Hors ligne

#6 Le 25/04/2020, à 10: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

Hors ligne

#7 Le 25/04/2020, à 10:59

billoucactus

Re : Besoin d'aide pour creer un user ssh avec un accès limité

bruno a écrit :

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, à 11: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, à 11:30)

Hors ligne

#9 Le 25/04/2020, à 12: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, à 13:00)

Hors ligne

#10 Le 25/04/2020, à 13: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, à 13:17)

Hors ligne

#11 Le 25/04/2020, à 13: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/

Hors ligne

#12 Le 25/04/2020, à 13:56

billoucactus

Re : Besoin d'aide pour creer un user ssh avec un accès limité

bruno a écrit :

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 smile

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, à 14:00)

Hors ligne

#13 Le 25/04/2020, à 14:11

billoucactus

Re : Besoin d'aide pour creer un user ssh avec un accès limité

Allez j'abandonne sad

Merci quand même pour votre aide smile

Hors ligne

#14 Le 25/04/2020, à 15: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 big_smile

Merci encore !

Hors ligne

#15 Le 25/04/2020, à 16:42

billoucactus

Re : Besoin d'aide pour creer un user ssh avec un accès limité

J'ai presque réussi wink

Connection ok mais sad

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, à 17:01)

Hors ligne

#16 Le 25/04/2020, à 17: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

Hors ligne

#17 Le 25/04/2020, à 18:28

billoucactus

Re : Besoin d'aide pour creer un user ssh avec un accès limité

Je crois que j'ai enfin réussi big_smile

Merci encore !!!!!!!!!!!!!!!!!!!!!

Hors ligne