Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan akun layanan yang diperlukan, dan izin sistem file untuk SQL Server di Linux. Untuk informasi selengkapnya tentang izin SQL Server di Windows, lihat Mengonfigurasi akun dan izin layanan Windows.
Prinsipal Windows bawaan
Meskipun SQL Server di Linux berjalan di bawah mssql akun sistem operasi, prinsipal Windows berikut ada di lapisan SQL Server untuk kompatibilitas. Jangan hapus atau tolak kecuali Anda sepenuhnya memahami risikonya.
| Kepala Sekolah | Peran bawaan SQL Server | Detail lebih lanjut |
|---|---|---|
BUILTIN\Administrators |
sysadmin | Memetakan ke administrator root dari host. Objek sistem tertentu berjalan dalam konteks akun ini. |
NT AUTHORITY\SYSTEM |
public | Pengidentifikasi layanan (SID) dicadangkan untuk akun Windows SYSTEM . Tetap dibuat agar skrip lintas platform yang mengharapkannya dapat berhasil. |
NT AUTHORITY\NETWORK SERVICE |
sysadmin (tidak ada peran tetap) | Secara historis akun startup default untuk beberapa layanan SQL Server di Windows. Hanya ada untuk kompatibilitas ke belakang. Tidak digunakan oleh SQL Server di Linux Database Engine itu sendiri. |
Kepemilikan file dan direktori
Semua file di bawah folder /var/opt/mssql harus dimiliki oleh mssql pengguna, dan mssql grup (mssql:mssql), dengan akses baca dan tulis untuk keduanya. Jika Anda mengubah umask default (0022), atau menggunakan titik pemasangan alternatif, Anda harus menerapkan kembali izin ini secara manual.
Izin default untuk mssql folder adalah sebagai berikut:
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/
Izin default untuk konten mssql folder adalah sebagai berikut:
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/
Untuk informasi selengkapnya tentang cara mengubah lokasi data pengguna, lokasi file log, atau database sistem dan lokasi log, lihat Mengonfigurasi SQL Server di Linux dengan alat mssql-conf.
Direktori SQL Server umum
| Tujuan | Jalur default | Detail lebih lanjut |
|---|---|---|
| Database sistem dan pengguna | /var/opt/mssql/data |
Termasuk master, model, tempdb, dan database baru mana pun kecuali mssql-conf mengalihkannya. Untuk informasi selengkapnya, lihat Mengubah lokasi default untuk database sistem. |
| Log transaksi (jika dipisahkan) |
/var/opt/mssql/data, atau jalur yang diatur melalui mssql-conf set filelocation.defaultlogdir. |
Pertahankan kepemilikan yang sama jika Anda memindahkan log transaksi. Untuk informasi selengkapnya, lihat Mengubah lokasi direktori data atau log default. |
| Backups | /var/opt/mssql/data |
Buat dan atur dengan chown sebelum pencadangan pertama, atau saat memetakan volume atau direktori. Untuk informasi selengkapnya, lihat Mengubah lokasi direktori cadangan default. |
| Log kesalahan dan log Extended Event (XE) | /var/opt/mssql/log |
Juga menyelenggarakan sesi XE kesehatan sistem bawaan. Untuk informasi selengkapnya, lihat Mengubah lokasi direktori file log kesalahan default. |
| Pembuangan memori | /var/opt/mssql/log |
Digunakan untuk core dump dan DBCC CHECK* dump. Untuk informasi selengkapnya, lihat Mengubah lokasi direktori cadangan default. |
| Rahasia keamanan | /var/opt/mssql/secrets |
Menyimpan sertifikat TLS, kunci master kolom, dll. |
Peran SQL Server minimum untuk setiap agen
| Agen | Dijalankan sebagai (Linux) | Menyambungkan ke | Hak akses/peran yang diperlukan pada database |
|---|---|---|---|
| Agen Cuplikan |
mssql (melalui pekerjaan Agen SQL) |
Pendistribusi | db_owner dalam database distribusi; akses baca/tulis pada folder snapshot |
| Agen Pembaca Log | mssql |
Penerbit dan Distributor | db_owner dalam database dan distribusi publikasi. Mungkin perlu sysadmin ketika menggunakan inisialisasi dari cadangan |
| Agen Distribusi (dorong) | mssql |
Distributor ke Pelanggan | db_owner dalam distribusi; db_owner dalam database langganan. Membaca folder rekam jepret. Anggota PAL. |
| Agen Distribusi (tarik) |
mssql (pada Pengguna) |
Pelanggan ke Distributor Distributor ke Pelanggan |
Sama seperti Agen Distribusi (push), tetapi izin berbagi snapshot berlaku di host Pelanggan. |
| Agen Penggabung | mssql |
Penerbit, Distributor, Pelanggan | db_owner dalam distribusi. Anggota PAL. Membaca folder rekam jepret. Membaca/menulis dalam publikasi & basis data langganan. |
| Agen Pembaca Antrean | mssql |
Pendistribusi | db_owner dalam distribusi. Menyambungkan ke Publisher dengan db_owner dalam database publikasi. |
Praktik terbaik
Pengguna mssql dan grup yang digunakan oleh SQL Server adalah akun non-login secara default, dan harus disimpan seperti itu. Untuk tujuan keamanan, gunakan autentikasi Windows untuk SQL Server di Linux jika memungkinkan. Untuk informasi selengkapnya tentang cara mengonfigurasi autentikasi Windows untuk SQL Server di Linux, lihat Tutorial: Menggunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server di Linux.
Batasi izin file lebih lanjut (menggunakan perintah chmod 700) setiap kali direktori tidak memerlukan akses grup.
Saat mengikat direktori host atau berbagi NFS ke dalam kontainer atau komputer virtual, buatlah terlebih dahulu, kemudian petakan UID 10001 (sebagai standar untuk mssql).
Hindari memberikan sysadmin ke login aplikasi. Gunakan peran granular sebagai gantinya dan EXECUTE AS pembungkus. Nonaktifkan atau ganti nama sa akun setelah Anda membuat akun sysadmin lain. Untuk informasi selengkapnya, lihat Menonaktifkan akun SA sebagai praktik terbaik.