Dela via


Ange en anpassad lösenordsprincip för SQL-inloggningar i SQL Server i Linux

Gäller för: Förhandsversion av SQL Server 2025 (17.x) – Linux

Den här artikeln beskriver hur du kan konfigurera och hantera lösenordsprinciper för SQL-inloggning för SQL Server i Linux.

Lösenordsprinciper är en viktig aspekt för att skydda alla databasmiljöer. De framtvingar:

  • Komplexitet
  • Förfallodatum
  • Ändringar

Den här tillämpningen säkerställer att inloggningar som använder SQL Server-autentisering är säkra.

Anmärkning

Lösenordsprinciper är tillgängliga i Windows. Mer information finns i lösenordsprincip.

Anpassade principinställningar

Från och med förhandsversionen av SQL Server 2025 (17.x) i Linux kan du ange följande konfigurationsparametrar i mssql.conf filen för att framtvinga en anpassad lösenordsprincip.

Konfigurationsalternativ Beskrivning
passwordpolicy.passwordminimumlength Definierar det minsta antal tecken som krävs för ett lösenord. Lösenorden kan vara upp till 128 tecken långa.
passwordpolicy.passwordhistorylength Avgör antalet tidigare lösenord som måste kommas ihåg.
passwordpolicy.passwordminimumage Anger den minsta varaktighet som en användare måste vänta innan de ändrar sitt lösenord igen.
passwordpolicy.passwordmaximumage Anger den maximala varaktighet som ett lösenord kan användas innan det måste ändras.

Anmärkning

För närvarande kan passwordminimumlength ställas in på färre än åtta tecken. Lösenordet bör följa SQL Server-standardprincipen för lösenord. Lösenordet måste som standard vara minst åtta tecken långt och innehålla tecken från tre av följande fyra uppsättningar: versaler, gemener, bas-10 siffror och symboler. Lösenord kan vara upp till 128 tecken långa. Använd lösenord som är så långa och komplexa som möjligt.

Det finns två sätt att konfigurera anpassade lösenordsprinciper för SQL-autentiseringsinloggningar i SQL Server i Linux:

Ange en anpassad lösenordsprincip med adutil

I miljöer där principhantering är centraliserad i en Active Directory-server (AD) kan domänadministratörer ange och ändra lösenordsprincipvärdena på AD-servern. Dessutom måste Linux-datorn som kör SQL Server också vara en del av Windows-domänen.

Använd adutil för att hämta lösenordsprincipen från AD-servern och skriva den till mssql.conf filen. Den här metoden erbjuder fördelen med centraliserad hantering och säkerställer konsekvent tillämpning av principer i SQL Server-miljön.

Krav för adutil

  1. Upprätta en Kerberos-autentiserad session

    • Kör kinit med sudo för att hämta eller förnya Kerberos biljettbeviljande biljett (TGT).

    • Använd ett privilegierat konto för kommandot kinit. Kontot måste ha behörighet att ansluta till domänen.

    I följande exempel ersätter du <user> med ett konto med utökade privilegier i domänen.

    sudo kinit <user>@CONTOSO.COM
    
  2. Kontrollera att biljetten har beviljats:

    sudo klist
    
  3. För att uppdatera lösenordsprincipen, förfråga domänen med adutil:

    sudo adutil updatepasswordpolicy
    

    Om kommandot lyckas bör du se ett liknande meddelande:

    Successfully updated password policy in mssqlconf.
    Restart SQL Server to apply the changes.
    

    Du kan valfritt lägga till --path alternativet till det föregående kommandot. Du kan använda det här alternativet om du har verktyget mssql-conf på en annan plats än standardsökvägen. Standardsökvägen är /opt/mssql/bin/mssql-conf.

  4. Starta om SQL Server-tjänsten:

    sudo systemctl restart mssql-server
    

Ange en anpassad lösenordsprincip med mssql-conf manuellt

Du kan ange lösenordsprincipen för SQL-autentiseringsinloggning genom att uppdatera parametrarna mssql.conf i filen med mssql-conf. Den här metoden ger enkelhet och direkt kontroll över principinställningarna.

Använd den här metoden när Linux-värden som kör SQL Server inte är en del av domänen och det inte finns någon domänkontrollant att hämta lösenordsprinciperna från.

Kör följande mssql-conf-kommandon för att ange varje principkonfigurationsegenskap.

  1. Ange den minsta lösenordslängden till 14 tecken, med de komplexitetskrav som beskrivs i lösenordsprincipen.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumlength 14
    
  2. Ange den lägsta lösenordsåldern till en dag. Användare kan ändra sitt lösenord efter en dag.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. Ange längden på lösenordshistoriken till 8. Användarna måste använda åtta unika lösenord innan de återanvänder ett gammalt lösenord.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. Ange den maximala lösenordsåldern till 45 dagar. En användare kan använda ett lösenord i upp till 45 dagar innan användaren måste ändra det.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. Starta om SQL Server-tjänsten.

    sudo systemctl restart mssql-server
    

Begränsningar

För närvarande kan minimumpasswordlength inte anges till fler än 14 tecken.

När du har uppdaterat gruplösenordsprincipen i Active Directory måste du manuellt köra adutil updatepasswordpolicy kommandot för att uppdatera mssql.conf. Det här kommandot körs inte automatiskt. Kontrollera att Linux-datorn som kör SQL Server är en del av domänen eller ange den manuellt med mssql-conf.

I Active Directory kan varje lösenordsprincip på gruppnivå definieras eller odefinieras med en kryssruta.

Skärmbild av säkerhetsinställningen för minsta lösenordslängd.

Om du avmarkerar principen inaktiveras den dock inte i SQL Server i Linux. Om du vill undvika att tillämpa den anpassade lösenordsprincipen uppdaterar du inställningarna i mssql-conf i stället för att förlita dig på kryssrutan.