Tôi muốn người dùng mặc định, ubuntu
có thể chạy một dịch vụ cụ thể mà không bị nhắc nhập mật khẩu.
Cụ thể systemctl restart unicorn_my_app.service
.
Đã làm theo các hướng dẫn ở đây để thêm người dùng ubuntu
vào một nhóm mới được tạo LimitedAdmins
, được xác nhận với:
$ getent group LimitedAdmins
LimitedAdmins:x:1001:ubuntu
Tạo một tệp mới, limitedadmins
(sử dụng sudo vim
) trong /etc/sudoers.d
thư mục chứa văn bản sau:
%LimitedAdmins ALL=NOPASSWD: /etc/init.d/unicorn_ofn_america restart, /etc/init.d/unicorn_ofn_america start
Tôi cũng đã thử:
%LimitedAdmins ALL=NOPASSWD: /bin/systemctl/unicorn_ofn_america restart, /bin/systemctl/unicorn_ofn_america start
(Và /bin/systemd
)
Nội dung của /etc/sudoers/
là mặc định như được xác nhận với sudo visudo
(hoặc sudo cat /etc/sudoers
):
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root 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
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
(Đăng nhập băm #includedir
không phải là một nhận xét, mà là một phần của cú pháp chỉ thị #incoide ).
Tuy nhiên, vẫn còn một dấu nhắc mật khẩu sau khi chạy systemctl restart unicorn_my_app.service
Dịch vụ có trong init.d
thư mục:
$ ls -l /etc/init.d | grep unicorn
-rwxr--r-- 1 ubuntu ubuntu 1874 Oct 29 06:47 unicorn_my_app
Đã thử chmodding 755
trên ứng dụng, nhưng đừng nghĩ rằng điều đó sẽ tạo ra sự khác biệt, vì ubuntu
dù sao cũng sở hữu nó.
Thậm chí đã thử khởi động lại hệ thống mà không có sự khác biệt. Tôi có thiếu một bước, như khởi động lại / tải lại) không? Cấu hình cái gì sai?
Tôi cũng nên đề cập rằng tôi đã sử dụng vim
để tạo tệp mới bên trong /etc/sudoers.d
, vì dường như visudo
lệnh này chỉ để chỉnh sửa /etc/sudoers
.