Chạy sudo từ tài khoản không phải quản trị viên


19

Được rồi, vì vậy tôi đang chuẩn bị để có một máy mới vì vậy tôi đang xem làm thế nào tôi có thể tổ chức mọi thứ tốt hơn. Bây giờ, hiện tại tôi sử dụng tài khoản quản trị viên làm tài khoản đăng nhập chính của mình, nhưng tôi biết rằng đó có lẽ không phải là cách thực hành tốt nhất, vì vậy tôi muốn chuyển sang một tài khoản quản trị viên và không phải quản trị viên riêng biệt trên máy của mình.

Tuy nhiên, tôi là một nhà phát triển và tôi làm rất nhiều công việc trong thiết bị đầu cuối, vì vậy đôi khi tôi cần chạy các lệnh thông qua sudo, nhưng tất nhiên điều đó sẽ không hoạt động theo cách tôi thường chạy nó ( sudo foo, nhập mật khẩu của tài khoản hiện tại ). Điều tôi muốn biết là, biết chi tiết về tài khoản quản trị viên trên máy của tôi, có thể chạy các lệnh thông qua sudo(hoặc tương tự) từ tài khoản không phải quản trị viên, mà không phải đăng nhập vào tài khoản khác nhau mỗi lần không? Ví dụ: tôi có thể kích hoạt cuộc đối thoại nhập mật khẩu quản trị viên bằng cách nào đó không?


Tôi không chắc liệu điều này có hoạt động với osx hay không, nhưng nếu thấy các giải pháp trên các hệ thống linux (ví dụ: ubfox) nơi người dùng được phép chạy 'su' thông qua 'sudo'. bằng cách này, bạn chỉ cần nhập 'sudo su', nhập mật khẩu người dùng của bạn và bạn kết thúc với một vỏ gốc. Tôi thích giải pháp này vì không yêu cầu tài khoản quản trị viên và mật khẩu riêng biệt
weberik

Tôi nghĩ rằng đáng để đề cập rằng trên UNIX như các hệ thống, nếu bạn là quản trị viên, việc chạy trong tài khoản sudoer là hoàn toàn ổn. Tương đương với quản trị viên Windows-Xp-esque mọi lúc sẽ được đăng nhập vào root.
Linuxios

Câu trả lời:


25

Có vẻ như bạn có thể sử dụng lệnh SU để chuyển sang người dùng khác trong Terminal. Khi bạn đã chuyển sang người dùng quản trị viên, bạn có thể sử dụng các lệnh sudo cùng với mật khẩu của tài khoản quản trị viên.

Ví dụ: khi tôi ở một trong những máy Mac của người dùng cuối của tôi và tôi cần chạy thứ gì đó có đặc quyền nâng cao (ví dụ như chown) mà không cần đăng xuất và vào tài khoản quản trị viên (ladmin), tôi sẽ sử dụng một cái gì đó như thế này (in đậm):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

Điều này sẽ nhắc mật khẩu của tài khoản ladmin, sau khi nhập vào, bạn sẽ thấy dấu nhắc lệnh bash. Từ đây tôi có thể chạy bất kỳ lệnh sudo nào mong muốn, nhập mật khẩu của ladmin khi cần ...

bash-3.2 $ sudo chown user2 / some / thư mục

Điều này sẽ chạy lệnh chown bằng cách sử dụng người dùng ladmin hiện đã đăng nhập, nhắc nhập mật khẩu của tài khoản ladmin. Sau khi hoàn tất, bạn có thể nhập exit để trở về dấu nhắc của người dùng đã đăng nhập.

Ảnh chụp màn hình của quá trình tương tự, chỉ sử dụng sudo để chạy lệnh ls (ví dụ). nhập mô tả hình ảnh ở đây


1
Aha! Điều này có vẻ như chính xác những gì tôi cần, cảm ơn! Không cần thêm vào tập tin sudoers, tôi có cảm giác có một cách để làm điều đó, chỉ là không thể cho cuộc sống của tôi nghĩ về nó, cảm ơn vì câu trả lời tuyệt vời!
Harastak

4

Trong loại Terminal login, một khoảng trắng your admin namevà nhấn return. Sau đó nhập mật khẩu quản trị viên của bạn, nhấn return và bạn đã đăng nhập với tư cách quản trị viên có thể phát lệnh sudo mà không cần cấu hình hoặc tệp bổ sung để thay đổi.


4

Thêm tên người dùng hiện tại của bạn vào sudoerstệp và điều bạn cần làm là sử dụng visudolệnh và thêm các dòng như thế này:

Đặc tả đặc quyền người dùng

root ALL = (ALL) ALL

<randomuser> TẤT CẢ = (TẤT CẢ) TẤT CẢ

% admin ALL = (TẤT CẢ) TẤT CẢ

Hoặc bất cứ điều gì cho phép bạn muốn cho mình. sau đó bạn có thể chạy sudo whateverđến mức trái tim của bạn. Đó là /etc/sudoersbằng cách này.


4
-1 Không bao giờ tự chỉnh sửa /etc/sudoers. Sử dụng visudo.
Tối đa

-4

Chuyển đến Tiện ích thư mục, mở khóa và sau đó từ tùy chọn menu Chỉnh sửa, chọn "Bật người dùng root". Nhập mật khẩu duy nhất cho tài khoản root và nhập lại để xác minh. Bây giờ với điều đó được thực hiện từ bất kỳ tài khoản nào, bạn có thể mở Terminal.app từ bạn có thể chạy "đăng nhập" và nhập root khi đăng nhập và sau đó nhập mật khẩu gốc bạn vừa thiết lập. Bạn sẽ được tốt để đi! ;)


9
Không cần phải kích hoạt người dùng root cho việc này.
Édouard

Vì vậy, tôi có thể vào bất kỳ máy Mac nào được khởi động, mở Terminal.app và nhập lệnh đăng nhập. Nhập root rồi làm mật khẩu là gì? Xin hãy soi sáng cho tôi: /
Andrew U.

3
Ý tôi là bạn không cần phải cho phép người dùng root thực hiện những gì OP yêu cầu. Trên thực tế, nếu bạn đi và sử dụng login, bạn cũng có thể đăng nhập vào tài khoản quản trị viên thay vì root.
Édouard
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.