Re: utilisateur linux sans acces

Page principale

Répondre à ce message
Auteur: Dominique Fournier
Date:  
À: guilde
Sujet: Re: utilisateur linux sans acces
Il existe plein de tutos pour faire cela avec Postfix et Dovecot.
Tous les mails sont stockés sur un utilisateur réel du serveur. Les
utilisateurs virtuels sont stockés dans un fichier/base de données/LDAP.

Postifx : /etc/postfix/main.cf
Exemple en MYSQL pour moi :
#Virtual domains, users, and aliases
virtual_mailbox_domains =
mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
Je fais aussi une distribution par docevot :
virtual_transport = lmtp:inet:localhost:312

Créer les fichiers d'accès la la base de données MySQL :
- /etc/postfix/mysql-virtual-mailbox-maps.cf
user = yyyy
password = xxxx
hosts = 192.168.1.102
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'
- /etc/postfix/mysql-virtual-alias-maps.cf
user = yyyy
password = xxxx
hosts = 192.168.1.102
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'

Dovecot :
Activer protocol lmtp dans 10-director.conf
Dans 10-master :
service lmtp {
   unix_listener lmtp {
     #mode = 0666
   }


   # Create inet listener only if you can't use the above UNIX socket
   inet_listener lmtp {
     # Avoid making LMTP visible for the entire internet
     #address = 192.168.1.101
     port = 312
   }
}


Dans 10-mail.conf
mail_home = /data/mail/vhosts/%d/%n
mail_location = maildir:~/mail
mail_uid = vmail
mail_gid = vmail

Dans dovecot-sql.conf.ext
driver = mysql
connect = host=192.168.1.102 dbname=mailserver user=yyyy password=xxxx
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM virtual_users WHERE
email='%u';
user_query = SELECT email as user FROM virtual_users WHERE email='%u';
iterate_query = SELECT email AS user FROM virtual_users

Le processus est donc le suivant
1. Postfix reçoit un mail. Il vérifie dans MySQL si l'utilisateur est
valide. Si oui, il envoie à Dovecot par LMTP
2. Dovecot stocke le mail dans
/data/mail/vhosts/DOMAINE/UTILISATEUR/mail/ au format Maildir

L'utilisateur peut venir lire son mail par IMAP ou POP, définir les
filtres SIEVE dans Dovecot, ils sont appliqués.
Comme les utilisateurs sont en base de données, il n'est pas possible
pour eux de se connecter au serveur.

Il est néanmoins possible de mutualiser cette authentification pour un
usage futur: la plupart des serveurs ont la possibilité de demander
l'authentification à un MySQL externe.

Ai-je répondu à ta question ?

Bonne soirée

Dom


Le 16/02/2019 à 19:44, Frederic Bressy a écrit :
> bonjour
>
> création utilisateur en virtuel je ne connais pas
>
> Fred Bressy
>
> Le 16/02/2019 à 10:18, Dominique Fournier a écrit :
>> Bonjour
>>
>> Cree tes utilisateurs en Virtuel. Ils peuvent alors recevoir des mails
>> et en envoyer au travers des outils Postfix/Dovecot ou équivalent,
>> mais ils n'ont pas de compte réel sur le serveur.
>> Du coup, ils ne peuvent pas se connecter en SSH, FTP,...
>>
>> Tu peux créer la base des utilisateurs virtuels dans un fichier texte
>> ou dans une base de données ou dans un annuaire LDAP, qui sera
>> indépendante de ton fichier /etc/passwd.
>>
>> Bonne journée
>>
>> Dom
>>
>> Le 16/02/2019 à 00:36, Frederic Bressy a écrit :
>>> Bonjour
>>>
>>> je dois mettre des user sur une machine juste pour qu'ils puissent
>>> avoir des mails en @domaine.com
>>>
>>> mais ils ne doivent pas se connecter avec une console, ne pas faire
>>> du ftp, etc
>>>
>>>
>>> j'ai trouvé que l'on pouvait faire "useradd -s /bin/false tata" pour
>>> les nouveaux user
>>>
>>> pour les user déjà en place, on peut faire un "chsh -s /bin/false
>>> tata" (en étant en root)
>>>
>>>
>>> avez-vous une autre méthode?
>>>
>>>
>>> et pour les autres accès comme ftp, etc?
>>>
>>>
>>
>>
>
>