Làm cách nào tôi có thể tạo và cấp cho người dùng bình thường với quyền root?


7

Tôi đang tự hỏi làm thế nào để tạo và cấp cho người dùng bình thường (ví dụ: được đặt tên là 'sybase') với quyền root?

Tôi thấy useradd, adduser và passwd là hữu ích, nhưng có bất kỳ tệp nào khác để sửa đổi để có được các đặc quyền giống như 'root', để người dùng có thể thực hiện các tác vụ cài đặt không?

Câu trả lời:


16

Trong mọi trường hợp, không ai muốn làm điều đó. Đây là những gì sudo dành cho, để cung cấp cho người dùng khả năng chạy mọi thứ như root. Cung cấp cho người dùng không phải root tất cả các quyền của root là không thể thực hiện được vì họ sẽ có thể làm bất cứ điều gì theo nghĩa đen , vì vậy nếu tài khoản người dùng đó bị xâm nhập, bạn sẽ gặp rắc rối.


Tóm tắt ở trên: Đừng cố gắng cung cấp cho người dùng khả năng root cho mọi thứ, điều đó là không thể. Sử dụng sudo [command]để chạy các mục như siêu người dùng nếu bạn cần.


1
Trong sản xuất có. Trong thử nghiệm bất cứ điều gì là trò chơi công bằng.
Sirex

9
Vẫn không thể tin được vì lý do rất giống nhau ... trong bất kỳ môi trường nào .
Thomas Ward

5
đặc quyền tương tự có thể được thực hiện với sudo. Và nó nói người dùng sybase phải có quyền hạn như root ở đâu? Đọc câu trả lời của @RoryAlsop, nó bao gồm phương pháp thêm người dùng vào nhóm sybase để họ có thể khởi động máy chủ. Và như tôi đã nói, không bao giờ cung cấp đặc quyền root đầy đủ cho người dùng không root. EVER
Thomas Ward

1
@alwaysonnet Bạn không thể làm điều này, siêu người dùng là một người dùng (UID 0) theo định nghĩa. Bạn có thể đặt nhiều tên cho người dùng root, nhưng nó vẫn sẽ là cùng một người dùng. @TheEvilPhoenix không quá tệ hại là vô nghĩa.
Gilles 'SO- ngừng trở nên xấu xa'

4
@Sirex Trong thử nghiệm, bạn cung cấp mọi quyền giống như trên hệ thống sản xuất (ngoại trừ việc bạn, người thử nghiệm, có tất cả các đặc quyền). Nếu không, nó không phải là một thử nghiệm nhiều.
Gilles 'SO- ngừng trở nên xấu xa'

10

Bạn không cần tạo 'sybase' với tư cách là người dùng đặc quyền.

Xem http://tldp.yolinux.com/HOWTO/Sybase-ASE-HOWTO.html để biết ví dụ. Thông tin hữu ích:

"tạo nhóm người dùng sybase và sau đó là người dùng sybase làm thành viên của nhóm. Đây là người dùng thông thường sẽ được sử dụng chủ yếu để khởi động máy chủ cơ sở dữ liệu"

bash$ su - root
bash# groupadd sybase
bash# useradd -g sybase -d /home/sybase -c "Sybase ASE DBA account" -p Hard2Guess sybase

0

Tôi hiểu tại sao câu hỏi được hỏi. Chỉ cần quay trở lại linux cho mục đích phát triển, tôi cảm thấy thất vọng khi phải gksu cái này và cái kia. Các mâu thuẫn người ta phải trải qua chỉ để thêm một tập tin, chỉnh sửa các tập tin hệ thống, vv là hoàn toàn ngớ ngẩn. Tôi tự hỏi tại sao mọi người đưa lên với nó? Trong windows tôi chỉ cần tạo thư mục (giả sử php) nơi tôi muốn và làm việc với nó.

Đừng hiểu sai ý tôi, thật tuyệt khi biết hoạt động bên trong của linux và cách thiết lập và hoạt động trên máy chủ LAMP. Nhưng tôi thực sự tin rằng phải có một cách tốt hơn để tạo, chỉnh sửa và truy cập các tệp hơn là phải đi qua một thiết bị đầu cuối để tạo một phiên bản sudo của gedit hoặc nautilus. Theo ước tính của tôi, phải mất 4 lần thời gian để làm bất cứ điều gì so với Windows. Và, không, tôi chưa bao giờ xóa một tập tin quan trọng trong Windows. Tại sao linux không tin tưởng người dùng sẽ hoàn thành công việc? Lo lắng về các tệp hệ thống quan trọng không có nghĩa là tạo ra một môi trường bị bỏ tù mà tôi tin là đã bị giết bởi cường độ 100 giây.


4
Đây câu trả lời không trả lời các câu hỏi yêu cầu. Stack Exchange không phải là một diễn đàn để thảo luận về mọi thứ, nó là nơi để đặt câu hỏitìm câu trả lời cho những câu hỏi đó.
Đánh dấu gian hàng

Câu trả lời này nên là một bình luận. Đó là một ý kiến ​​có liên quan cung cấp hỗ trợ cho câu trả lời của người dùng. Theo tiêu chuẩn của bạn, câu trả lời được chấp nhận không nên được chấp nhận hoặc cho phép bởi vì nó cũng không trả lời câu hỏi - nó khuyên không nên đặt câu hỏi!
địa lý

0

Trong tệp /etc/sudoers thêm dòng;

myuserid    ALL=(ALL) ALL

Một lý do chính đáng khác cho điều này là trong môi trường GUI, nếu bạn muốn sao chép hoặc đổi tên các tệp hệ thống thì việc nhập các đường dẫn lớn để đến một số tệp hệ thống, trong đó bạn chỉ cần đổi tên hoặc kéo / thả trong GUI nếu bạn có quyền root.


Điều này không thành công khi chạy lệnh "hostname somehost" .. không chắc có người khác không
MacGyver

0

Nếu đó chỉ là các lệnh cụ thể mà họ cần đặc quyền quản trị để chạy, bạn có thể sử dụng pam_cap.sođể cấp cho người dùng bất kỳ khả năng nào họ cần và sử dụng setcapđể cho phép lệnh đó kế thừa khả năng đã cho nếu người dùng cũng có. Xin lưu ý rằng điều này sẽ bị xóa khi gói tệp / lệnh là một phần của bản cập nhật. Vì vậy, bạn sẽ cần một cronjob hoặc sử dụng con rối để đảm bảo khả năng cơ sở tập tin bám xung quanh.

Điều đó nói rằng, sudocó lẽ là một giải pháp đủ tốt cho hầu hết các nhu cầu của mọi người. Khả năng là gọn gàng nhưng không được hiểu / sử dụng rộng rãi.


0

Nếu bạn cần một người dùng root khác nhưng với tên và mật khẩu khác, bạn nên tạo sybase người dùng cho anh ta UID = 0 và GUID = 0 (hoặc thay đổi thành 0 in / etc / passwd cho người dùng hiện tại).

Tuy nhiên, đây là tình huống cực đoan, và có những thực tiễn tốt hơn khác (sử dụng sudo). Những hạn chế đã được thực hiện vì một số lý do tốt.


-4

Bạn luôn có thể sử dụng nhóm 'bánh xe' .... http://alien.slackbook.org/dokuwiki/doku.php?id=linux:admin


wheelnói chung chỉ cho phép bạn sử dụng sudo; nó không kỳ diệu làm cho tài khoản của bạn được root
Michael Mrozek

Các wheelnhóm không trực tiếp cấp ưu đãi người dùng root. Theo truyền thống, nó cho phép người dùng sử dụng su(và trở thành root bằng cách nhập mật khẩu gốc). Trên một số hệ thống, nó cho phép người dùng chạy sudo(và trở thành root mà không cần thông tin bổ sung), nhưng điều này không phổ biến lắm. Xem unix.stackexchange.com/questions/4460/ Kẻ
Gilles 'SO- ngừng trở nên xấu xa'
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.