Có cách nào để tôi có thể chuyển Chức năng từ người dùng này sang người dùng khác không?
Ví dụ: tôi có một tập lệnh Bash nhỏ mà tôi thực thi là Root:
#!/bin/bash
user_func(){
whoami
exit
}
su vagrant -c 'user_func'
Tuy nhiên, Hàm user_func không được xác định cho người dùng Vagrant, chỉ dành cho Root và không thể được thực thi.
Tùy chọn khác của tôi sẽ có nhiều dòng
su vagrant -c 'cmd1'
su vagrant -c 'cmd2'
, etc
Hoặc, thực thi nhiều lệnh ex : su vagrant -c 'cmd1; cmd2; cmd3;'
, nhưng tôi không muốn có thừa, đặc biệt là khi cố gắng thực hiện hơn 5 lệnh với tư cách là người dùng Vagrant.
Có thể chuyển Hàm cho người dùng khác trong cùng một tập lệnh (ví dụ: không tạo tập lệnh trên đĩa dưới dạng người dùng khác và sau đó thực thi tập lệnh đã tạo đó)? Hoặc có một lựa chọn khác mà tôi đang xem?