Tất cả những gì tôi cần làm là chạy một tập lệnh cụ thể với tư cách là một người dùng cụ thể có trình nologin/falsebao được chỉ định trong /etc/passwd.
Tôi sẽ chạy tập lệnh với quyền root và nó sẽ chạy như một người dùng khác. Đang chạy:
~# su -c "/bin/touch /tmp/test" testuser
sẽ hoạt động, nhưng tôi cần một vỏ hợp lệ cho người kiểm tra. Tôi biết tôi có thể vô hiệu hóa mật khẩu passwd -d testuservà để lại shell /bin/bashtheo cách này sẽ bảo mật một chút nhưng tôi cần phải có nologin/falseshell.
Về cơ bản những gì tôi cần là những gì crontabchúng ta làm khi chúng ta thiết lập các công việc đang chạy như một người dùng cụ thể, bất kể cái này có nologin/falsevỏ.
ps Tôi tìm thấy chủ đề này Thực thi một lệnh như một người dùng nologin , nhưng tôi không biết làm thế nào để concatenatelệnh su -s /bin/sh $usercho tập lệnh tôi cần chạy.
root:root -rwsr-x---gì?