Dans vsftpd, il y a des utilisateurs virtuels (utilisateurs personnalisés par l'administrateur) parce qu'il est très déconseillé d'utiliser des utilisateurs anonymes et des utilisateurs locaux. On sait qu'un serveur basé sur le protocole SSH doit garantir l'existence d'un système d'utilisateurs. Quand il y a beaucoup d'exigences de synchronisation, il peut être nécessaire de créer de nombreux utilisateurs. Cela ne répond évidemment pas aux normes de fonctionnement et de maintenance de GNU/Linux (plus il y a d'utilisateurs, plus il y a d'utilisateurs non sécurisés). Dans rsync, pour des raisons de sécurité, il y a une méthode d'authentification du protocole rsync.
Comment faire?
Il suffit d'écrire les paramètres et valeurs correspondants dans le fichier de configuration. Dans Rocky Linux 8, vous devez créer manuellement le fichier /etc/rsyncd.conf.
[root@Rocky~]# touch /etc/rsyncd.conf[root@Rocky~]# vim /etc/rsyncd.conf
Certains paramètres et leurs valeurs de ce fichier sont présentés ci-dessous, ici vous trouverez d'autres descriptions de paramètres :
Élément
Observation
address = 192.168.100.4
L'adresse IP sur laquelle rsync écoute par défaut
port = 873
port d'écoute par défaut de rsync
pid file = /var/run/rsyncd.pid
Emplacement du fichier pid du processus
log file = /var/log/rsyncd.log
Emplacement du fichier log
[share]
Partage de nom
comment = rsync
Remarques ou informations de description
path = /rsync/
L'emplacement du chemin système où il est situé
read only = yes
yes signifie lecture seule, pas d'écriture
dont compress = *.gz *.gz2 *.zip
Quels types de fichiers ne sont pas compressés
auth users = li
Activez les utilisateurs virtuels et définissez un utilisateur virtuel. Besoin de le créer vous-même
secrets file = /etc/rsyncd_users.db
Utilisé pour spécifier l'emplacement du fichier de mot de passe de l'utilisateur virtuel, qui doit se terminer en .db. Le format de contenu du fichier est "Username : mot de passe", un par ligne
tip
La permission du fichier de mot de passe doit être 600.
Écrire du contenu du fichier dans /etc/rsyncd.conf et écrire le nom d'utilisateur et le mot de passe dans /etc/rsyncd_users.db, la permission est de 600
On vous indique que l'erreur de lecture est liée à la configuration "read only = yes" du serveur. Changez-la en "no" et redémarrez le service [root@Rocky ~]# systemctl restart rsyncd.service
Essayez à nouveau, à l'affichage de la permission refusée :
Notre utilisateur virtuel ici est li, qui est mappé à l'utilisateur système nobody par défaut. Bien sûr, vous pouvez le changer à d'autres utilisateurs du système. En d'autres termes, nobody n'a pas de permission d'écriture dans le répertoire /rsync/ . Bien sûr, nous pouvons utiliser [root@Rocky ~]# setfacl -mu:nobody:rwx /rsync/ , essayer à nouveau.