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
Hỏi về cách từ chối đăng nhập dưới quyền root SQL Server
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 giờ có điều là chặn tài khoản root đăng nhập từ ip mình cho phép thôi
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' ...
mà IDENTIFIED BY '123456';
là gì nhỉ, mình chưa biết nhiều về sql cho lắm
IDENTIFIED BY 'PASSWORD_PLAINTEXT'
là mật khẩu
Ồ okay để mình thử xem sao
Hình như cách này là của mysql thì phải mình đang dùng sql server
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 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