Hỏi về cách từ chối đăng nhập dưới quyền root SQL Server

Chào mấy bác, hiện em đang có con sql server chạy ở một địa chỉ ip nào đó, giờ em muốn tài khoản sa (~root - mặc định của sql server) chỉ được phép đăng nhập từ localhost và khi đăng nhập tài khoản sa từ các địa chỉ ip khác thì mình từ chối. Có cách nào nhanh để thực hiện việc trên không hoặc có cách nào hay xin mấy bác chỉ giáo :joy:

Cho 1 tài khoản thì mình không rõ, còn toàn bộ server thì bạn có thể vào my.cnf (/etc/mysql/*.cnf) tìm dòng

bind-address 127.0.0.1

rồi thêm IP bạn cho phép truy cập vào là được

Việc cấm địa chỉ ip thì mình dùng iptables chặn được rồi :joy: giờ có điều là chặn tài khoản root đăng nhập từ ip mình cho phép thôi :joy:

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456';

ALL ON *.* là quyền hạn cho IP đó
root là tài khoản chỉ định
% mặc định được set cho tất cả IP đều có thể truy cập, thay bằng IP cụ thể sẽ cho phép IP đó truy cập

Vậy em muốn enable cho localhost only thì query có phải như thế này không bác ?

GRANT ALL ON *.* TO sa@'127.0.0.1' ...IDENTIFIED BY '123456'; là gì nhỉ, mình chưa biết nhiều về sql cho lắm :joy:

IDENTIFIED BY 'PASSWORD_PLAINTEXT' là mật khẩu

Ồ okay để mình thử xem sao :smiley:

Hình như cách này là của mysql thì phải :joy: mình đang dùng sql server :cry:

SQL sv (hình như) không có chức năng GRANT set permission theo IP, chỉ cho user thôi

Trường hợp bạn có thể thử thêm user khác và set permission ít hơn xem sao.

(hàng của ms hay bị đi sau thời đại so với open source).

// Tham khảo

okay mình mới tìm được 1 cách là tạo một user mới trao quyền securityadmin cho nó và tất nhiên nó có thể enable và disable việc login của tất cả user :joy: có thể khi nào muốn dùng thằng root mình sẽ enable, xong việc rồi mình disable lại vậy. Bất tiện vcl :wink:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?