J'ai un server Fedora. Je créerais un count d'user SFTP qui est autorisé à accéder au directory d'origine d'un autre user. C'est possible? Par exemple
user1 -> /home/user1 user2 -> /home/user1
user2 peut accéder au système dans SFTP. Je crée l'user2 avec le groupe generic-group et le chrooté:
(dans mon / etc / ssh / sshd_config)
AllowUsers user1 user2 Match Group generic-group ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no AllowAgentForwarding no X11Forwarding no
Lorsque j'essaie d'accéder au SFTP le système en tant qu'user2, dans le directory / var / log / secure:
Jan 31 11:46:24 perseo sshd[30073]: fatal: bad ownership or modes for chroot directory component "/home/user1/"
J'ai aussi essayé cette règle différente:
Match Group sftpusers ChrootDirectory /sftp/%u ForceCommand internal-sftp
et
mount --bind /sftp/user2/ /home/user1
sans succès.
Vous donnez à user1 et user2 un directory à partager sur le server distant? avec l'autorisation d'écriture de groupe.
chroot est utilisé pour mettre en place un environnement ressortingctif (un mini système de files racine), puis à l'intérieur d'un directory / home / shared_directory.
La première erreur est due au fait que vous définissez chrootdirectory sur le directory de base des users (tout ce qui se trouve dans chroot devrait appartenir à root et non inscriptible).
La deuxième erreur que vous définissez le chroot dans / sftp / nom d'user
Voici une question similaire.
Utilisateurs SFTP Chroot qui ont besoin d'accéder à plusieurs directorys sous le même dossier parent
Vous ne dites pas cela directement dans votre question, mais j'ai le sentiment que vous essayez de configurer un directory de base pour plusieurs users à des fins SFTP. J'ai un server SFTP d'entreprise que j'ai installé il y a quelques time, donc je vais partager avec vous comment j'ai abordé le problème.
Pour les users disposant d'un directory personnel partagé, j'ai configuré leurs counts comme suit:
$ useradd -n -M -s $shell -g $group -d "/home/$homedir" "$uname"
Où:
$shell
était égal à /sbin/nologin
$group
été défini pour ce groupe: sftponly
$homedir
était le nom de la maison commune dir $uname
est le nom d'user de cet user particulier. J'ai ensuite installé les directorys de la maison comme ceci:
$ mkdir -m 555 -p "/sftpdata/$homedir" $ cp -pr /usr/local/bin/skel/. "/sftpdata/$homedir/."
REMARQUE: Étant donné que ces connections n'étaient pas entièrement compatibles, j'ai géré un directory squelette distinct avec les files sharepoint base dont les counts de ces users avaient besoin.
À ce stade, vous pouvez vous détendre la maison dir. permissions supérieures à 775 si vous souhaitez autoriser les users à écrire des données dans leur directory personnel. Je l'ai mis en place de sorte que l'user avait un directory de téléchargement et de téléchargement, mais j'ai utilisé l'automounter, autofs
puisque leurs directorys personnels étaient réellement montés sur notre NAS.
/etc/auto.master
/home /etc/auto.cifs_sftp --timeout=2 --ghost
/etc/auto.cifs_sftp
* / -fstype=cifs,ro,noperm,netbiosname=${HOST},file_mode=0444,dir_mode=0555,credentials=/etc/sftpuser_credentials.txt ://NASServer/sftpdata/& \ /upload -fstype=cifs,rw,noperm,netbiosname=${HOST},file_mode=0666,dir_mode=0777,credentials=/etc/sftpuser_credentials.txt ://NASServer/sftpdata/&/upload
La structuration de cette façon autofs
les users d'écrire dans le directory de téléchargement, mais leur permettant d'écrire dans le directory de téléchargement. Le file d'informations d'identification (doit être des permissions -rw-------.
) -rw-------.
un count autorisé pour accéder aux partages sur le NAS. Ils sont généralement de la forme:
username=dom\user password=somethingreallylong
Le dernier bit de la technologie que nous devons employer est quelques modifications de SSH de sorte que lorsque SFTP de l'user dans leur count ils sont chrootés.
/ etc / ssh / sshd_config
Subsystem sftp internal-sftp -f AUTH -l INFO AllowGroups sftponly Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no PasswordAuthentication yes
Assurez-vous ensuite de redémarrer le démon SSH.
$ service sshd restart
Si vous chrootez user2 et que vous le contrôlez dans la boîte, pourquoi ne pas utiliser user2 comme user1?
Modifiez votre / etc / passwd et copyz uid de user1 à user2.
Selon ce que vous voulez, cela pourrait être une solution.