Tại sao người dùng không phải là quản trị viên không thể cài đặt phần mềm?


11

Đây có lẽ là điều tôi không hiểu vì tôi đã quen với Windows và chỉ mới bắt đầu với Ubuntu. Tôi biết rằng phần mềm trong linux có các gói mà tôi không hiểu là tại sao người dùng không phải là quản trị viên không thể cài đặt phần mềm.

Ý tôi là, mọi ứng dụng được điều hành bởi một người dùng cụ thể và người dùng đó sẽ chỉ có thể chạy ứng dụng đó với quyền riêng tư của mình, vì vậy nếu anh ta không có đặc quyền quản trị viên, ứng dụng cũng sẽ không thể truy cập các thư mục trái phép, v.v.

Tôi muốn phần lớn thời gian để làm việc trên PC của mình với người dùng không phải là quản trị viên vì nó có vẻ an toàn hơn với tôi, hầu hết thời gian tôi không có nhu cầu về đặc quyền quản trị viên. và mặc dù tôi biết vi-rút trong linux là không phổ biến nhưng tôi vẫn nghĩ cách tốt nhất là làm việc trên máy tính ở trạng thái mà chính bạn không thể thực hiện bất kỳ thay đổi nào đối với các tệp quan trọng, theo cách đó, vi-rút cũng không thể làm hại bất kỳ tệp quan trọng nào, nhưng tôi cần cài đặt phần mềm để lập trình và thiết kế web, v.v. và trước hết tôi không muốn chuyển đổi người dùng mọi lúc. Nhưng cũng có vẻ an toàn hơn với tôi rằng mọi thứ được thực hiện trên PC sẽ được thực hiện thông qua người dùng không phải là quản trị viên.

Tôi sẽ vui mừng khi biết những gì tôi hiểu lầm ở đây, vì điều gì đó ở đây không đúng.

Câu trả lời:


16

Tại sao bạn hỏi mật khẩu

Hầu hết các phần mềm được thiết kế để chạm vào các tệp nhạy cảm, tức là nhạy cảm với bảo mật dữ liệu riêng tư của bạn hoặc tính toàn vẹn của hệ thống. Đây là lý do tại sao cài đặt phần mềm là một rủi ro tiềm ẩn và cần được xác nhận bởi người dùng biết những gì anh ta đang làm. Ngay cả đối với Phần mềm nguồn mở, bạn không thể chắc chắn rằng không có bit mã xấu nào đến với trình phát âm thanh mới đầy ý thức của bạn cho đến khi có người kiểm tra. Và thậm chí sau đó một cái gì đó có thể đã bị bỏ qua hoặc các gói có thể bị thao túng trên đường đi. Ai biết những gì ẩn trong chiều sâu của chương trình? Một người dùng nên.

Ubuntu cung cấp một cách thoải mái để cài đặt phần mềm. Các nhà phát triển phần mềm có thể dựa vào sự thoải mái đó và đưa ra giả định rằng synaptic / trung tâm phần mềm / apt cho phép họ truy cập các tệp nhạy cảm này. Canonical kiểm tra kho phần mềm để tìm lỗi và mã độc. Nhưng trách nhiệm cuối cùng là của bạn.

Nếu phần mềm được đề cập không cần truy cập vào các tệp nhạy cảm, về nguyên tắc, phần mềm có thể được cài đặt trong thư mục chính mặc dù không theo cách của Ubuntu. Ví dụ, bạn sẽ phải tự biên dịch mã nguồn hoặc chạy tập lệnh cài đặt tùy chỉnh. Bên cạnh những nỗ lực lớn hơn, nó có nhược điểm là không cho phép người dùng khác truy cập vào chương trình vừa cài đặt của bạn (vì họ không có quyền truy cập vào thư mục nhà của bạn). Họ sẽ cần phải cài đặt nó lần thứ hai. Vì vậy, cách cài đặt này không có ý nghĩa ở quy mô lớn và ở quy mô nhỏ, việc nhập mật khẩu thường dễ dàng hơn so với cài đặt phần mềm theo cách thủ công.

Vì vậy, đó là lý do tại sao Synaptic lấy mật khẩu và tại sao nó tốt như vậy.


Người đánh bạc

Nếu bạn thực sự rất cần người dùng khác cài đặt phần mềm mà không cần mật khẩu , bạn có thể thêm chúng vào danh sách sudoers. Điều này tuy nhiên sẽ dẫn đến một rủi ro bảo mật lớn . Nếu điều đó không liên quan đến bạn, hãy xem xét rằng có một mạng bot ngoài kia có nguồn lực lớn để xâm nhập vào máy tính của bạn thông qua Internet. Họ làm điều này chỉ để thêm máy tính của bạn vào mạng và sử dụng khả năng kết nối và tính toán của nó mà bạn không biết để làm tất cả các loại công cụ bất hợp pháp. Họ thậm chí không theo dữ liệu cá nhân của bạn cho bạn về vấn đề đó. Họ chỉ muốn chiếm quyền điều khiển PC của bạn. Vẫn không quan tâm? Có thật không? Sau đó nhìn vào câu trả lời sau đây là một hướng dẫn nhỏ về hoạt động của danh sách sudoers:

Cách làm cho Ubuntu nhớ mãi mật khẩu sau lần đầu tiên

Đọc nó một cách cẩn thận. Bạn có thể tự khóa hệ thống.

Sự sợ hãi đã qua

Vì vậy, bây giờ bạn có sự sợ hãi đằng sau bạn và nghiêm túc hóa vấn đề, tôi có thể nói với bạn rằng nó thực sự không tệ đến thế. Nếu bạn tin tưởng những người làm việc trên máy tính của mình và bạn chưa cài đặt các chương trình cho phép truy cập từ xa vào hệ thống của bạn (ví dụ: máy chủ ssh- hoặc ftp), thì việc vô hiệu hóa mật khẩu sẽ không nguy hiểm lắm. Chỉ cần không làm điều đó mà không xem xét trường hợp xấu nhất và nghĩ về dữ liệu riêng tư của bạn.


Nhìn ra các thủ tục tố tụng ( đừng làm điều này nhẹ nhàng - xem văn bản và liên kết ở trên ):

# in shell type these commands
sudo su       # in case you do something stupid, you'll have a root shell open
select-editor # (optional) will allow you to select text editor
visudo        # secure way to open sudoers list

Một trình soạn thảo sẽ mở THÊM một dòng như thế này:

confus confusion=(root) NOPASSWD:/usr/sbin/synaptic,/usr/bin/software-center

Cú pháp giải thích : username machine=(usernameToRunCommandAs) command1,command2,.... Vì vậy, dòng trên cho phép confus chạy synap và softwarecenter là root mà không cần truy vấn mật khẩu. Bạn vẫn sẽ cần phải bắt đầu nó bằng sudo synaptichoặc gksudo synapticđặt một bí danh `alias synaptic = 'sudo synaptic' trong hồ sơ shell của bạn.


thanx nhầm lẫn, bạn thực sự làm cho tôi hiểu. Rất vui khi thấy một cộng đồng tốt đẹp như vậy cho linux :)
fiftyeight

2
Không có gì. Vì linux là một dự án nguồn mở phụ thuộc vào những người đưa công việc của họ vào đó mà không phải bồi thường, bạn sẽ tìm thấy nhiều người hữu ích trong cộng đồng.
con-f-use

4

Họ không thể. Đây là thỏa thuận.

  1. Người dùng đầu tiên được tạo trong Ubuntu được coi là người dùng đặc biệt: đây là người dùng có quyền quản trị. Điều này có nghĩa là bao giờ người dùng này muốn thực hiện các tác vụ quản trị viên, anh ta sẽ được nhắc nhập mật khẩu quản trị viên. Những nhiệm vụ được ban hành bằng cách đặt sudotrước một lệnh.

  2. Tất cả người dùng khác (trừ khi bạn tự thay đổi) là người dùng bình thường và không thể cài đặt hệ thống phần mềm rộng trừ khi quản trị viên (người dùng thứ 1) cho phép họ làm như vậy. Người dùng bình thường chỉ có thể đặt mọi thứ trong nhà riêng của họ và nếu họ muốn họ có thể làm hỏng thư mục nhà của họ.

Cách này 1 người chịu trách nhiệm cho hệ thống.

Bạn có thể tạo nhiều hơn 1 người dùng một quản trị viên (để có thể cài đặt phần mềm) bằng cách thêm những người dùng đó vào tệp sudoers.

Bên cạnh đó họ có thể cài đặt phần mềm tại nhà nhưng điều này phụ thuộc vào phần mềm: đôi khi trình cài đặt muốn thêm phần mềm vào hệ thống và điều đó không được phép. Các cài đặt này có xu hướng từ nguồn nên nó không phải là phương pháp dễ nhất;)


2

Trong Ubuntu, quản trị viên có quyền root (thường được gọi là "root", như trong "bạn cần phải root").

Truy cập vào các tập tin có thể được chia thành ba loại:

  • đọc (giá trị số 4)
  • ghi (giá trị số 2)
  • thực hiện (giá trị số 1)

Các thuộc tính này có thể được đặt trên mỗi tệp hoặc thư mục. Hơn nữa, những hạn chế này có thể được đặt trên:

  • chủ sở hữu của tập tin
  • nhóm của tệp (người dùng có thể là thành viên của nhóm này)
  • tất cả người dùng khác không phải là chủ sở hữu cũng không trong nhóm

Những nguyên tắc này hình thành những điều cơ bản về quyền của tập tin Linux. Trong cửa sổ, mọi thứ đều có thể được thực thi. Cho nó một .cmdhoặc .exemở rộng ví dụ. Trong Ubuntu, bạn cần thêm bit thực thi một cách rõ ràng, nếu không sẽ xảy ra lỗi cấp phép.

Khi người dùng thực thi một chương trình, chương trình sẽ truy cập các tệp khi người dùng đó và các quyền của tệp này khởi động. Theo mặc định, các vị trí nơi các chương trình được cài đặt là đặc quyền, chỉ chủ sở hữu mới có thể viết. Chủ này là root. Tất cả người dùng khác chỉ có thể đọc và thực hiện chương trình, không thể ghi vào chương trình. Đó là lý do tại sao bạn cần quyền root để cài đặt chương trình.

Ubuntu có một chương trình đặc biệt gọi là sudo(SuperUser DO ...) để chạy các chương trình có quyền root. Điều này có thể được sử dụng để cài đặt phần mềm. Khi chạy, sudochương trình sẽ hỏi bạn mật khẩu người dùng. Lưu ý rằng chỉ các thành viên của adminnhóm có thể chạy các chương trình dưới dạng root bằng cách sử dụng sudo.

Trong Windows, bạn sẽ truy cập một trang web và tải xuống trình cài đặt. Ubuntu hoạt động với một kho phần mềm trong đó bạn có thể tìm kiếm các chương trình và cài đặt chúng. Các chương trình này được xem xét trước khi thêm vào kho chính thức, vì vậy bạn có thể chắc chắn rằng không có ý định gây hại nào tồn tại trong các chương trình.


ok tôi hiểu, vậy người dùng không thể cài đặt phần mềm vào thư mục chính của họ bằng cách nào đó và bằng cách đó nó không chạm vào các khu vực nhạy cảm? Ý tôi là, nếu họ thực sự muốn, họ có thể tải xuống các tệp cần thiết cho chương trình và đặt thư mục chính của họ bằng mọi cách, phải không?
mươi

Họ có thể cài đặt phần mềm trong thư mục nhà. Họ chỉ cần tự biên dịch nó và đặt các nhị phân ở đó. Tất nhiên phần mềm được cài đặt theo kiểu như vậy sẽ không thể truy cập các tệp được bảo vệ ở nơi khác. Mặc dù hầu hết các phần mềm được xây dựng theo cách, nhưng nó cần truy cập vào các tệp như vậy.
con-f-use

Tôi đã cập nhật câu trả lời với "cách Ubuntu" để cài đặt phần mềm. Có thể cài đặt phần mềm trong thư mục chính của bạn, nhưng điều đó thực sự phụ thuộc vào những gì bạn đã tải xuống. SOmetimes, đó là một kho lưu trữ với phần mở rộng .tar.gzhoặc .tar.bz2. Chúng thường có thể được trích xuất trong thư mục chính, nhưng đôi khi bạn cần biên dịch chương trình trước khi sử dụng. Nếu tệp có phần mở rộng .binhoặc .shphần mở rộng, thì đó thường là trình cài đặt có thể thực thi được, tùy theo cách sử dụng của chúng. Hãy nhớ rằng Ubuntu không sử dụng phần mở rộng tệp để xác định loại, nó sử dụng nội dung của nó.
Lekensteyn

2

Người dùng không phải quản trị viên không thể cài đặt phần mềm vì các gói chạy dưới quyền root khi họ cài đặt khi họ cài đặt vào các phần đặc quyền của hệ thống, chạy tập lệnh bảo trì, v.v.

Hiện tại không có cách nào để nói với hệ thống "Cài đặt firefox từ .deb này nhưng trong thư mục chính của người dùng để nó cách ly với phần còn lại của hệ thống"; đó là lý do tại sao hiện tại nó chủ yếu là tất cả hoặc không có gì. (Đây cũng là lý do tại sao chạy .debs của bên thứ ba rất tệ, gói và các tập lệnh bao gồm có quyền truy cập root vào hệ thống của bạn)


1

Bạn đã chạm vào một sự khác biệt LỚN giữa các cửa sổ và Ubuntu. Trong Windows khi bạn đăng nhập như một chương trình quản trị viên sẽ được cài đặt mà không yêu cầu mật khẩu. Điều này cũng cho phép phần mềm độc hại chạy chương trình của họ. Trong Ubuntu (Linux) ngay cả khi đăng nhập với tư cách quản trị viên, hệ thống sẽ luôn hỏi mật khẩu của bạn khi bạn thay đổi hệ thống. Do đó, phần mềm độc hại không thể xâm nhập hệ thống của bạn một cách dễ dàng. Để tổng hợp chạy Ubuntu với tư cách quản trị viên. Nếu bạn mở một tài khoản người dùng khác cho con bạn, chỉ cung cấp cho chúng quyền người dùng bình thường để chúng không thể làm hỏng hệ thống.


Với "admin", bạn có nghĩa là người dùng có quyền sudo? Các quản trị viên thực sự sẽ được root.

Phần mềm Windows không yêu cầu mật khẩu không phải vì bạn nhất thiết phải đăng nhập với tư cách Quản trị viên. nhưng vì Windows đơn giản là không hoạt động theo cách đó, do đó, nếu bạn tải xuống một tệp gỡ lỗi vô tình chứa một tập lệnh nguy hiểm và bạn đặt pass của mình để cài đặt tệp, nó có thể làm hỏng hệ thống giống như phần mềm độc hại của Windows.
Uri Herrera

Và ngay cả tài khoản Windows "Quản trị viên" cũng không thực sự là chủ sở hữu của tệp hệ thống, đó là HỆ THỐNG, trong trường hợp này sẽ như thế này, "Quản trị viên" là tài khoản bạn đã tạo khi cài đặt và ROOT là tệp hệ thống đúng chủ sở hữu
Uri Herrera

0

Bạn có thể cài đặt phần mềm như một người dùng thông thường, không phải quản trị viên. Phần mềm được cài đặt bởi người dùng thông thường sẽ được "sở hữu" bởi người dùng đó, điều đó có nghĩa là trên thực tế, đó là phần mở rộng của người dùng - nó không có nhiều quyền hơn người dùng sở hữu, mặc dù có thể có ít quyền hơn, tại tùy chọn của người dùng.

Một thực tế phổ biến là người dùng tạo thư mục 'bin' trong thư mục chính của họ. Nếu / home / [user] / bin tồn tại, nó được thêm vào đầu đường dẫn của người dùng đó. Bạn có thể đặt các tệp thực thi trong / home / [user] / bin hoặc trong bất kỳ thư mục nào khác mà bạn có quyền ghi và thực thi quyền truy cập, và thực hiện chương trình từ đó.

Những gì người dùng thông thường không thể làm là cài đặt một gói toàn hệ thống. Chẳng hạn, một người dùng thông thường không thể đặt các tệp thực thi vào / usr / bin, cũng như không cấp cho họ các quyền vượt quá quyền của chính người dùng. Rõ ràng, đây là vì lý do bảo mật cơ bản - ví dụ, bạn cần có quyền quản trị để định dạng lại ổ cứng và bạn không muốn ai đó làm trái phép.

Theo tôi biết, bạn không thể sử dụng phần mềm quản lý gói để cài đặt gói phần mềm trừ khi bạn có quyền quản trị viên, vì việc quản lý gói được thực hiện trên toàn hệ thống.

Tuy nhiên, không có quyền quản trị, bạn có thể tạo tập lệnh shell, viết và biên dịch mã nguồn, tải xuống và biên dịch "tarballs", là các gói mã nguồn cho các ứng dụng phức tạp hoặc tải xuống các tệp thực thi, miễn là chúng chỉ có thể được sử dụng với quyền của người dùng thông thường. Một số trò chơi độc lập, như World of Goo hoặc X-Plane 9, có thể được cài đặt và sử dụng theo cách này.


Khi đọc lại câu hỏi, tôi không nghĩ câu trả lời của mình có liên quan trực tiếp. Một câu trả lời phù hợp hơn là, giả sử tài khoản thông thường của người dùng có đặc quyền quản trị viên, anh ta nên được nhắc nhập mật khẩu trước khi làm bất cứ điều gì cần quyền siêu người dùng và điều đó đủ an toàn, nhưng anh ta có thể tạo tài khoản người dùng thứ hai không có quyền quản trị nếu anh ta thích.
bgvaughan

Câu hỏi của bạn thực sự hữu ích, cảm ơn bạn :)
fiftyeight
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.