Tôi đang cố gắng sử dụng vải để tự động hóa một số công việc quản trị mà tôi đang thực hiện trên một vài máy chủ. Dòng chảy chung như sau:Chạy các kịch bản lệnh bằng vải như là root
- SSH với người dùng cục bộ
- chạy:
sudo su -
để trở thành root (cung cấp mật khẩu người dùng cục bộ một lần nữa) - làm công việc như là người chủ :)
Thật không may sử dụng run('sudo su -')
chặn thực thi các tập lệnh và cho phép người dùng nhập. Khi tôi nhập exit
hoặc Ctrl+D
hồ sơ scipt, nhưng không có đặc quyền root.
Tôi đã thấy một vấn đề tương tự trong Switching user in Fabric nhưng tôi hạn chế sudo su -
bởi vì tôi không được phép thay đổi các tập tin /etc/sudoers
chứa các dòng sau:
localuser ALL = /usr/bin/su -
tôi duyệt nguồn gốc của vải cố gắng để tìm cách giải quyết nhưng không thành công.
Hãy xem http://docs.fabfile.org/en/1.4.2/usage/env.html#sudo-prefix và ví dụ này: http://stackoverflow.com/questions/12641514/switch- to-different-user-using-fabric – alecxe
Sử dụng 'sudo_prefix = 'su - -c'' như được mô tả trong bài đăng đó yêu cầu mật khẩu gốc. Nếu tôi sử dụng 'sudo_prefix = 'sudo su - -c'' Tôi nhận được thông báo lỗi này 'Xin lỗi, người dùng cục bộ không được phép thực thi'/usr/bin/su - -c/bin/bash -l -c pwd 'làm root trên tên máy chủ.' – Marin
Đặt 'shell = False' dường như không có hiệu lực.Thiết lập 'pty = False' trả về lỗi' sudo: no tty present và không có chương trình askpass nào được chỉ định' – Marin