Làm thế nào để cấp quyền cho người dùng?


12

Tôi vừa cài đặt Arch. Công trình tuyệt vời. Tôi đã tạo một người dùng mới, đăng nhập bằng nó và bây giờ tôi đang cố gắng cài đặt một số thứ với pacman. Nhưng tôi vẫn nhận được lỗi: error: you cannot perform this operation unless you are root.Tôi có thể sử dụng pacmanvới root tốt, nhưng có cách nào để cho phép người dùng mới của tôi thực hiện các hành động này không?

Tôi đã thử đăng nhập vào root và sử dụng gpasswd:

gpasswd -a jack root

Nhưng điều đó không làm gì cả.


1
Như một lưu ý chung, wiki Arch Linux thực sự hữu ích và chi tiết.
Alex Chamberlain

Câu trả lời:


17

Bạn nên đọc trang Arch Wiki trên sudo .

sudo ("người dùng thay thế làm") cho phép quản trị viên hệ thống ủy quyền cho người dùng (hoặc nhóm người dùng) nhất định khả năng chạy một số (hoặc tất cả) lệnh gốc hoặc người dùng khác trong khi cung cấp bản kiểm tra các lệnh và lệnh của họ tranh luận.

Bạn có thể cài đặt sudotừ kho lưu trữ và sau đó định cấu hình nó để cho phép người dùng của bạn jack, truy cập vào các lệnh đặc quyền bằng cách chỉnh sửa /etc/sudoers. Hãy chắc chắn rằng bạn làm điều này bằng cách sử dụng visudolệnh.

Để cung cấp cho người dùng jackquyền root đầy đủ, bạn sẽ thêm dòng này:

jack ALL=(ALL) ALL

8

Những gì tôi thường làm là kích hoạt quyền root cho một nhóm cụ thể. Bằng cách đó, bạn chỉ có thể thêm người dùng mà bạn muốn quyền root vào nhóm đó.

Chỉnh sửa /etc/sudoersvới visudovà add (hoặc nhận xét ra):

%wheel      ALL=(ALL) ALL

Sau đó thêm người dùng của bạn vào nhóm đó:

gpasswd -a jack wheel

1
Mặc dù câu trả lời được đánh dấu là được chấp nhận và nó sẽ hoạt động, tôi tin rằng câu trả lời này tốt hơn do sử dụng các nhóm thay đổi sudoers.
Erick Brown

0

Tôi có thể sử dụng pacman với root tốt, nhưng có cách nào để cho phép người dùng mới của tôi thực hiện những hành động này?

Bạn có thể tạo $USER, thêm chúng vào wheelnhóm một mình:

useradd -Ng wheel --create-home --no-log-init $USER

Sau đó cập nhật /etc/sudoers theo đề xuất của Eric Lennartsson. Nhưng nếu bạn đang tìm kiếm một phương pháp lập trình, thay vào đó bạn có thể tạo một tệp /etc/sudoers.dnhư:

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dont-prompt-$USER-for-password

Phương pháp trên được đề xuất bởi Boris trong Ask Ubuntu và nó hoàn toàn không yêu cầu sử dụng visudo. Khi sử dụng nó với tiền tố pacman, các lệnh với sudo như:

sudo pacman -S docker docker-compose
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.