Làm thế nào để chạy các ứng dụng như root?


13

Tôi có một số vấn đề kỳ lạ với Kate và Kwrite. Khi tôi nhấp vào Open File , nó gặp sự cố với lỗi phân đoạn.

Tôi là một người mới hoàn toàn sử dụng Linux và tôi nghĩ vấn đề là tôi không chạy ứng dụng với quyền root.

Làm cách nào để chạy các ứng dụng với quyền root trong Ubuntu? Là nó thực hành xấu để làm điều này? Mục đích của toàn bộ điều gốc là gì, mặc dù chúng ta cần sử dụng root thường xuyên, nhưng nó không được sử dụng như mặc định?


Bạn có thể thực hiện một số điều rất tai hại khi sử dụng root để mở trình soạn thảo, vì vậy vui lòng không thực hiện theo cách đó;) 2 giải pháp khác không yêu cầu root: thử và sửa segmentation faulthoặc sử dụng trình soạn thảo khác (gedit là trình soạn thảo của gnome). kate en kwrite là chương trình KDE (không phải Gnome).
Rinzwind

1
những điều gây tổn hại có thể được thực hiện với trình soạn thảo văn bản. Những điều điên rồ
l --'''''--------- '' '' '' '' '' '' '

1
@ Một lần nữa, khi root, bạn có thể chỉnh sửa các tập tin mà máy tính của bạn sử dụng để khởi động hệ điều hành hoặc tải môi trường đồ họa của bạn, phá vỡ máy tính của bạn một cách hiệu quả.
Amanda

Câu trả lời:


15

Nó là khá đơn giản để chạy một chương trình như root.

Đối với một chương trình điều khiển sử dụng

sudo <program name>

Nếu đó là một ứng dụng GUI, hãy sử dụng

gksudo <program name>

13

Các hệ điều hành giống như UNIX (bao gồm cả Linux) sử dụng một khái niệm gọi là phân tách đặc quyền để đảm bảo hệ thống được an toàn. UNIX được thiết kế như một hệ thống nhiều người dùng từ đầu - nghĩa là, nó được thiết kế để nhiều người có thể sử dụng một máy tính chạy UNIX cùng một lúc. Bởi vì hầu hết người dùng không cần phải sửa đổi hệ thống cốt lõi, chỉ người quản trị hệ thống mới có đặc quyền đó. Người dùng đặc quyền đó theo truyền thống được gọi là root . (Root rất giống Quản trị viên trong Windows.)

Điều này có ý nghĩa trên nhiều cấp độ. Thông thường, một máy chủ web hoặc quá trình khác để lộ một cổng tới các máy tính khác (có thể là độc hại) sẽ chạy như người dùng của chính nó (Apache chạy như người dùng nobody), do đó ngay cả khi chương trình máy chủ web bị hack, kẻ tấn công không thể rác Toàn bộ máy khá dễ dàng. Nó thậm chí còn có ý nghĩa đối với hầu hết các máy sử dụng một người như máy tính để bàn: ví dụ, nếu các thành viên khác trong gia đình bạn, bằng cách nào đó quản lý để chạy rm -rf /( KHÔNG chạy nó ), họ sẽ không có quyền xóa mọi tệp trên hệ thống , như họ sẽ làm gì nếu không có sự phân chia đặc quyền.

Có một số lệnh bạn có thể sử dụng để nâng cao đặc quyền của mình. Các sudolệnh tồn tại tạm thời cung cấp cho bạn quyền root cấp khi bạn cần đến chúng để quản trị hệ thống. Bạn cũng có thể sử dụng các lệnh gksudohoặc su. Cái sau chỉ có thể được sử dụng nếu bạn biết mật khẩu của root và là một lựa chọn tốt nếu tài khoản của bạn không được phép sử dụng sudo.

Người dùng root có thể làm bất cứ điều gì trên một hệ thống, hầu như không có ngoại lệ. Vì vậy, ngay cả khi bạn yêu cầu một cái gì đó một cách tình cờ, nó sẽ được thực hiện với rất ít hoặc không có cảnh báo, ngay cả khi nó có hại cho sức khỏe của hệ thống của bạn. Đây là lý do tại sao nên thực hiện hầu hết các hoạt động của bạn như một người dùng bình thường và chỉ sử dụng root khi cần, như khi bạn cài đặt chương trình.

Bạn không cần phải sử dụng root để thoát khỏi lỗi phân đoạn. Nếu root là thứ duy nhất sửa lỗi segfault, thì chương trình có lỗi. Các chương trình không nên thất bại như vậy chỉ vì chúng không có root.


Tôi đã gặp phải loại lỗi này và thông thường nó đã được thực hiện với sự cho phép của tập tin. Sử dụng rootcũng giống như dùng búa tạ để bẻ đậu phộng. Tốt hơn để xác định tệp và quyết định nếu bạn thay đổi quyền sở hữu hoặc quyền theo nhu cầu. Ví dụ: tôi có một adminnhóm cho các tệp mà người khác không cần cập nhật hoặc truy cập.
sẽ

5

Ngoài câu trả lời trước đó, nói về sudo và gksudo, vâng, chắc chắn việc chạy một chương trình là root trừ khi đây là một chương trình hành chính.

Hãy cố gắng tìm cho bạn lý do tại sao các chương trình bị lỗi. Hãy tìm kiếm sự giúp đỡ của người khác nếu bạn cần.


2

Bạn cũng có thể truy cập /usr/share/applicationsvào Ubuntu và chỉnh sửa tệp khởi chạy của ứng dụng bạn đang cố chạy.
Giống như tôi đã chỉnh sửa tệp github atom, thông thường tôi sử dụng ký tự đại diện để tìm các tệp như thế này

sudo nano atom*

Điều này sẽ mở atom.desktoptệp, bây giờ hãy tìm lệnh Exec và thêm gksudo.For vd.,

Trước

Exec=/usr/share/atom/atom %U  

Sau

Exec=gksudo -k -u root /usr/share/atom/atom %U

Bây giờ bất cứ khi nào ứng dụng được khởi chạy, nó sẽ yêu cầu mật khẩu root.


Tôi không thể thấy tập tin như vậy trong máy chủ Tomcat. Tôi phải chạy ứng dụng GUI theo cách này: "sudo ./manager-linux-x64.run" mỗi ngày, điều mà tôi biết không phải là một việc nên làm. Nhưng pkexec không hoạt động trên ứng dụng này.
Bohesh bhattarai
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.