sudo su không thay đổi người dùng cho mysql


13

Đêm qua, trên máy chủ của tôi, tôi đã làm:

sudo su - mysql 

để thay đổi thành người dùng mysql để tôi có thể chạy máy khách mysql, được thiết lập để nó sẽ chỉ xác thực từ tài khoản mysql. Tôi đã chạy thành công máy khách mysql và thực hiện thay đổi cơ sở dữ liệu. Không có gì thay đổi trên máy chủ qua đêm.

Hôm nay, không có gì tôi thử sẽ cho phép tôi thay đổi thành người dùng mysql. Nó dường như thành công, đưa ra thông báo về việc không có thư mục chính, nhưng whoamivẫn báo cáo id người dùng của tôi và cố gắng chạy mysql vẫn thất bại.

wade@snoopy:~$ sudo su - mysql
[sudo] password for wade: 
No directory, logging in with HOME=/
wade@snoopy:~$ whoami
wade

wade@snoopy:~$ sudo su mysql
wade@snoopy:~$ whoami
wade

wwilliam@snoopy:~$ sudo -s
root@snoopy:/home/wade# 
root@snoopy:/home/wade# su mysql
root@snoopy:/home/wade# whoami
root

/ etc / passwd cho mysql:

mysql:x:110:119:MySQL Server,,,:/nonexistent:/bin/false

Có ai từng thấy hành vi như thế này chưa?

Câu trả lời:


19

sugọi shell đăng nhập của người dùng khác như được đưa vào /etc/passwd. Trong trường hợp của bạn đó là /bin/falsevì vậy bạn không nhận được bất kỳ vỏ tương tác.

Sử dụng

sudo -u test /bin/bash

hoặc là

sudo -u test /usr/bin/mysql

hoặc một cái gì đó như thế thay vào đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.