개인 우분투 PC를 동료 중 한 명과 공유하고 있습니다.
다른 암호를 가진 다른 사용자를 만들었고 (물론 알고 있습니다) sudoer목록에 추가했습니다 .
sudo단일 우분투 시스템 에는 두 명의 사용자 가 있다고 가정합니다 .
이러한 사용자의 개인 파일 (소유자 및 권한으로 지정)이 여전히 개인용입니까?
sudo명령을 통해 동료의 파일을 수정할 수 있습니까sudo su?
개인 우분투 PC를 동료 중 한 명과 공유하고 있습니다.
다른 암호를 가진 다른 사용자를 만들었고 (물론 알고 있습니다) sudoer목록에 추가했습니다 .
sudo단일 우분투 시스템 에는 두 명의 사용자 가 있다고 가정합니다 .
이러한 사용자의 개인 파일 (소유자 및 권한으로 지정)이 여전히 개인용입니까?
sudo명령을 통해 동료의 파일을 수정할 수 있습니까 sudo su?
답변:
동료가 sudoers 목록에 있으면 원하는만큼 루트 권한을 갖으며 모든 사람을 볼 수 있습니다.
사용자 프라이버시를 원할 경우 최악의 설정입니다. Linux에서의 사용자 관리 작동 방식을 반드시 읽어야합니다. 다음은 시작할 수있는 몇 가지 기사입니다.
심지어 누군가가 문제의 머신에 물리적으로 접근 할 수 있어도 프라이버시가 없다면, 루트 쉘로 부팅 할 때 모든 것을 볼 수 있으며, 비밀번호로 보호된다면 USB 스틱을 사용할 수 있습니다. 이런 식으로 들어갑니다.
이 경우 가장 좋은 방법은 적절한 사용자 관리, 루트 암호 및 암호화 된 드라이브 및 / 또는 암호화 된 홈 디렉토리입니다.
sudo -i작동하지 않습니다 :)
간단한 대안은 개인 데이터를 암호화 된 파일 (예 : gpg로 암호화하는 tar 아카이브 파일 일 수 있음)에 보관하는 것입니다. 일반 텍스트 파일을보고 덮어 쓴 후 제거해야합니다.
컴퓨터와 sudo (루트) 액세스를 공유하는 모든 사용자를위한 또 다른 대안은 암호화 된 홈 및 암호화 된 스왑을 사용하는 것입니다.
그러나 동시에 로그인하면 도움이되지 않습니다. 실제로 암호화 된 홈에서도 파일을 일반 텍스트 형식으로 제거하려면 컴퓨터를 재부팅해야합니다.
일반적으로 보안은 매우 어렵고 암호화 된 디스크 (암호화가있는 LVM)가있는 단일 사용자 시스템이 보안을 유지하는 가장 간단한 방법입니다.
ecryptfs-mount-private
LD_PRELOAD해킹 으로 방해 할 필요조차 없습니다 . 간단한 키 입력 로거를 만들고 파이썬 스크립트에서 던져서 입력 / 시간 그룹화 및 일부 텍스트 파싱을 기반으로 퍼지 K-means 분류를 수행하십시오. 끝난. 이제 사용자의 암호가 있으며 개인 데이터를 얻을 수 있습니다.
당신은 얻을 수 있습니다되면 root(예를 들어, 사용 권한 sudo, su등).
시스템의 모든 파일에 대한 전체 액세스 권한이 있습니다.
이 사용자의 두 그래서 sudo권한을, 그리고되었다 수 있습니다 root사용하여 sudo bash시스템의 모든 파일에 대한 전체 액세스 권한을 갖게됩니다
이 Q & A 에 따르면 SE-Security: 수정 가능SELinuxroot 액세스 를 제한하기 위해 (우분투 아님) .
귀하의 질문이 "지금 쉽고 안전하게 할 수 있습니까?" 내 대답은 아니오 야. 귀하의 답변이 "SELinux에 대해 배울 준비가되어 있고 배포판으로 인해 더러워지고 작동하지 않는 많은 것들을 참을 수 있습니다"라면 대답은 평균 설치보다 루트를 훨씬 더 많이 제한 할 수 있다는 것입니다. 그렇다고해서 악용에 취약하지는 않습니다. 사용자가이 추가 액세스 제어를 소프트웨어 나 물리적으로 우회하는 것이 불가능하지는 않습니다.
다른 답변이 이미 완벽하게 명시되어 있도록하기 위해 : 다른 사용자는 "나만큼 루트"(Videonauth의 답변) 일뿐 아니라, 도 될 수 있습니다 (사용자 계정으로 전환) .
수퍼 유저 권한으로 모든 계정으로 전환 할 수 있기 때문입니다.
당신은 아마 알고
sudo su
루트에 암호가 설정되어 있지 않은 경우 루트 쉘을 여는 옵션 중 하나입니다. 따라서 루트로 직접 로그인 할 수는 없습니다.
su"사용자 전환"의 줄임말입니다. 어떤 사용자로 전환합니까? 아무것도 언급되지 않았습니다. 그러나 매뉴얼 페이지에서 다음을 배울 수 있습니다.
사용자 이름없이 호출하면 su는 기본적으로 수퍼 유저가됩니다.
그래서 이것은 효과적으로
sudo su root
root다른 이름 으로 바꾸지 않았다면
방금 실행 su <someuser>하면 비밀번호를 묻는 메시지가 나타납니다. 따라서을 실행 su root하면 루트 암호를 묻는 메시지가 표시됩니다 (기본적으로 우분투에는 존재하지 않으므로 로그인 할 수 없음). 비밀번호를 설정하지 않으면 빈 문자열 인 암호와 다름)). 그러나를 실행 sudo su root하면 자신의 암호를 묻는 메시지가 나타납니다. 그리고에 의해 프롬프트가 표시됩니다 sudo. sudo암호를 받으면 수퍼 유저 권한으로 매개 변수로받은 명령을 실행합니다. 수퍼 유저 권한이있는 경우 모든 계정으로 전환 할 수 있으므로 암호 프롬프트가 필요하지 않습니다.
따라서 실행하여
sudo su <yourusername>
다른 sudoer는 귀하로 로그인 할 수 있습니다.
sudo su항상 UID 0 및 GUID 0으로 기본 설정 되지는 않습니까? 그렇다면 '루트'라는 이름이 중요하지 않습니다.
root에 john, sudo su지금에 해당하지 sudo su john더 이상에 sudo su root.
sudoers 파일을 편집하여 sudo 권한 에스컬레이션을 사용하여 실행할 수있는 프로그램을 제한 할 수 있습니다 (/etc/sudoers ) .
에 허용 대답을 참조하십시오 슈퍼 사용자에 대한이 질문 또한 자세한 내용과 여기에 유닉스와 리눅스 . slm 의 답변 보기 권한 제한에 대한 제안은/etc/sudoers .
또한 sudoers man페이지를 입력하여 확인하고 man sudoers테스트하는 것을 잊지 마십시오. 속박되지 않은 sudo 액세스를 통해 사용자는 다른 사용자를 완전히 사칭 할 수 있습니다. 예를 들어, 사용자 foo가 명령을 실행 한 경우
sudo exec su - bar
그러면 bar해당 사용자의 모든 권한을 가진 user 역할을 수행 할 수 있습니다 .
encrypt home folderUbuntu를 설치하는 동안 표시 한 경우 이전 답변이 완전히 적용되지 않습니다 . 이렇게하면 모든 사용자에 대해 암호화 된 홈 폴더가 보장되므로 루트는 해당 홈 폴더의 사용자 / 소유자의 적절한 비밀번호가 없으면 데이터를 읽을 수 없습니다. 동료가 파일을 읽으려면 비밀번호를 변경해야합니다.
물론 사람들은 가치 있고 민감한 데이터가있는 머신을 공유하고 동료와의 루트 액세스 권한을 가진 머신을 공유하는 것은 좋은 생각이 아니라는 것이 맞습니다.
이 데이터의 가치에 따라 자신의 컴퓨터를 요청하는 것이 좋습니다.
sudo su - <username>다른 사용자 암호가 필요하지 않은 경우 일반적으로 다른 사용자 디렉토리의 암호를 성공적으로 해독합니다. 그러나 나는 여기서 틀릴 수 있으며 VM에서 테스트해야하며 나중에 그렇게 할 것입니다. 어쨌든 그것은 모든 경우의 99 %에 이르렀습니다. "만약 당신의 기계에 물리적으로 접근 할 수 있다면, 당신은 위험에 처하게됩니다!".