Chạy như người dùng khác


9

Trên hệ thống RedHat, tôi đang cố gắng khởi chạy một chương trình với một người dùng khác không có vỏ. Trong / etc / passwd, shell là / sbin / nologin.

Tôi đã thử:

  1. su myuser -c /home/myuser/script.sh Kết quả: Tài khoản này hiện không có sẵn.

  2. Với chown và setuid: chown myuser: mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh Kết quả: script.sh vẫn được thực thi như người dùng đã đăng nhập của tôi ( nguồn gốc).


Bạn đang chạy suroot hay người dùng không có quyền?
James O'Gorman

Câu trả lời:


17

thử:

su myuser -s /bin/sh -c /home/myuser/script.sh

0

lỗi này có nghĩa là trong / etc / passwd bạn đã đặt shell / sbin / nologin hoặc / sbin / false cho người dùng myuser.

Vui lòng đặt một cái gì đó hữu ích như / bin / bash


Đó là những gì OP đã đăng đang xảy ra; OP đang hỏi liệu có cách nào để chạy chương trình mặc dù tên người dùng không có vỏ.
Bart Silverstrim

Vâng ... đó là câu hỏi trong thực tế. Tôi muốn biết liệu có thể chạy tập lệnh với tư cách người dùng khác không mà không cần đặt shell trong / etc / passwd
Karl

1
Bạn không thể làm điều đó bằng cách sử dụng tập lệnh nếu người dùng có shell như thế này.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.