j'exécute un serveur sur Ubuntu Server 14.04. Je souhaite créer un utilisateur capable de se connecter via sftp, télécharger un fichier et mettre fin à la connexion. L'utilisateur ne devrait pas pouvoir faire autre chose. Parcourir les fichiers du système ou les paramètres, ni les entrées de ligne de commande, rien. Connectez-vous, téléchargez le fichier, gg. Lorsque le fichier est mis à jour, connectez-vous, téléchargez-le, gg. Le fichier est dans le même répertoire à chaque fois et porte le même nom à chaque fois mais est mis à jour.
EDIT: J'essaie d'implémenter votre solution, mais j'ai rencontré quelques problèmes: Sur le fichier de configuration de ssh sur ma configuration, il y a une ligne avec "allow groupes sshdusers". J'ai ajouté sftp_users. Mais il y a un autre problème à venir. Sudo chown root.root/ubuntu/n'est pas optimal pour moi car root ne peut pas ssh et écrire dans le répertoire le fichier que "ubuntu" doit télécharger (nous l'appellerons user1. Je veux que l'utilisateur1 puisse écrire le répertoire et ubuntu en lecture seule Si je change de Sudo chown user1.user1/ubuntu/et que j'essaie de créer une connexion sftp avec l'utilisateur Ubuntu, la connexion échoue. Si je la laisse en tant que root, je peux me connecter currentdirectory, je ne vois que/et empy sur filezilla.J'ai même ajouté user1 à sftp_users, mais toujours sans succès.
Merci beaucoup
Commençons
Créer un utilisateur ubuntu
name__
Sudo useradd ubuntu
Faire un mot de passe
Sudo passwd ubuntu
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Créer pour le groupe SFTP uniquement
xxx@xxx:~$ Sudo groupadd sftp_users
Ajouter à un utilisateur "Ubuntu" pour le groupe SFTP uniquement
xxx@xxx:~$ Sudo usermod -G sftp_users ubuntu
Faire un répertoire pour sftp
access
Sudo mkdir /ubuntu
Changer de propriétaire, car permission de lecture/écriture
Sudo chown root.root /ubuntu/
Ajouter une permission
Sudo chmod 755 /ubuntu/
Éditer /etc/ssh/sshd_config
Sudo nano /etc/ssh/sshd_config
Commentez et ajoutez une ligne comme ci-dessous
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Ajouter au dernier
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /ubuntu
ForceCommand internal-sftp
Redémarrez le service ssh
name__
Sudo service ssh restart
Avec cette configuration, vous pouvez ssh dans le dossier ubuntu
et obtenir des fichiers. Impossible de put
ou delete
name__
Essayer.
Modifier 1
Pour sftp dans le dossier de droite, éditez /etc/passwd
. Modifiez la ligne pour l'utilisateur ubuntu
afin qu'il ressemble à ceci
Sudo nano /etc/passwd
ubuntu:x:1001:1001::/ubuntu:
Cela changera le dossier personnel de l'utilisateur ubuntu en votre dossier de serveur sftp.
Activer le compte
root
n’est pas une bonne idée.
Vous pouvez ssh au serveur avec user1
.
Si vous ajoutez l'utilisateur user1
à sudoer group
, vous pourrez écrire dans le dossier /ubuntu/
et définir les droits appropriés.
Sudo adduser user1 Sudo
Créer un dossier, écrire dans le dossier Ubuntu. Après les actions, vous devez définir l'autorisation pour l'utilisateur ubuntu
name__. Le moyen le plus simple est de définir une autorisation sur 755
Sudo chmod 755 -R /ubuntu/
-R - l'option donnera l'autorisation de lire pour tous les fichiers et répertoires de l'utilisateur ubuntu
name__