Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2022 (16.x) och senare versioner på Linux
Den här artikeln beskriver hur du kan konfigurera och hantera lösenordsprinciper för SQL-inloggning från och med SQL Server 2022 (16.x) Kumulativ uppdatering (CU) 23 och SQL Server 2025 (17.x).
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
I SQL Server 2025 (17.x) och senare versioner på Linux kan du ange följande konfigurationsparametrar i mssql.conf filen för att tillämpa en anpassad lösenordsprincip.
| Konfigurationsalternativ | Beskrivning |
|---|---|
passwordpolicy.passwordminimumlength |
Anger det minsta antal tecken som krävs för ett lösenord. Lösenord kan vara upp till 128 tecken långa. |
passwordpolicy.passwordhistorylength |
Anger antalet tidigare lösenord som systemet kommer 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
Du kan för närvarande ange passwordminimumlength till 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.
Du kan konfigurera anpassade lösenordsprinciper för SQL-autentiseringsinloggningar i SQL Server på Linux på två sätt:
- Framtvinga en anpassad lösenordsprincip med adutil
-
Konfigurera
mssql.conffilen manuellt med verktyget mssql-conf
Ange en anpassad lösenordsprincip med adutil
I miljöer där principhantering är centraliserad i en Active Directory-server (AD) ställer domänadministratörer in och ändrar lösenordsprincipvärdena på AD-servern. Linux-datorn som kör SQL Server måste 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
Upprätta en Kerberos-autentiserad session:
Kör
kinitmedsudoför att hämta eller förnya Kerberos biljettbeviljande biljett (TGT).Använd ett privilegierat konto för kommandot
kinit. Kontot behöver behörighet att ansluta till domänen.
I följande exempel ersätter du
<user>med ett konto som har utökade privilegier i domänen.sudo kinit <user>@CONTOSO.COMKontrollera att biljetten har beviljats:
sudo klistFör att uppdatera lösenordsprincipen, förfråga domänen med adutil:
sudo adutil updatepasswordpolicyOm kommandot lyckas ser utdata ut ungefär som i följande exempel:
Successfully updated password policy in mssqlconf. Restart SQL Server to apply the changes.Du kan valfritt lägga till
--pathalternativet 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.Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Ange en anpassad lösenordsprincip manuellt med mssql-conf
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ösenordspolicyerna från.
Kör följande mssql-conf-kommandon för att ange varje principkonfigurationsegenskap.
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 14Ange 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 1Ange 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 8Ange 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 45Starta om SQL Server-tjänsten.
sudo systemctl restart mssql-server
Begränsningar
För närvarande kan passwordminimumlength 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 du definiera eller avdefiniera varje lösenordsprincip på gruppnivå med hjälp av en kryssruta.
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.