Tôi có cấu trúc này trong mô-đun con rối của mình để thêm một dòng vào /etc/sudoers
sau dòng "Mặc định" cuối cùng:
augeas { "sudoers.ssh_auth_sock" :
ống kính => "Sudoers.lns",
bao gồm => "/etc/sudoers",
onlyif => "khớp Mặc định/env_keep/var[.= 'SSH_AUTH_SOCK'] size==0",
thay đổi => [
# Tạo một dòng Mặc định mới cho hai biến
"in Mặc định sau Mặc định [cuối()]",
# Đặt dòng Mặc định này thành loại +=
"xóa Mặc định[last()]/env_keep/append",
# gán giá trị cho hai biến
"đặt Mặc định[last()]/env_keep/var[1] SSH_AUTH_SOCK",
],
}
Nó hoạt động hoàn hảo trên máy RedHat 6 của tôi
Lưu ý: Augeas[sudoers.ssh_auth_sock](provider=augeas):
--- /etc/sudoers 2021-10-12 13:30:52.880901115 +0000
+++ /etc/sudoers.augnew 2021-10-12 13:31:28.697931561 +0000
@@ -77,6 +77,7 @@
# Mặc định env_keep += "HOME"
Mặc định secure_path = /sbin:/bin:/usr/sbin:/usr/bin
+Mặc định env_keep += SSH_AUTH_SOCK
## Tiếp theo là phần chính: người dùng có thể chạy phần mềm nào trên đó
Lưu ý: /Stage[main]/Sudoers/Augeas[sudoers.ssh_auth_sock]/returns: thực thi thành công
Nhưng nó không thành công trên máy RedHat 7 của tôi:
Cảnh báo: Augeas[sudoers.ssh_auth_sock](provider=augeas): Tải không thành công cho một hoặc nhiều tệp, xem gỡ lỗi cho /augeas//đầu ra lỗi
Lỗi: /Stage[main]/Sudoers/Augeas[sudoers.ssh_auth_sock]: Không thể đánh giá: Lỗi khi gửi lệnh 'ins' với thông số ["Mặc định", "sau", "/files/etc/sudoers/Defaults[last( )]"]/Lỗi khi gửi lệnh 'ins' với thông số ["Defaults", "after", "/files/etc/sudoers/Defaults[last()]"]
Ai đó có thể giúp tôi hiểu những gì đã thay đổi hoặc những gì tôi đã làm sai để tôi có thể làm cho đoạn mã này hoạt động trong cả hai môi trường không?