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 Linux üzerinde SQL Server için gerekli hizmet hesapları ve dosya sistemi izinleri açıklanmaktadır. Windows üzerinde SQL Server izinleri hakkında daha fazla bilgi için bkz. Windows hizmet hesaplarını ve izinlerini yapılandırma.
Yerleşik Windows ilkeleri
Linux üzerinde SQL Server, mssql işletim sistemi kullanıcı hesabı altında çalışıyor olsa da, uyumluluk için SQL Server katmanında aşağıdaki Windows ilkeleri 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 |
sysadmin (sabit rol yok) | 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 Veritabanı Altyapısı'nda SQL Server 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 Linux'ta SQL Server'ı 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 SQL Server Agent için asgari roller
| 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ımcı 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ı (gönderme) | 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 |
Dağıtım Aracısı (gönderme) ile aynı, ancak anlık görüntü paylaşımı izinleri Abone sunucusunda uygulanır. |
| Birleştirme Aracısı | mssql |
Yayımcı, 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. Publisher'a db_owner ile yayın veritabanına bağlanır. |
En iyi yöntemler
mssql SQL Server tarafından kullanılan kullanıcı ve grup varsayılan olarak oturum açma hesabı değildir ve bu şekilde tutulmalıdır. Güvenlik amacıyla, mümkün olduğunca Linux üzerinde SQL Server için Windows kimlik doğrulamasını kullanın. Linux üzerinde SQL Server için Windows kimlik doğrulamasını yapılandırma hakkında daha fazla bilgi için bkz . Öğretici: Linux üzerinde SQL Server 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.