Thiết lập máy chủ rails (Ubuntu 12.10) trên DigitalOcean và tôi muốn một người dùng không phải root chạy một số lệnh triển khai với quyền truy cập root bằng cách thêm tiền tố sudo
vào lệnh và nhập mật khẩu. Tôi nghĩ rằng tôi có thể chỉnh sửa visudo
như dưới đây, nhưng quyền bị từ chối. Tui bỏ lỡ điều gì vậy?
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# User privilege specification
root ALL=(ALL:ALL) ALL
nonrootuser ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Tôi đã biến nonrootuser thành thành viên của deployers
nhóm trong trường hợp tôi có nhiều tác nhân triển khai trong tương lai. Nhóm đó không được gọi ra bằng visudo, nhưng tôi không biết nó có liên quan hay không, vì vậy tôi đang đề cập đến nó ở đây.
Các lệnh như thế này thất bại từ hộp dev của tôi (không phải máy chủ.) Tôi hy vọng điều này sẽ nối các nội dung của khóa chung của hộp dev của tôi vào tệp ủy quyền của máy chủ trên máy chủ sau khi nhắc mật khẩu nonrootuser. Kết quả thực tế là quyền bị từ chối .
cat ~/.ssh/id_rsa.pub | ssh -p 12345 nonrootuser@123.123.123.123 'cat >> ~/.ssh/authorized_keys'
Tôi đã cố gắng khởi động lại hoàn toàn hộp và vẫn không thay đổi. Tôi cũng đã thử sudo cat...
trong lệnh đường ống của mình mà không có kết quả.
sudo cat...
. Tôi bằng cách nào đó có thể giải quyết điều này bằng cách xóa người dùng và tạo lại. Bằng cách nào đó, điều đó đã làm việc.
sudo
bất cứ nơi nào ở trong đó ...