관리자가 아닌 사용자가 소프트웨어를 설치할 수없는 이유는 무엇입니까?


11

이것은 Windows에 익숙하고 우분투로 시작하기 때문에 이해할 수없는 것입니다. Linux의 소프트웨어가 패키지로 제공된다는 것을 알고 있습니다. 관리자가 아닌 사용자가 소프트웨어를 설치할 수없는 이유는 무엇입니까?

즉, 모든 응용 프로그램은 특정 사용자가 실행하며 해당 사용자는 자신의 권한으로 만 해당 응용 프로그램을 실행할 수 있으므로 관리자 권한이 없으면 응용 프로그램은 권한이없는 디렉토리 등에 액세스 할 수 없습니다.

관리자 권한이 필요없는 대부분의 경우 관리자 권한이없는 사용자와 함께 PC에서 작업하는 것이 더 안전 해 보이기 때문에 대부분의 시간을 원합니다. 리눅스에서 바이러스가 흔하지 않다는 것을 알고 있지만, 여전히 가장 좋은 방법은 컴퓨터에서 중요한 파일을 변경할 수없는 상태에서 컴퓨터를 사용하여 바이러스가 중요한 파일을 손상시키지 않는 것입니다. 그러나 프로그래밍 및 웹 디자인 등을위한 소프트웨어를 설치해야하며, 무엇보다도 항상 사용자를 전환하고 싶지 않습니다. 그러나 PC에서 수행되는 모든 작업이 관리자가 아닌 사용자를 통해 수행된다는 것이 더 안전합니다.

나는 여기에 오해가 무엇인지 알고 기뻐할 것입니다.

답변:


16

비밀번호를 묻는 이유

대부분의 소프트웨어는 민감한 파일, 즉 개인 데이터의 보안 또는 시스템 무결성에 민감한 파일을 만지도록 설계되었습니다. 그렇기 때문에 소프트웨어 설치가 잠재적 인 위험이며 자신이하는 일을 알고있는 사용자가이를 검증해야합니다. 오픈 소스 소프트웨어의 경우에도 누군가가 확인하기 전까지는 악의적 인 새로운 오디오 플레이어에 잘못된 코드 비트가 도착하지 않을 수 있습니다. 그리고 나서도 무언가를 간과하거나 포장을 조작 할 수있었습니다. 프로그램의 깊이에 무엇이 숨겨져 있는지 누가 알 수 있습니까? 한 명의 사용자가해야합니다.

우분투는 편리한 소프트웨어 설치 방법을 제공합니다. 소프트웨어 개발자는 이러한 편의에 의존하여 시냅틱 / 소프트웨어 센터 / 적응을 통해 이러한 민감한 파일에 액세스 할 수 있다고 가정 할 수 있습니다. Canonical은 소프트웨어 저장소에서 버그 및 악성 코드가 있는지 확인합니다. 그러나 궁극적 인 책임은 당신입니다.

문제의 소프트웨어가 민감한 파일에 액세스 할 필요가없는 경우 원칙적으로 Ubuntu 방식이 아닌 홈 폴더에 설치할 수 있습니다. 예를 들어 소스 코드를 직접 컴파일하거나 사용자 정의 설치 스크립트를 실행해야합니다. 더 큰 노력 외에도 다른 사용자가 방금 설치 한 프로그램에 액세스 할 수 없다는 단점이 있습니다 (홈 폴더에 액세스 할 수있는 권한이 없기 때문에). 두 번째로 설치해야합니다. 따라서이 설치 방법은 대규모로, 소규모로 소프트웨어를 수동으로 설치하는 것보다 암호를 입력하는 것이 더 쉽습니다.

그렇기 때문에 시냅틱이 암호를 요구하는 이유와 암호가 좋은 이유입니다.


Sudoers

다른 사용자가 암호없이 소프트웨어를 설치해야 할 필요 가있는 경우 sudoers 목록에 추가 할 수 있습니다. 그러나 이로 인해 큰 보안 위험이 발생 합니다. 그래도 문제가되지 않는다면 인터넷을 통해 컴퓨터에 침입 할 수있는 훌륭한 리소스가있는 봇 네트워크가 있다고 생각하십시오. 그들은 단지 컴퓨터를 인터넷에 추가하고 모든 종류의 불법적 인 일을 알기 위해 컴퓨터를 연결하고 컴퓨팅 능력을 사용하기 위해 사용합니다. 그들은 당신의 개인 데이터 후에도 그 문제에 대해 당신이 아닙니다. 그들은 단지 당신의 PC를 가로 채기를 원합니다. 아직 걱정하지 않으십니까? 정말? 그런 다음 sudoers 목록의 작업에 대한 작은 방법 인 다음 답변을 살펴보십시오.

Ubuntu가 처음으로 비밀번호를 영원히 기억하게하는 방법

잘 읽어보세요. 시스템에서 자신을 잠글 수 있습니다.

겁이 끝났다

그래서 지금 당신은 당신의 겁을 가지고 있고 문제를 진지하게 받아들입니다. 나는 그것이 그렇게 나쁘지 않다고 말할 수 있습니다. 컴퓨터에서 작업하는 사람들을 신뢰하고 시스템에 원격으로 액세스 할 수있는 프로그램 (예 : ssh 또는 ftp 서버)이 설치되어 있지 않은 경우 암호를 비활성화하는 것이 그렇게 위험하지는 않습니다. 최악의 경우를 고려하지 않고 개인 데이터를 생각하지 말고 수행하십시오.


절차를 간과하십시오 (이렇게 하지 마십시오 - 위의 텍스트 및 링크 참조 ).

# 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

편집자는 다음과 같은 행을 추가합니다 :

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

구문 설명 : username machine=(usernameToRunCommandAs) command1,command2,.... 따라서 위의 행을 통해 confus는 암호 쿼리없이 루트로 시냅틱과 소프트웨어 센터를 실행할 수 있습니다. 쉘 프로파일에서 별명`alias synaptic = 'sudo synaptic' 으로 시작 sudo synaptic하거나 gksudo synaptic별명을 넣어야합니다.


고마워 혼란, 당신은 정말 나를 이해하게했다. 좋은이 : 리눅스에 대한 정말 좋은 커뮤니티 볼
fiftyeight

2
천만에요. 오픈 소스 프로젝트 인 Linux는 보상없이 자신의 작업을 수행하는 사람들에 의존하기 때문에 커뮤니티에서 많은 도움이되는 사람들을 찾을 수 있습니다.
con-f-use

4

그들은 할 수 없어. 여기에 거래가 있습니다.

  1. 우분투에서 만든 첫 번째 사용자는 특별한 사용자로 간주됩니다 : 이것은 관리 권한이있는 사용자입니다. 즉,이 사용자가 관리자 작업을 수행하려고 할 때마다 관리자 암호를 입력하라는 메시지가 표시됩니다. 이러한 작업은 sudo명령 앞에 두어 발행됩니다 .

  2. 다른 모든 사용자 (직접 변경하지 않는 한)는 일반 사용자이며 관리자 (첫 번째 사용자)가 허용하지 않는 한 소프트웨어 시스템 전체를 설치할 수 없습니다. 일반 사용자는 자신의 집에만 물건을 넣을 수 있으며 원하는 경우 홈 디렉토리를 엉망으로 만들 수 있습니다.

이 방법으로 한 사람이 시스템을 책임집니다.

sudoers 파일에 해당 사용자를 추가하여 둘 이상의 사용자를 관리자 (소프트웨어 설치 가능)로 만들 수 있습니다.

그 외에는 집에 소프트웨어를 설치할 수 있지만 소프트웨어에 따라 다릅니다. 때로는 설치 프로그램이 시스템에 소프트웨어를 추가하려고하지만 허용되지 않습니다. 이러한 설치는 소스에서 제공되는 경향이 있으므로 가장 쉬운 방법은 아닙니다.)


2

우분투에서 관리자는 루트 권한을 갖습니다 ( "루트 여야 함"과 같이 "루트"라고도 함).

파일에 대한 액세스는 세 가지 유형으로 나눌 수 있습니다.

  • 읽기 (숫자 값 4)
  • 쓰기 (숫자 값 2)
  • 실행 (숫자 값 1)

이러한 속성은 모든 파일 또는 디렉토리에서 설정할 수 있습니다. 또한 다음 제한 사항을 설정할 수 있습니다.

  • 파일의 소유자
  • 파일 그룹 (사용자는이 그룹의 구성원 일 수 있음)
  • 소유자 나 그룹에 속하지 않은 다른 모든 사용자

이러한 원칙은 Linux 파일 권한의 기본을 구성합니다. Windows에서는 모든 것을 실행할 수 있습니다. 그에게 부여 .cmd또는 .exe예를 들어 확장. 우분투에서는 실행 비트를 명시 적으로 추가해야합니다. 그렇지 않으면 권한 오류가 발생합니다.

사용자가 프로그램을 실행하면 프로그램은 해당 사용자가 파일을 액세스하고 이러한 파일 권한이 시작됩니다. 기본적으로 프로그램이 설치된 위치는 권한이 있으며 소유자 만 쓸 수 있습니다. 이 소유자는 루트입니다. 다른 모든 사용자는 프로그램을 읽고 쓰지 않고 읽을 수만 있습니다. 따라서 프로그램을 설치하려면 루트 권한이 필요합니다.

우분투에는 sudo루트 권한으로 프로그램을 실행하는 (SuperUser DO ...) 라는 특수 프로그램이 있습니다. 소프트웨어 설치에 사용할 수 있습니다. sudo프로그램 이 실행되면 사용자 비밀번호를 묻습니다. admin그룹의 구성원 만 프로그램을 사용하여 루트로 프로그램을 실행할 수 있습니다 sudo.

Windows에서는 웹 사이트로 이동하여 설치 프로그램을 다운로드합니다. Ubuntu는 프로그램을 검색하고 설치할 수있는 소프트웨어 리포지토리와 함께 작동합니다. 이러한 프로그램은 공식 리포지토리에 추가되기 전에 검토되므로 프로그램에 유해한 의도가 없는지 확인할 수 있습니다.


알았어, 사용자는 어떻게 든 홈 디렉토리에 소프트웨어를 설치할 수 없어 민감한 영역에 닿지 않습니까? 그들이 정말로 원한다면 프로그램에 필요한 파일을 다운로드하여 홈 디렉토리에 넣을 수는 없습니까?
fiftyeight

홈 디렉토리에 소프트웨어를 설치할 수 있습니다. 그들은 그것을 스스로 컴파일하고 바이너리를 거기에두면됩니다. 물론 이런 방식으로 설치된 소프트웨어는 다른 곳에서 보호 된 파일에 액세스 할 수 없습니다. 대부분의 소프트웨어는 어떤 방식 으로든 구축되지만 그러한 파일에 액세스해야합니다.
con-f-use

소프트웨어 설치를위한 "우분투 방식"으로 답변을 업데이트했습니다. 홈 디렉토리에 소프트웨어를 설치할 수 있지만 실제로 다운로드 한 내용에 따라 다릅니다. SOmetimes, .tar.gz또는 확장명이있는 아카이브입니다 .tar.bz2. 이들은 종종 홈 디렉토리에서 직접 추출 될 수 있지만 때로는 사용하기 전에 프로그램을 컴파일해야합니다. 파일에 확장자 가 .bin있거나 .sh확장명 인 경우 파일 사용법이 다른 실행 가능한 설치 프로그램 인 경우가 많습니다. 우분투는 파일 확장자를 사용하여 유형을 결정하지 않으며 그 내용을 사용합니다.
Lekensteyn

2

관리자가 아닌 사용자는 패키지를 설치할 때 루트 권한으로 시스템의 권한있는 부분에 설치하거나 관리자 스크립트를 실행하기 때문에 소프트웨어를 설치할 수 없습니다.

현재 시스템에 "이 .deb에서 파이어 폭스를 설치하지만 사용자의 홈 디렉토리에 파이어 폭스를 설치하여 시스템의 나머지 부분과 분리되도록하십시오"; 그렇기 때문에 현재는 대부분이 아니면 전혀 문제가되지 않습니다. (이것은 또한 타사 .deb를 실행하는 것이 좋지 않은 이유입니다. 패키지 및 포함 된 스크립트는 시스템에 루트 액세스 할 수 있습니다)


1

당신은 창과 우분투의 큰 차이점을 만났습니다. Windows에서 관리자 프로그램으로 로그인하면 암호를 묻지 않고 설치됩니다. 또한 맬웨어가 프로그램을 실행할 수 있습니다. Ubuntu (Linux)에서 관리자로 로그인 한 경우에도 시스템을 변경할 때 항상 비밀번호를 묻습니다. 따라서 맬웨어는 시스템을 쉽게 침입 할 수 없습니다. 요약하면 Ubuntu를 관리자 권한으로 실행하십시오. 자녀를 위해 다른 사용자 계정을 열면 일반 사용자 권한 만 부여하여 시스템을 망칠 수 없습니다.


"관리자"란 sudo 권한을 가진 사용자를 의미합니까? 실제 관리자는 루트입니다.

Windows 소프트웨어는 반드시 관리자로 로그인했기 때문에 암호를 요구하지 않습니다. 그러나 Windows는 그런 식으로 작동하지 않기 때문에 무의식적으로 위험한 스크립트가 포함 된 deb 파일을 다운로드하고 파일을 설치하면 Windows 맬웨어처럼 시스템을 손상시킬 수 있습니다.
Uri Herrera 2016 년

그리고 "관리자"Windows 계정조차도 실제로 시스템 파일의 소유자가 아닙니다.이 경우 SYSTEM입니다.이 경우에는 설치시 생성 한 계정 인 "관리자"및 시스템 파일의 사실 인 ROOT입니다. 소유자
Uri Herrera 2016 년

0

관리자가 아닌 일반 사용자로 소프트웨어를 설치할 수 있습니다. 일반 사용자가 설치 한 소프트웨어는 해당 사용자가 "소유"하게되므로 사실상 사용자의 확장 기능입니다. 즉, 권한이 적을 수 있지만 소유 한 사용자보다 더 많은 권한이 없습니다. 사용자 옵션.

일반적인 방법은 사용자가 홈 디렉토리 내에 'bin'디렉토리를 작성하는 것입니다. / home / [user] / bin이 있으면 해당 사용자 경로의 시작 부분에 추가됩니다. 실행 파일을 / home / [user] / bin 또는 쓰기 및 실행 액세스 권한이있는 다른 폴더에 배치하고 거기서 프로그램을 실행할 수 있습니다.

일반 사용자가 할 수없는 것은 시스템 전체에 패키지를 설치하는 것입니다. 예를 들어 일반 사용자는 실행 파일을 / usr / bin에 넣거나 사용자 자신의 권한을 초과하는 권한을 부여 할 수 없습니다. 이것은 기본 보안상의 이유입니다. 예를 들어 하드 드라이브를 다시 포맷하려면 관리자 권한이 필요합니다.

내가 아는 한 패키지 관리는 시스템 전체에서 수행되므로 관리자 권한이 없으면 패키지 관리 소프트웨어를 사용하여 소프트웨어 패키지를 설치할 수 없습니다.

그러나 관리자 권한이 없으면 쉘 스크립트를 작성하고, 소스 코드를 작성 및 컴파일하고, 복잡한 응용 프로그램을위한 소스 코드 패키지 인 "tarballs"를 다운로드 및 컴파일 할 수 있습니다. 일반 사용자의 권한. 이런 방식으로 World of Goo 또는 X-Plane 9와 같은 일부 인디 게임을 설치하여 사용할 수 있습니다.


질문을 다시 읽을 때 내 대답이 직접적으로 관련이 있다고 생각하지 않습니다. 보다 적절한 대답은 사용자의 일반 계정에 관리자 권한이 있다고 가정하면 수퍼 유저 권한이 필요한 작업을 수행하기 전에 암호를 입력하라는 메시지가 표시되어야하며 충분히 안전해야하지만 두 번째 사용자 계정을 만들 수 있다는 것입니다. 원하는 경우 관리자 권한이 없습니다.
bgvaughan

귀하의 질문이 실제로 도움이되었습니다, 감사합니다 :)
fiftyeight
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.