Dlaczego użytkownicy niebędący administratorami nie mogą instalować oprogramowania?

11

Jest to prawdopodobnie coś, czego nie rozumiem, ponieważ jestem przyzwyczajony do systemu Windows i dopiero zaczynam pracę z Ubuntu. Wiem, że oprogramowanie w systemie Linux jest dostarczane w pakietach. Nie rozumiem, dlaczego użytkownicy niebędący administratorami nie mogą instalować oprogramowania.

Chodzi mi o to, że każda aplikacja jest uruchamiana przez określonego użytkownika i ten użytkownik będzie mógł uruchomić tę aplikację tylko ze swoimi uprawnieniami, więc jeśli nie ma uprawnień administratora, aplikacja nie będzie mogła uzyskać dostępu do nieautoryzowanych katalogów itp.

Chcę przez większość czasu pracować na komputerze z użytkownikiem niebędącym administratorem, ponieważ wydaje mi się to bezpieczniejsze, przez większość czasu nie potrzebuję uprawnień administratora. i chociaż wiem, że wirusy w systemie Linux są rzadkie, nadal uważam, że najlepszą praktyką jest praca na komputerze w stanie, w którym sam nie możesz wprowadzić żadnych zmian w ważnych plikach, w ten sposób wirusy nie mogą również uszkodzić żadnych ważnych plików, ale muszę zainstalować oprogramowanie do programowania i projektowania stron internetowych itp. Przede wszystkim nie chcę ciągle zmieniać użytkowników. Ale wydaje mi się również, że wszystko, co dzieje się na komputerze PC, zostanie wykonane przez użytkownika niebędącego administratorem.

Z przyjemnością dowiem się, jakie mam nieporozumienie, ponieważ coś tutaj nie brzmi dobrze.

pięćdziesiąt osiem
źródło

Odpowiedzi:

16

Dlaczego jesteś proszony o hasło?

Większość oprogramowania jest zaprojektowana do dotykania wrażliwych plików, tj. Wrażliwych na bezpieczeństwo twoich prywatnych danych lub integralność systemu. Dlatego instalacja oprogramowania stanowi potencjalne ryzyko i powinna zostać zweryfikowana przez użytkownika, który wie, co robi. Nawet w przypadku oprogramowania typu open source nie można mieć pewności, że wraz ze swoim nowym odtwarzaczem audio nie pojawi się żaden zły kod, dopóki ktoś nie sprawdzi. I nawet wtedy coś mogło zostać przeoczone lub po drodze można było manipulować paczkami. Kto wie, co kryje się w głębi programu? Jeden użytkownik powinien.

Ubuntu zapewnia wygodny sposób instalowania oprogramowania. Twórcy oprogramowania mogą polegać na tym wygodzie i przyjąć założenie, że synaptic / centrum oprogramowania / apt umożliwia im dostęp do tych wrażliwych plików. Canonical sprawdza repozytorium oprogramowania pod kątem błędów i złośliwego kodu. Ale ostateczna odpowiedzialność spoczywa na Tobie.

Jeśli dane oprogramowanie nie potrzebuje dostępu do poufnych plików, może (co do zasady) zostać zainstalowane w folderze domowym, ale nie w Ubuntu. Będziesz musiał na przykład samodzielnie skompilować kod źródłowy lub uruchomić niestandardowy skrypt instalacyjny. Oprócz większych wysiłków ma to tę wadę, że nie pozwala innym użytkownikom na dostęp do właśnie zainstalowanego programu (ponieważ nie mają oni prawa dostępu do twojego folderu domowego). Będą musieli zainstalować go po raz drugi. Tak więc ten sposób instalacji nie ma sensu na dużą skalę i na małą skalę zwykle łatwiej jest wpisać hasło niż zainstalować oprogramowanie ręcznie.

Dlatego właśnie Synaptic oczekuje hasła i dlatego dobrze, że to robi.


Sudoers

Jeśli naprawdę potrzebujesz, aby inni użytkownicy instalowali oprogramowanie bez hasła , możesz dodać je do listy sudoers. Spowoduje to jednak duże ryzyko bezpieczeństwa . Jeśli to Cię nie dotyczy, zastanów się, że istnieje sieć botów z dużymi zasobami do włamania się do komputera przez Internet. Robią to tylko po to, aby dodać komputer do sieci i wykorzystać jego połączenie i moc obliczeniową bez twojej wiedzy do robienia wszelkiego rodzaju nielegalnych rzeczy. Nie dotyczą nawet twoich danych osobowych w tym zakresie. Chcą tylko przejąć kontrolę nad komputerem. Nadal się nie martwisz? Naprawdę? Następnie spójrz na następującą odpowiedź, która jest małym poradnikiem na temat działania listy sudoers:

Jak sprawić, by Ubuntu zapamiętało hasło na zawsze po raz pierwszy

Przeczytaj to uważnie. Możesz zablokować się w systemie.

Strach się skończył

Więc teraz masz strach za sobą i biorąc sprawę poważnie, mogę powiedzieć, że to naprawdę nie jest takie złe. Jeśli ufasz osobom pracującym na twoim komputerze i nie masz zainstalowanych programów, które umożliwiają zdalny dostęp do twojego systemu (np. Serwer ssh lub ftp), to naprawdę nie jest tak niebezpieczne wyłączenie hasła. Po prostu nie rób tego bez rozważenia najgorszego przypadku i pomyśl o swoich prywatnych danych.


Omówienie postępowania ( nie rób tego lekko - patrz tekst i link powyżej ):

# 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

Edytor otworzy DODAJ taką linię:

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

Składnia wyjaśnienie: username machine=(usernameToRunCommandAs) command1,command2,.... Tak więc powyższa linia pozwala confus uruchomić synaptic i softwarecenter jako root bez zapytania o hasło. Nadal będziesz musiał zacząć od sudo synapticlub gksudo synapticwstawić alias `alias synaptic = 'sudo synaptic' w swoim profilu powłoki.

dezorientować
źródło
dziękuję, naprawdę mnie zrozumiałeś. miło widzieć taką fajną społeczność dla Linuksa :)
pięćdziesiąt osiem
2
Nie ma za co. Ponieważ Linux jako projekt open source polega na tym, że ludzie wkładają w to swoją pracę bez wynagrodzenia, w społeczności będzie wielu pomocnych ludzi.
con-f-use
4

Oni nie mogą. Oto oferta.

  1. Pierwszy użytkownik utworzony w Ubuntu jest uważany za użytkownika specjalnego: jest to użytkownik z uprawnieniami administracyjnymi. Oznacza to, że ilekroć ten użytkownik chce wykonywać zadania administracyjne, zostanie poproszony o podanie hasła administratora. Zadania te są wydawane przez postawienie sudopolecenia.

  2. Wszyscy inni użytkownicy (chyba że zmienisz to samodzielnie) są normalnymi użytkownikami i nie mogą instalować oprogramowania systemowego, chyba że administrator (pierwszy użytkownik) na to zezwoli. Zwykły użytkownik może umieszczać rzeczy tylko we własnym domu, a jeśli chce, może zepsuć swój katalog domowy.

W ten sposób za system odpowiada 1 osoba.

Możesz uczynić z administratora więcej niż 1 użytkownika (aby móc zainstalować oprogramowanie), dodając tych użytkowników do pliku sudoers.

Poza tym mogą instalować oprogramowanie w domu, ale to zależy od oprogramowania: czasami instalator chce dodać je do systemu i jest to niedozwolone. Te instalacje zwykle pochodzą ze źródła, więc nie jest to najłatwiejsza metoda;)

Rinzwind
źródło
2

W Ubuntu administrator ma uprawnienia roota (często nazywane po prostu „rootem”, ponieważ w „musisz być rootem”).

Dostęp do plików można podzielić na trzy typy:

  • odczyt (wartość liczbowa 4)
  • zapis (wartość liczbowa 2)
  • wykonać (wartość liczbowa 1)

Te atrybuty można ustawić dla każdego pliku lub katalogu. Ponadto ograniczenia te można ustawić na:

  • właściciel pliku
  • grupa pliku (użytkownicy mogą być członkami tej grupy)
  • wszyscy inni użytkownicy, którzy nie są właścicielami ani w grupie

Te zasady stanowią podstawę uprawnień do plików systemu Linux. W systemie Windows wszystko można wykonać. Podaj na przykład rozszerzenie .cmdlub .exerozszerzenie. W Ubuntu musisz jawnie dodać bit wykonawczy, w przeciwnym razie zostanie zgłoszony błąd uprawnień.

Gdy użytkownik wykonuje program, program uzyskuje dostęp do plików, gdy ten użytkownik się uruchamia, a uprawnienia do plików są uruchamiane. Domyślnie lokalizacje, w których instalowane są programy, są uprzywilejowane, tylko właściciel może pisać. Ten właściciel jest rootem. Wszyscy inni użytkownicy mogą tylko czytać i uruchamiać program, a nie pisać do niego. Dlatego potrzebujesz uprawnień roota do instalowania programów.

Ubuntu ma specjalny program o nazwie sudo(SuperUser DO ...) do uruchamiania programów z uprawnieniami roota. Można tego użyć do instalacji oprogramowania. Po uruchomieniu sudoprogram prosi o podanie hasła użytkownika. Pamiętaj, że tylko członkowie admingrupy mogą uruchamiać programy jako root sudo.

W systemie Windows można przejść do strony internetowej i pobrać instalator. Ubuntu współpracuje z repozytorium oprogramowania, w którym można wyszukiwać programy i instalować je. Programy te są sprawdzane przed dodaniem do oficjalnych repozytoriów, więc możesz mieć pewność, że nie ma w nich szkodliwych zamiarów.

Lekensteyn
źródło
ok rozumiem, więc użytkownicy nie mogą w jakiś sposób instalować oprogramowania w swoim katalogu domowym, aby nie dotykało wrażliwych obszarów? Chodzi mi o to, że jeśli naprawdę tego chcą, prawdopodobnie mogą pobrać pliki niezbędne dla programu i umieścić je w swoim katalogu domowym, prawda?
pięćdziesiąt osiem
Mogą zainstalować oprogramowanie w tamtym katalogu domowym. Muszą po prostu sami go skompilować i umieścić tam pliki binarne. Oczywiście oprogramowanie zainstalowane w taki sposób nie będzie miało dostępu do chronionych plików w innym miejscu. Chociaż większość oprogramowania jest zbudowana w taki sposób, że musi mieć dostęp do takich plików.
con-f-use
Zaktualizowałem odpowiedź o „sposób Ubuntu” do instalowania oprogramowania. Możliwe jest zainstalowanie oprogramowania w katalogu domowym, ale tak naprawdę zależy to od tego, co pobrałeś. Czasami jest to archiwum z rozszerzeniem .tar.gzlub .tar.bz2. Można je często wyodrębnić bezpośrednio z katalogu domowego, ale czasem trzeba skompilować program przed użyciem. Jeśli plik ma rozszerzenie .binlub .shrozszerzenie, często jest to wykonywalny instalator, który różni się w użyciu. Pamiętaj, że Ubuntu nie używa rozszerzeń plików do określania typu, używa jego zawartości.
Lekensteyn,
2

Użytkownicy niebędący administratorami nie mogą instalować oprogramowania, ponieważ podczas instalacji pakiety działają jako root podczas instalowania w uprzywilejowanych częściach systemu, uruchamiania skryptów opiekuna itp.

Obecnie nie ma sposobu, aby powiedzieć systemowi „Zainstaluj Firefoksa z tego .deb, ale w katalogu domowym użytkownika, aby był odizolowany od reszty systemu”; dlatego obecnie jest to głównie sprawa „wszystko albo nic”. (Z tego powodu uruchamianie zewnętrznych plików .deb jest złe, pakiet i zawarte w nim skrypty mają dostęp do systemu root)

Jorge Castro
źródło
1

Dotknąłeś WIELKĄ różnicę między Windows a Ubuntu. W systemie Windows, gdy jesteś zalogowany jako administrator, programy zostaną zainstalowane bez pytania o hasło. Umożliwia to również złośliwe oprogramowanie do uruchamiania swoich programów. W Ubuntu (Linux) nawet będąc zalogowanym jako administrator, system zawsze poprosi o hasło podczas zmiany systemu. Dlatego szkodliwe oprogramowanie nie może łatwo zaatakować twojego systemu. Podsumowując, uruchom Ubuntu jako administrator. Jeśli otworzysz inne konto użytkownika dla swoich dzieci, dasz im tylko zwykłe prawa użytkownika, aby nie mogły zepsuć systemu.

mieszaniec
źródło
Przez „admin” masz na myśli użytkownika z uprawnieniami sudo? Prawdziwy administrator byłby rootem.
Oprogramowanie systemu Windows nie pyta o hasło nie dlatego, że koniecznie jesteś zalogowany jako administrator. ale ponieważ system Windows po prostu nie działa w ten sposób, więc jeśli chcesz pobrać plik deb, który nieświadomie zawiera niebezpieczny skrypt, i umieścisz przepustkę, aby zainstalować plik, może uszkodzić system podobnie jak złośliwe oprogramowanie systemu Windows.
Uri Herrera
I nawet konto systemu Windows „Administrator” nie jest tak naprawdę właścicielem pliku systemowego, to SYSTEM, co w tym przypadku wyglądałoby tak: „Administrator”, który jest kontem utworzonym podczas instalacji, i ROOT, który jest plikiem systemowym właściciel
Uri Herrera
0

Możesz zainstalować oprogramowanie jako zwykły użytkownik niebędący administratorem. Oprogramowanie zainstalowane przez zwykłego użytkownika będzie „własnością” tego użytkownika, co oznacza, że ​​w efekcie jest rozszerzeniem użytkownika - nie ma więcej uprawnień niż użytkownik będący właścicielem, chociaż może mieć mniej uprawnień w opcja użytkownika.

Powszechną praktyką jest tworzenie przez użytkownika katalogu „bin” w swoim katalogu domowym. Jeśli istnieje / home / [użytkownik] / bin, jest on dodawany na początku ścieżki tego użytkownika. Możesz umieścić pliki wykonywalne w / home / [użytkownik] / bin lub w dowolnym innym folderze, do którego masz dostęp do zapisu i wykonywania, i stamtąd uruchomić program.

Zwykły użytkownik nie jest w stanie zainstalować pakietu w całym systemie. Zwykły użytkownik nie może na przykład umieścić plików wykonywalnych w katalogu / usr / bin ani przyznać im uprawnień przekraczających uprawnienia użytkownika. Jest to oczywiście spowodowane podstawowymi względami bezpieczeństwa - na przykład potrzebujesz uprawnień administratora, aby sformatować dysk twardy i nie chcesz, aby ktoś to robił bez upoważnienia.

O ile mi wiadomo, nie można używać oprogramowania do zarządzania pakietami do instalowania pakietu oprogramowania, chyba że masz uprawnienia administratora, ponieważ zarządzanie pakietami odbywa się na poziomie całego systemu.

Jednak bez uprawnień administratora można tworzyć skrypty powłoki, pisać i kompilować kod źródłowy, pobierać i kompilować „pliki tar”, które są pakietami kodu źródłowego dla złożonych aplikacji, lub pobierać pliki wykonywalne, o ile można ich używać tylko z uprawnienia zwykłego użytkownika. Niektóre gry niezależne, takie jak World of Goo lub X-Plane 9, można zainstalować i używać w ten sposób.

bgvaughan
źródło
Po ponownym przeczytaniu pytania nie sądzę, aby moja odpowiedź była bezpośrednio istotna. Bardziej trafną odpowiedzią byłoby to, że zakładając, że zwykłe konto użytkownika ma uprawnienia administratora, powinien zostać poproszony o podanie hasła przed zrobieniem czegoś, co wymaga uprawnień administratora, i to powinno być wystarczająco bezpieczne, ale mógłby po prostu utworzyć drugie konto użytkownika, które nie ma uprawnień administratora, jeśli woli.
bgvaughan
Twoje pytanie było pomocne, dziękuję :)
pięćdziesiąt osiem