Ubuntu에 두 명의 sudo 사용자가 존재할 때 사용자 파일이 여전히 개인용입니까?


31

개인 우분투 PC를 동료 중 한 명과 공유하고 있습니다.

다른 암호를 가진 다른 사용자를 만들었고 (물론 알고 있습니다) sudoer목록에 추가했습니다 .

sudo단일 우분투 시스템 에는 두 명의 사용자 가 있다고 가정합니다 .

  • 이러한 사용자의 개인 파일 (소유자 및 권한으로 지정)이 여전히 개인용입니까?

  • sudo명령을 통해 동료의 파일을 수정할 수 있습니까 sudo su?



6
Ubuntu를 사용하면 사용자를 만들 때 홈 폴더를 암호화 할 수 있습니다. 이것이 바로 여기에 필요한 기능 일 수 있습니다.
Thorbjørn Ravn Andersen


@ ThorbjørnRavnAndersen 홈 폴더를 암호화 한 후에도 이전처럼 편리하게 파일에 액세스 할 수 있습니까?
Jizhou Huang

3
다른 사용자로부터 sudo 액세스를 제거하지 않고 단독 관리자가 된 이유는 무엇입니까? 다른 사용자가 sudo를 필요로하는 이유가 무엇이든 sudo (마운트, 인쇄, 자동 업데이트 등)가 필요하지 않도록 수정할 수 있습니다.
Xen2050

답변:


51

동료가 sudoers 목록에 있으면 원하는만큼 루트 권한을 갖으며 모든 사람을 볼 수 있습니다.

사용자 프라이버시를 원할 경우 최악의 설정입니다. Linux에서의 사용자 관리 작동 방식을 반드시 읽어야합니다. 다음은 시작할 수있는 몇 가지 기사입니다.

심지어 누군가가 문제의 머신에 물리적으로 접근 할 수 있어도 프라이버시가 없다면, 루트 쉘로 부팅 할 때 모든 것을 볼 수 있으며, 비밀번호로 보호된다면 USB 스틱을 사용할 수 있습니다. 이런 식으로 들어갑니다.

이 경우 가장 좋은 방법은 적절한 사용자 관리, 루트 암호 및 암호화 된 드라이브 및 / 또는 암호화 된 홈 디렉토리입니다.


2
확실히 sudo -i작동하지 않습니다 :)
Wilf

3
sudoers의 가장 단순하고 가장 일반적인 구성은 사용자 목록에 임시로 루트 권한을 부여하는 것이지만 sudoers는 세분화 된 액세스 제어를 허용합니다. 예를 들어, 사용자가 특정 특정 명령 만 루트로 실행할 수 있도록 지정할 수 있습니다. 사용자가 루트 쉘 작성을 허용하지 않는 명령 만 실행하도록 허용하거나 허용하려는 명령 범위를 벗어나는 영구 루트 액세스를 작성하는 경우 일반적으로 루트 액세스를 허용하지 않을 수 있습니다.
bgvaughan

19

간단한 대안은 개인 데이터를 암호화 된 파일 (예 : gpg로 암호화하는 tar 아카이브 파일 일 수 있음)에 보관하는 것입니다. 일반 텍스트 파일을보고 덮어 쓴 후 제거해야합니다.

컴퓨터와 sudo (루트) 액세스를 공유하는 모든 사용자를위한 또 다른 대안은 암호화 된 홈 및 암호화 된 스왑을 사용하는 것입니다.

그러나 동시에 로그인하면 도움이되지 않습니다. 실제로 암호화 된 홈에서도 파일을 일반 텍스트 형식으로 제거하려면 컴퓨터를 재부팅해야합니다.


일반적으로 보안은 매우 어렵고 암호화 된 디스크 (암호화가있는 LVM)가있는 단일 사용자 시스템이 보안을 유지하는 가장 간단한 방법입니다.

  • 중요한 개인 데이터를 공유 컴퓨터에 저장하지 마십시오
  • 고용주 소유의 컴퓨터에 개인 정보를 저장하지 마십시오

3
dm-crypt / LUKS 컨테이너는 일반 텍스트 파일 덮어 쓰기 (어플리케이션의 임시 파일 및 스왑 제외) 또는 단일 암호화 된 ~ / ecryptfs-mount-private
.Private

6
이것은 악의적 인 하녀 공격으로부터 당신을 보호하지도 않습니다. 다른 sudo 사용자는 시스템을 변경하여 암호를 알려주도록 속일 수 있습니다. 이러한 질문은 "동료가 러시아 스파이 인 것 같습니다. 컴퓨터에 sudo 권한을 부여해야합니까?"라고 읽어야합니다.
sleblanc

디스크 이미지가 암호화 된 가상 시스템은 어떻습니까? blogs.oracle.com/scoter/…
leftaroundabout

1
개인 정보 보호가 필요한 경우 다른 사용자, 즉 다른 sudo 사용자가없는 단일 사용자 시스템 이 필요합니다 . 암호화 시스템을 갖춘 Ubuntu LVM은 악의적 인 하녀 공격에 취약합니다. 여전히 암호화 된 홈을 포함한 다른 쉬운 대안보다 낫다고 생각합니다. 물론 원한다면 침입자에게 문제를보다 어렵게하기 위해 디스크 및 암호화 된 집과 단일 사용자 시스템을 암호화 할 수 있습니다 (예 : iso.qa.ubuntu.com/qatracker/milestones
sudodus

새로운 루트 사용자는 diamorphine과 같은 커널 공간 루트킷을 설치해야합니다. 사용자 랜드 LD_PRELOAD해킹 으로 방해 할 필요조차 없습니다 . 간단한 키 입력 로거를 만들고 파이썬 스크립트에서 던져서 입력 / 시간 그룹화 및 일부 텍스트 파싱을 기반으로 퍼지 K-means 분류를 수행하십시오. 끝난. 이제 사용자의 암호가 있으며 개인 데이터를 얻을 수 있습니다.
Cloud

8

당신은 얻을 수 있습니다되면 root(예를 들어, 사용 권한 sudo, su등).
시스템의 모든 파일에 대한 전체 액세스 권한이 있습니다.

이 사용자의 두 그래서 sudo권한을, 그리고되었다 수 있습니다 root사용하여 sudo bash시스템의 모든 파일에 대한 전체 액세스 권한을 갖게됩니다

이 Q & A 에 따르면 SE-Security: 수정 가능SELinuxroot 액세스 를 제한하기 위해 (우분투 아님) .

귀하의 질문이 "지금 쉽고 안전하게 할 수 있습니까?" 내 대답은 아니오 야. 귀하의 답변이 "SELinux에 대해 배울 준비가되어 있고 배포판으로 인해 더러워지고 작동하지 않는 많은 것들을 참을 수 있습니다"라면 대답은 평균 설치보다 루트를 훨씬 더 많이 제한 할 수 있다는 것입니다. 그렇다고해서 악용에 취약하지는 않습니다. 사용자가이 추가 액세스 제어를 소프트웨어 나 물리적으로 우회하는 것이 불가능하지는 않습니다.


2
apparmor 및 selinux를 사용하여 루트를 제한 할 수 있지만 복구 루트 또는 라이브 CD를 통해 전체 루트 액세스 또는 액세스 권한이있는 사람은 시스템 (apparmor 또는 selinux)을 사용하여 다시 변경할 수 있습니다.
Panther

1
SELinux 등을 사용하여 루트가 직접 수행 할 수있는 작업을 제한하더라도 사용자가 스스로 실행하는 유틸리티를 여전히 수정할 수 있습니다. 그리고 업그레이드를 실행할 수 있으려면 시스템에서 바이너리를 수정하기 위해 액세스해야합니다.
ilkkachu

5

다른 답변이 이미 완벽하게 명시되어 있도록하기 위해 : 다른 사용자는 "나만큼 루트"(Videonauth의 답변) 일뿐 아니라, 도 될 수 있습니다 (사용자 계정으로 전환) .

수퍼 유저 권한으로 모든 계정으로 전환 할 수 있기 때문입니다.

당신은 아마 알고

sudo su

루트에 암호가 설정되어 있지 않은 경우 루트 쉘을 여는 옵션 중 하나입니다. 따라서 루트로 직접 로그인 할 수는 없습니다.

su"사용자 전환"의 줄임말입니다. 어떤 사용자로 전환합니까? 아무것도 언급되지 않았습니다. 그러나 매뉴얼 페이지에서 다음을 배울 수 있습니다.

사용자 이름없이 호출하면 su는 기본적으로 수퍼 유저가됩니다.

그래서 이것은 효과적으로

sudo su root

root다른 이름 으로 바꾸지 않았다면

방금 실행 su <someuser>하면 비밀번호를 묻는 메시지가 나타납니다. 따라서을 실행 su root하면 루트 암호를 묻는 메시지가 표시됩니다 (기본적으로 우분투에는 존재하지 않으므로 로그인 할 수 없음). 비밀번호를 설정하지 않으면 빈 문자열 인 암호와 다름)). 그러나를 실행 sudo su root하면 자신의 암호를 묻는 메시지가 나타납니다. 그리고에 의해 프롬프트가 표시됩니다 sudo. sudo암호를 받으면 수퍼 유저 권한으로 매개 변수로받은 명령을 실행합니다. 수퍼 유저 권한이있는 경우 모든 계정으로 전환 할 수 있으므로 암호 프롬프트가 필요하지 않습니다.

따라서 실행하여

sudo su <yourusername>

다른 sudoer는 귀하로 로그인 할 수 있습니다.


+1; 예, 혼동을 일으키지 않는 것에 대해서는 언급하지 않았습니다. 기계를 올바르게 보호하는 분야는 넓고 돌로 가득 차 있습니다. 이미 답변으로 제공된 것에 여전히 좋은 추가.
Videonauth

확실하지 않지만 sudo su항상 UID 0 및 GUID 0으로 기본 설정 되지는 않습니까? 그렇다면 '루트'라는 이름이 중요하지 않습니다.
Videonauth

@Videonauth 두 번째 주석에서 두 번째 문장이 맞습니다. 그러나 이것이 내가 당신이 비판하는 문장을 포함시킨 바로 그 이유입니다. 이름을 바꿀 경우 rootjohn, sudo su지금에 해당하지 sudo su john더 이상에 sudo su root.
UTF-8

3

sudoers 파일을 편집하여 sudo 권한 에스컬레이션을 사용하여 실행할 수있는 프로그램을 제한 할 수 있습니다 (/etc/sudoers ) .

에 허용 대답을 참조하십시오 슈퍼 사용자에 대한이 질문 또한 자세한 내용과 여기에 유닉스와 리눅스 . slm답변 보기 권한 제한에 대한 제안은/etc/sudoers .

또한 sudoers man페이지를 입력하여 확인하고 man sudoers테스트하는 것을 잊지 마십시오. 속박되지 않은 sudo 액세스를 통해 사용자는 다른 사용자를 완전히 사칭 할 수 있습니다. 예를 들어, 사용자 foo가 명령을 실행 한 경우

sudo exec su - bar

그러면 bar해당 사용자의 모든 권한을 가진 user 역할을 수행 할 수 있습니다 .


6
특정의주의 sudoers에 표시된 선 SLM의mtak의 답변이 작동하지 않습니다 그것을 실행하는 데 사용할 쉽게 하찮게의로, 일부 작업이 아닌 다른 사람을 수행 할 수있는 기능을 제공하는 모든 명령을. (이유에 대한 자세한 설명은 각 답변에 대한 설명을 참조하십시오.) 답변은 사용자가 관리자를 효과적으로 만들지 않고 특정 명령을 루트로 실행할 수 있다는 점에서 때때로 틀릴 수 sudo있습니다. 그러나 이것을 올바르게 얻는 것은 매우 어렵 습니다.
엘리아 케이건

@EliahKagan 맞습니다. 그들이 명령을 실행할 수있는 메커니즘에 도달하지 않도록 신중하게해야합니다. 물론 그것은 다른 사람에 대한 신뢰 수준에 달려 있습니다.

1
@EliahKagan 따라서 man 페이지를 읽고 구현을 테스트하도록 권고합니다. sudo 권한을 가진 사용자를 제한하는 것은 가능합니다. 그러나 당신이 지적한 것처럼 그것은 완전히 안전한 솔루션이 아니며 sudo 권한이 부여 된 사용자에게 어느 정도의 신뢰를 부여해야합니다. sudo 명령의 범위를 제한하기 위해 특별히 설계된 메커니즘 (Sudoers 파일 항목)의 사용을 권장하는 응답에 대한 downvotes에 관심이 있습니다.
charmer

나는 매커니즘을 사용하는 것이 권장 사항이 아니라고 생각하므로, 당신의 대답에 대해 당신에게 어떤 건설적인 비판을 줄 수 있는지 알려 드리겠습니다. 1) 일부 오타가 포함되어 있으며 형식이 잘못되어 읽을 때 이상하게 보이므로 자체적으로 매우 쉽게 수정할 수 있습니다. 2) Ask Ubuntu 외부에서 제공된 다른 답변을 가리키면 여기에서 필수 부분을 블록 인용 부호로 가져 와서 여기에 게시하여 링크를 인용문의 일부로 만들어 출처를 가져옵니다. 이것이 귀하의 답변을 향상시키는 데 도움이되기를 바랍니다.
Videonauth

그리고 이전의 의견에서 문자가 부족했기 때문에 3) 설명에 약간 더 깊이 들어갈 수 있으므로 @EliahKagan이 언급 한주의 사항을 지적하십시오.
Videonauth

0

encrypt home folderUbuntu를 설치하는 동안 표시 한 경우 이전 답변이 완전히 적용되지 않습니다 . 이렇게하면 모든 사용자에 대해 암호화 된 홈 폴더가 보장되므로 루트는 해당 홈 폴더의 사용자 / 소유자의 적절한 비밀번호가 없으면 데이터를 읽을 수 없습니다. 동료가 파일을 읽으려면 비밀번호를 변경해야합니다.

물론 사람들은 가치 있고 민감한 데이터가있는 머신을 공유하고 동료와의 루트 액세스 권한을 가진 머신을 공유하는 것은 좋은 생각이 아니라는 것이 맞습니다.

이 데이터의 가치에 따라 자신의 컴퓨터를 요청하는 것이 좋습니다.


1
이것은 "victim"이 로그온되고 암호화 된 드라이브가 마운트 되 자마자 루트 사용자가 "su-"또는 이와 유사한 조작을 수행하는 것을 방해하지 않을 수 있습니다. 일어날. 또한 루트 사용자는 비밀번호 입력을 처리하는 바이너리를 쉽게 대체하여 암호화 된 홈 디렉토리를 일반 텍스트 비밀번호를 저장하는 버전으로 잠금 해제하고 기다릴 수 있습니다. 이러한 공격을 차단하는 보안 메커니즘은 피해자가 사용할 바이너리를 원하는대로 변경하여 여전히 활용할 수 있습니다.
rackandboneman

5
이 답변을 암호화 된 홈 디렉토리로 다운로드하는 것은 현재 로그인하지 않은 경우에만 도움이됩니다. 데이터에 로그인하자마자 sudo 액세스 권한이있는 다른 사용자가 데이터를 해독하고 사용할 수 있습니다.
Panther

2
그러나 왜 그들은 있어야합니까? 동시 로그인이 원격 (예 : SSH) 또는 가상 콘솔로 수행되지 않더라도 두 명의 사용자가 동시에 그래픽으로 로그인하여 전환 할 수 없습니까? 나는 Lubuntu (LXDE가 있음)를 사용하고 여러 사용자와 동일한 그래픽 으로 로그인 하지는 않았지만 더 많은 기능을 갖춘 데스크탑 환경에서 몇 년 동안이 기능을 지원했으며 기본적으로 활성화했습니다. 내가 틀렸어? 또는 화면이 잠겨있을 때 파일을 더 이상 루트로 해독하고 읽을 수 없습니까?
Eliah Kagan

2
IRRC 사용자 암호화 키는 컴퓨터에 공개적으로 저장되어 암호화 및 암호 해독을 제공하므로 sudo su - <username>다른 사용자 암호가 필요하지 않은 경우 일반적으로 다른 사용자 디렉토리의 암호를 성공적으로 해독합니다. 그러나 나는 여기서 틀릴 수 있으며 VM에서 테스트해야하며 나중에 그렇게 할 것입니다. 어쨌든 그것은 모든 경우의 99 %에 이르렀습니다. "만약 당신의 기계에 물리적으로 접근 할 수 있다면, 당신은 위험에 처하게됩니다!".
Videonauth

1
수퍼 유저는 로그인 절차를 변경하여 사용자 이름과 비밀번호를 기록 할 수 있습니다. 다른 사용자가 로그인하고 문제가 해결 될 때까지 기다리십시오.
Stig Hemmer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.