Chạy lệnh sudo trong Python

edlentz
Lập trình viên tên Tim

Bài đăng. 11

Chủ đề. 7

Đã tham gia. Tháng 10 năm 2017

Danh tiếng. 0

#1

12-11-2020, 02. 56 CH

Tôi có một tập lệnh sẽ chạy một số lệnh hệ thống và chúng cần quyền truy cập cấp cơ sở. Tôi không muốn cấp cho người dùng quyền truy cập root. Tôi muốn người dùng chỉ có thể nhấn vào lựa chọn và chạy lệnh. Chỉnh sửa tệp sudoers sẽ rất rườm rà vì tôi muốn cài đặt các tập lệnh này trên nhiều máy. Không có cách nào để một trong hai.
Sử dụng SU từ bên trong tập lệnh mà không cần phải nhập mật khẩu
hoặc
chỉnh sửa sudoers từ tập lệnh để thực hiện cài đặt

Thanks for any ideas

Hồi đáp

Tìm thấy

Hồi đáp

DeaD_EyE
Da Bishop

Bài đăng. 1.887

Chủ đề. 8

Đã tham gia. Tháng 5 năm 2017

Danh tiếng. 216

#2

12-11-2020, 03. 28 giờ tối

Trích dẫn. Sử dụng SU từ trong tập lệnh mà không cần phải nhập mật khẩu

Sau đó, bạn phải cung cấp mật khẩu trong tập lệnh của mình hoặc trong tệp bổ sung.
Đây là một vấn đề bảo mật lớn.

Trích dẫn. chỉnh sửa sudoers từ tập lệnh để giúp cài đặt tập lệnh dễ dàng hơn?
For the user it's easier, but the user needs root access to edit the soduers file.
So, Python needs root access to edit /etc/sudoers.

The Best way is to let the user edit his sudoers if he wants to.
Then just run all your commands which requires root with sudo.

import subprocess


def sudo(command):
    return subprocess.run(["sudo"] + command, capture_output=True, encoding="utf8")
The user has to enter his password only once. Then it's cached with an expiration time.
If he is not in sudoers, he is not allowed to gain root rights.

You can argue with security.

Sắp chết rồi, nhưng lười chết quá. https. //máy chủ nguồn. thông tin
Tất cả mọi người cùng nhau. Chúng tôi không cần các chính trị gia.

Hồi đáp

Trang web Tìm

Hồi đáp

edlentz
Lập trình viên tên Tim

Bài đăng. 11

Chủ đề. 7

Đã tham gia. Tháng 10 năm 2017

Danh tiếng. 0

#3

13-Nov-2020, 08. 14 giờ chiều

(12-11-2020, 03. 28 giờ chiều) DeaD_EyE đã viết.
Trích dẫn. Sử dụng SU từ trong tập lệnh mà không cần phải nhập mật khẩu

Sau đó, bạn phải cung cấp mật khẩu trong tập lệnh của mình hoặc trong tệp bổ sung.
Đây là một vấn đề bảo mật lớn.

Trích dẫn. chỉnh sửa sudoers từ tập lệnh để giúp cài đặt tập lệnh dễ dàng hơn?
For the user it's easier, but the user needs root access to edit the soduers file.
So, Python needs root access to edit /etc/sudoers.

The Best way is to let the user edit his sudoers if he wants to.
Then just run all your commands which requires root with sudo.

import subprocess


def sudo(command):
    return subprocess.run(["sudo"] + command, capture_output=True, encoding="utf8")
The user has to enter his password only once. Then it's cached with an expiration time.
If he is not in sudoers, he is not allowed to gain root rights.

You can argue with security.

Cảm ơn Dead_Eye
Chúng tôi đã quyết định cấp cho người dùng mật khẩu gốc và chạy tập lệnh từ user_profile. Bây giờ với thủ thuật tiếp theo của tôi, tôi muốn ngăn họ sử dụng Control C hoặc những thứ khác để dừng tập lệnh. Chưa tìm ra cái đó

Hồi đáp

Tìm thấy

Hồi đáp

DeaD_EyE
Da Bishop

Bài đăng. 1.887

Chủ đề. 8

Đã tham gia. Tháng 5 năm 2017

Danh tiếng. 216

#4

14-Nov-2020, 08. 29 giờ sáng

Bạn muốn đọc cái này. https. // tài liệu. con trăn. org/3/library/signal. cuối cùng. tín hiệu

import signal


old_sigint_handler = signal.signal(signal.SIGINT, signal.SIG_IGN)
Đối với quyền truy cập, quản trị viên máy chủ cũng có thể định cấu hình bằng các lệnh đơn lẻ của soduers để cho phép chúng đối với người dùng bình thường.
Một cách ngớ ngẩn khác có thể là Xác thực khóa riêng qua SSH trên cùng một máy chủ. Sau đó, người dùng có thể tạo cặp khóa công khai/riêng tư của mình và cung cấp khóa chung cho quản trị viên. Khóa riêng của anh ấy, anh ấy sử dụng để xác thực qua SSH trên cùng một máy chủ. Chỉ là một ý tưởng.

Sắp chết rồi, nhưng lười chết quá. https. //máy chủ nguồn. thông tin
Tất cả mọi người cùng nhau. Chúng tôi không cần các chính trị gia.

Hồi đáp

Trang web Tìm

Hồi đáp