Điểm:0

Quyền Bash Script bị từ chối khi buộc để chạy

lá cờ in

Tôi biết rằng có những bài đăng tương tự nhưng tôi đã làm theo những gì họ đã làm nhưng vẫn tiếp tục gặp vấn đề tương tự về quyền bị từ chối khi cố gắng thực thi tập lệnh bash của mình.

Tôi đã sửa đổi các tệp của mình bằng lệnh chẳng hạn:

chmod u+x bash_script1.sh 

và thu được như sau:

-rwxr--r-- 1 nhóm người dùng 1947 ngày 18 tháng 6 16:04 bash_script1.sh
-rwxr--r-- 1 nhóm người dùng 2430 ngày 18 tháng 6 15:59 bash_script2.sh
-rw-r--r-- 1 nhóm người dùng 1 ngày 18 tháng 6 10:57 running.txt

Tuy nhiên, tôi tiếp tục gặp lỗi sau khi chạy từ dòng lệnh:

chỉ huy

./bash_script1.sh

Lỗi

-sh: ./bash_script1.sh: Quyền bị từ chối

Khi tôi chạy lệnh bên dưới, tôi không gặp lỗi nhưng tôi không muốn sử dụng bash để chạy tập lệnh của mình:

bash bash_script1.sh

#!/usr/bin/env bash được đặt ở tiêu đề của tôi

lá cờ hr
Bạn chỉ cấp quyền thực thi cho `người dùng` - bạn có thực sự đăng nhập với tư cách `người dùng` khi thử điều này không? đầu ra của lệnh `id` là gì? lệnh chính xác tạo ra lỗi `-sh: ./bash_script1.sh: Quyền bị từ chối` là gì?
Joe_Informatics avatar
lá cờ in
Vâng, đó chính xác là lỗi mà tôi gặp phải khi cố chạy `./file_script1.sh` trong dòng lệnh. Đầu ra như sau: `uid=19979(user) gid=867800079(group) groups=867800079(group),11226(research),11765(omics)`
Joe_Informatics avatar
lá cờ in
Tôi vừa cấp quyền cho tất cả người dùng thực thi chmod uga+rwx file.sh và nó vẫn cho tôi quyền bị từ chối lỗi....
lá cờ hr
Được rồi, nguyên nhân duy nhất khác mà tôi có thể nghĩ đến là hệ thống tệp mà nó lưu trữ trên đó được gắn với tùy chọn `noexec` - kiểm tra bằng `findmnt -T .` (chạy từ thư mục chứa tập lệnh)
Joe_Informatics avatar
lá cờ in
`/home /dev/md126p2 xfs rw,noexec,relatime,attr2,inode64,noquota` đây là những gì tôi nhận được sau đó. Làm thế nào tôi có thể thay đổi điều này? hay tôi phải hỏi sysadmin của tôi?
Điểm:4
lá cờ hr

Như chúng ta có thể thấy từ đầu ra của findmnt -T ., hệ thống tệp lưu trữ tập lệnh được gắn với noexec Tùy chọn. Điều này ngăn các tập lệnh (cũng như các tệp thực thi nhị phân) được thực thi trực tiếp, trong khi bash bash_script1.sh vẫn hoạt động vì đánh đập thực thi được lưu trữ ở nơi khác và chỉ cần đọc kịch bản.

Để sửa đổi hành vi tạm thời, bạn có thể sử dụng gắn kết chỉ huy:

Sudo mount -o remount,exec/home

Để thực hiện thay đổi liên tục, bạn sẽ cần sửa đổi /etc/fstab tập tin và loại bỏ các noexec tùy chọn gắn kết cho thiết bị khối này.

Joe_Informatics avatar
lá cờ in
điều này hoàn toàn mới đối với tôi, vì vậy tôi sẽ phải tìm hiểu kỹ hơn về nó cho chắc chắn. tiếc là tôi không có quyền sudo, do đó sẽ phải liên hệ với quản trị viên hệ thống của tôi để được hướng dẫn thêm. Cảm ơn bạn rất nhiều ít nhất là để làm rõ: D
lá cờ hr
@Joe_Informatics không có gì - tbh Tôi hơi ngạc nhiên khi tùy chọn `noexec` có tác dụng này đối với các tập lệnh (không chỉ các tệp thực thi nhị phân) - trang hướng dẫn `mount` chỉ nói `noexec Không cho phép thực thi trực tiếp bất kỳ tệp nhị phân nào trên hệ thống tập tin được gắn kết.`. Nhưng tôi đã xác nhận hành vi trên hệ thống của riêng mình và nó được thảo luận chi tiết hơn ở đây chẳng hạn [Thực thi tập lệnh bash hoặc tệp nhị phân c trên hệ thống tệp có tùy chọn noexec](https://unix.stackexchange.com/questions/490402/ thực thi-a-bash-script-or-a-c-binary-on-a-file-system-with-noexec-option)
Joe_Informatics avatar
lá cờ in
vâng, điều này chắc chắn là mới đối với tôi, nhưng thật tuyệt khi biết gốc rễ của vấn đề. Sẽ xem xét url được cung cấp: D

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.