Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, SQL Server on Linux için gerekli hizmet hesapları ve dosya sistemi izinleri açıklanmaktadır. Windows izinleriyle ilgili SQL Server hakkında daha fazla bilgi için bkz. Windows hizmet hesaplarını ve izinlerini yapılandırma.
Yerleşik Windows ilkeleri
SQL Server on Linux mssql işletim sistemi hesabı altında çalışıyor olsa da, uyumluluk için SQL Server katmanında aşağıdaki Windows sorumluları vardır. Riskleri tam olarak anlamadığınız sürece bunları kaldırmayın veya reddetmeyin.
| Müdür | Varsayılan SQL Server rolü | Ayrıntılar |
|---|---|---|
BUILTIN\Administrators |
sysadmin | Ana bilgisayarın kök düzeyindeki yöneticilerine eşleştirir. Bazı sistem nesneleri bu hesap bağlamında çalışır. |
NT AUTHORITY\SYSTEM |
public | Windows SYSTEM hesabı için ayrılmış hizmet tanımlayıcısı (SID). Yine de, başarı sağlaması beklenen platformlar arası betiklerin çalışması için oluşturulmuştur. |
NT AUTHORITY\NETWORK SERVICE |
Hiçbiri (yalnızca uyumluluk) | Geçmişte Windows'da birkaç SQL Server hizmeti için varsayılan başlangıç hesabı. Yalnızca geriye dönük uyumluluk için sunulur. Linux üzerinde SQL Server Database Engine tarafından kullanılmaz. |
Dosya ve dizin sahipliği
Klasör /var/opt/mssql altındaki tüm dosyalar, mssql kullanıcısına ve mssql grubuna (mssql:mssql) ait olmalı ve her ikisi için de okuma ve yazma erişimine sahip olmalıdır. Varsayılan umask()0022 öğesini değiştirirseniz veya alternatif bağlama noktaları kullanırsanız, bu izinleri el ile yeniden uygulamanız gerekir.
Klasör için mssql varsayılan izinler aşağıdaki gibidir:
drwxr-xr-x 3 root root 4096 May 14 17:17 ./
drwxr-xr-x 13 root root 4096 Jan 7 2025 ../
drwxrwx--- 7 mssql mssql 4096 May 14 17:17 mssql/
Klasörün içeriği mssql için varsayılan izinler aşağıdaki gibidir:
drwxrwx--- 7 mssql mssql 4096 May 14 17:17 ./
drwxr-xr-x 3 root root 4096 May 14 17:17 ../
drwxr-xr-x 5 mssql mssql 4096 May 14 17:17 .system/
drwxr-xr-x 2 mssql mssql 4096 May 14 17:17 data/
drwxr-xr-x 3 mssql mssql 4096 Sep 16 22:57 log/
-rw-r--r-- 1 root root 85 May 14 17:17 mssql.conf
drwxrwxr-x 2 mssql mssql 4096 May 14 17:17 secrets/
drwxr-xr-x 2 mssql mssql 4096 May 14 17:17 security/
Kullanıcı veri konumunu, günlük dosyası konumunu veya sistem veritabanı ve günlük konumlarını değiştirme hakkında daha fazla bilgi için bkz. mssql-conf aracıyla SQL Server on Linux yapılandırma.
Tipik SQL Server dizinleri
| Amaç | Varsayılan yol | Ayrıntılar |
|---|---|---|
| Sistem ve kullanıcı veritabanları | /var/opt/mssql/data |
master, model, tempdb ve mssql-conf bunları yeniden yönlendirmediği sürece tüm yeni veritabanlarını içerir. Daha fazla bilgi için bkz. Sistem veritabanları için varsayılan konumu değiştirme. |
| İşlem günlükleri (ayrılmışsa) |
/var/opt/mssql/data, veya mssql-conf set filelocation.defaultlogdir aracılığıyla ayarlanan yol. |
İşlem günlüklerini taşıdıktan sonra aynı sahipliği koruyun. Daha fazla bilgi için bkz. Varsayılan verileri veya günlük dizini konumunu değiştirme. |
| Yedeklemeler | /var/opt/mssql/data |
İlk yedeklemeden önce veya bir birimi ya da dizini eşlerken, chown ile oluşturun ve ayarlayın. Daha fazla bilgi için bkz. Varsayılan yedekleme dizini konumunu değiştirme. |
| Hata günlükleri ve Genişletilmiş Olay (XE) günlükleri | /var/opt/mssql/log |
Ayrıca varsayılan sistem durumu XE oturumunu da barındırıyor. Daha fazla bilgi için bkz. Varsayılan hata günlüğü dosyası dizin konumunu değiştirme. |
| Bellek dökümleri | /var/opt/mssql/log |
Çekirdek dökümleri ve DBCC CHECK* dökümleri için kullanılmaktadır. Daha fazla bilgi için bkz. Varsayılan döküm dizini konumunu değiştirme. |
| Güvenlik sırları | /var/opt/mssql/secrets |
TLS sertifikalarını, sütun ana anahtarlarını vb. depolar. |
Her bir temsilci için minimum SQL Server rolleri
| Temsilci | Farklı çalışır (Linux) | Bağlanacak yer | Gerekli veritabanı rolleri/hakları |
|---|---|---|---|
| Anlık Görüntü Aracısı |
mssql (SQL Agent işi aracılığıyla) |
Distributor | Dağıtım veritabanında db_owner olarak; anlık görüntü klasöründe okuma/yazma yetkisine sahip olun. |
| Kayıt Okuyucu Aracısı | mssql |
Yayıncı ve Dağıtımcı | db_owner yayın veritabanı ve dağıtımında. Yedeklemeden başlat kullanılırken sysadmin gerekebilir |
| Dağıtım Aracısı (itme) | mssql |
Dağıtımcıdan Aboneye | Dağıtımda db_owner; Abonelik veritabanında db_owner. Anlık görüntü klasörünü oku. PAL üyesi. |
| Dağıtım Aracısı (çekme) |
mssql (Abonede) |
Abone Dağıtımcıya Dağıtımcıdan Aboneye |
Distribution Agent (ittirme) ile aynı, ancak anlık görüntü paylaşım izinleri Abone konağına uygulanır |
| Birleştirme Aracısı | mssql |
Publisher, Dağıtımcı, Abone | Dağıtımda db_owner PAL üyesi. Anlık görüntü klasörünü oku. Yayın ve abonelik veritabanlarında okuma/yazma. |
| Kuyruk Okuyucu Ajanı | mssql |
Distributor | Dağıtımda db_owner Yayın veritabanında db_owner ile Publisher'a bağlanır. |
En iyi yöntemler
SQL Server tarafından kullanılan mssql kullanıcı ve grubu varsayılan olarak oturum açma hesabı değildir ve bu şekilde tutulmalıdır. Güvenlik amacıyla mümkün olduğunca SQL Server on Linux için Windows authentication kullanın. SQL Server on Linux için Windows authentication yapılandırma hakkında daha fazla bilgi için bkz. Tutorial: SQL Server on Linux ile Active Directory kimlik doğrulamasını yapılandırmak için adutil kullanma.
Dizinin grup erişimine ihtiyacı olmadığında dosya izinlerini daha fazla kısıtlayın (komutunu chmod 700kullanarak).
Konak dizinlerini veya NFS paylaşımlarını kapsayıcılara veya sanal makinelere bağlarken, önce bunları oluşturun ve UID'yi eşleyin 10001 (için mssqlvarsayılan olarak).
Uygulama oturum açma bilgilerine sysadmin vermekten kaçının. Alternatif olarak ayrıntılı rolleri ve EXECUTE AS kaplayıcıları kullanın. Başka bir sa hesabı oluşturduktan sonra hesabı devre dışı bırakın veya yeniden adlandırın. Daha fazla bilgi için bkz. En iyi yöntem olarak SA hesabını devre dışı bırakma.