Khi viết một kịch bản shell, trong đó một số nhưng không phải tất cả các lệnh trong nó đều cần các đặc quyền siêu người dùng, tôi sẽ
thêm sudo vào các lệnh cần đặc quyền siêu người dùng và chạy tập lệnh shell mà không cần sudo hoặc
không thêm sudo vào các lệnh cần đặc quyền siêu người dùng, nhưng chạy tập lệnh shell với sudo?
Theo cách thứ hai, tôi sẽ chỉ cần cung cấp mật khẩu của mình một lần, nhưng tất cả các lệnh trong tập lệnh sẽ được chạy với các đặc quyền siêu người dùng, bao gồm cả các lệnh không cần.
Theo cách đầu tiên, tôi có thể cần cung cấp mật khẩu của mình nhiều lần cho các lệnh sudo khác nhau, trong khi các đặc quyền siêu người dùng chỉ được cấp cho những lệnh cần chúng.
Từ mối quan tâm an ninh, cách đầu tiên là tốt hơn. Để thuận tiện, cách thứ hai là tốt hơn.
Tôi đã nghĩ đến việc áp dụng cách đầu tiên. Vì vậy, tôi phải đối phó với sự bất tiện khi cung cấp mật khẩu của mình cho nhiều lệnh sudo trong tập lệnh shell.
-
Một tập lệnh được viết tốt sẽ phát hiện nếu nó đang chạy với quyền phù hợp và hoàn toàn không gọi sudo, nhưng có rất nhiều tập lệnh xấu
Vậy tôi có nên sử dụng cách thứ hai? Nếu vậy,
Làm thế nào tôi có thể viết "tập lệnh sẽ phát hiện nếu nó đang chạy với quyền phù hợp và không gọi sudo chút nào"?
Làm cách nào tôi có thể cải thiện bảo mật của nó để tránh sự cố cung cấp đặc quyền siêu người dùng cho các lệnh không cần đến chúng khi chạy tập lệnh với sudo?
- Cách tiếp cận đơn giản này có cách tốt nhất trong cả hai cách tiếp cận: thêm sudo vào các lệnh chỉ cần nó và chạy tập lệnh có hoặc không có sudo tùy thuộc vào việc tôi muốn thuận tiện hay bảo mật? Liệu phương pháp này có một số vấn đề?
Cảm ơn.
sudo
có một bộ đệm thông tin đăng nhập mặc định. Đây có phải là vô hiệu hóa trên nền tảng của bạn?