Ce qu'il faut ressembler à: mon ubuntu VM est connecté via SSSD à mon serveur Active Directory. Je souhaite un serveur SFTP qui jaillit des utilisateurs incommentaires qui ont un groupe d'annonces spécifique (USR-SFTP @ Domain). Attribué et seulement SFTP et non SSH. Mes utilisateurs d'administrateur avec le groupe attribué à leur groupe (Domain-Admins @ Domain) devraient toujours pouvoir se connecter via SSH mais pas SFTP.
Comment c'est maintenant: j'ai une amende du SSSD. SFTP me fait des problèmes.
SSSD.CONF :
[sssd]
domains = domain
config_file_version = 2
services = nss, pam
default_domain_suffix = domain
[domain/domain]
default_Shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = domain
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = domain
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = simple
simple_allow_groups = Domain-Admins@domain
sshd.conf:
Subsystem sftp internal-sftp
Match Group usr-sftp
ChrootDirectory /appdata/SFTPdata/%u
ForceCommand internal-sftp -d /upload
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
Dossier/Appdata/SFTPDATA /% U appartient à la racine. Dossier/Appdata/SFTPDATA /% U/Upload appartient à l'utilisateur.
Lorsque j'ajoute le groupe d'annonces "USR-SFTP" dans les groupes autorisés dans le SSSD.CONF, je suis capable de se connecter via SSH et SFTP, mais être dirigé vers/home.
Je ne sais pas ce que je fais mal à ce stade.
Il semble qu'il ne soit pas possible d'avoir une configuration de domaine dans SSSD et de pouvoir séparer les autorisations de groupe, ou du moins je ne l'ai pas trouvé. Donc ma solution est comme suit
sssd.conf
[sssd]
domains = domain1.lan, domain2.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = domain.lan
[domain/domain1.lan]
default_Shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = domain.LAN
realmd_tags = manages-system joined-with-adcli
id_provider = ad
overwrite_homedir = /appdata/SFTPdata/%u@%d
ad_domain = domain.lan
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = simple
simple_allow_groups = [email protected]
ldap_user_extra_attrs = altSecurityIdentities:altSecurityIdentities
ldap_user_ssh_public_key = altSecurityIdentities
ldap_schema = ad
[domain/domain2.lan]
default_Shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = domain.LAN
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = domain.lan
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = simple
simple_allow_groups = Domä[email protected]
ldap_user_extra_attrs = altSecurityIdentities:altSecurityIdentities
ldap_user_ssh_public_key = altSecurityIdentities
ldap_schema = ad
remarque: Spécifiez les espaces de domaine que vous avez créés sous [sssd]
(domains = domain1.lan, domain2.lan
) Définissez le bon nom de domaine dans la configuration comme indiqué mais pour simple_allow_groups
Utilisez votre suffixe de domaine spécifié ([email protected]) Cette config incluse également l'authentification de clé publique SSH.
Je sais que je n'ai pas besoin d'utiliser des noms complets, mais dans ce cas, je veux l'utiliser car il est plus facile de vous connecter via SSH ou SFTP. Pour pouvoir vous connecter sur le nœud avec un utilisateur admin, vous devez utiliser ssh [email protected]@server
. C'est jusqu'à présent le seul côté bas, mais je peux vivre avec ça.
sshd_config
:
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
UseDNS no
PasswordAuthentication yes
AcceptEnv LANG LC_*
Subsystem sftp internal-sftp
AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser root
Match Group [email protected]
ChrootDirectory /appdata/SFTPdata/%u
AuthorizedKeysFile /appdata/SFTPdata/%u/.ssh/authorized_keys
ForceCommand internal-sftp -d /upload
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
Avec la configuration SSSD en place, je suis enfin capable d'appliquer complètement la configuration SSHD à partir de maintenant, je peux résoudre les groupes d'annonces et tout fonctionne. À ce stade, les seules choses importantes sont les autorisations de dossier appropriées.
/appdata <- root:root 755
/appdata/SFTPdata <- root:root 700
/appdata/SFTPdata/%u <- root:root 755
/appdata/SFTPdata/%u/upload <- user:[email protected] 700
Il y a probablement une solution plus efficace à cela et je serais heureux de savoir à ce sujet, mais jusqu'à présent, tout fait de travail.