2012-11-08 28 views
6

Với Vải, theo this documentation, bạn có thể chạy một lệnh shell tùy ý mà không có một fabfile như thế này:Làm cách nào để chạy lệnh sudo tùy ý của Vải mà không phải nhập mật khẩu?

fab -H host1,host2 -- echo 'hello, world!' 

Bạn cũng có thể chạy sudo lệnh trong cùng một cách, nhưng bạn sẽ được nhắc nhập mật khẩu sudo cho mọi máy chủ trong danh sách.

Có cách nào để tránh phải nhập mật khẩu sudo cho mỗi máy chủ, phải có chức năng Fabric sudo() hoạt động không?

+0

Áp phích gốc dường như đang hỏi làm cách nào tôi có thể thực hiện các thao tác sau mà không được nhắc nhập mật khẩu sudo cho mỗi máy chủ lưu trữ: 'fab -H host0, host1, host2 - sudo/root/bin/my_script_that_must_be_run_as_root.sh'. Tôi biết làm thế nào để viết một fabfile để làm điều đó, nhưng tôi muốn biết làm thế nào để làm điều đó như là một lệnh add-hoc, quá. Tùy chọn -I dường như không hoạt động trong trường hợp này. Tôi đang thử nghiệm với Fabric 1.6.0. – Carl

Trả lời

2

chỉ thêm dòng sau vào etc/sudoers trong đó tên người dùng phải là người dùng dự định sẽ chạy sudo. Bạn nên hiểu ý nghĩa bảo mật của việc làm như sau. Bạn cũng có thể muốn hạn chế các tùy chọn bên dưới để giới hạn các lệnh mà người dùng có thể sudo mà không cần mật khẩu.

myusername ALL=(ALL) NOPASSWD: ALL 
0

Bạn cũng có thể xem xét xác thực pam đối với tệp khóa ssh. Một mồi đẹp sẽ là blog này - entry. Bằng cách này, bạn sẽ không phải thỏa hiệp về an ninh. Bạn thậm chí có thể sao chép keyfile trước khi sudo-hoạt động vào tài khoản từ xa của bạn giả định bạn có một tài khoản đủ điều kiện. :-)

Các vấn đề liên quan