user
원격 Linux 시스템에 액세스할 수 있으므로 다음을 수행할 수 있습니다.
sudo su - other_user
무엇보다도 이를 통해 authorized_keys
for 에 내 자신의 공개 키를 추가할 수 있으며, 이를 통해 ID로 이 시스템에 other_user
효과적으로 액세스할 수 있습니다 .ssh
other_user
흥미롭게도 user
나 처럼아니요내가 하는 것처럼 다음을 직접 실행할 수 있습니다.아니요내가 알아야 하는(나도 알아야 하는) 비밀번호 other_user
:
su - other_user
이 보안 정책이 타당합니까? 무슨 차이가 있니?아니요other_user
내가 비밀번호를 알고 있다면할 수 있는 ssh
또는 sudo su -
입력하다 other_user
?
보다 일반적으로 로그인 방법에 따라 수행할 수 있는 작업과 수행할 수 없는 작업의 차이점은 무엇입니까 other_user
?
답변1
이 보안 정책이 타당합니까?
예, 아니오. 아니요, other_user의 데이터를 보호하지 않기 때문입니다. 하지만 other_user의 비밀번호는 보호됩니다. 이는 중요하지 않은 것처럼 보일 수 있지만 최소한 한 가지 중요한 작업을 수행할 수 없음을 의미합니다. 즉, 일반적으로 계정을 사용하는 사람들이 해당 계정에 액세스할 수 없도록 비밀번호를 변경하는 것입니다.
비밀번호를 비밀로 사용 su
하고 유지하는 데 따른 또 다른 결과는 /var/log/auth.log
다음과 같습니다.
Nov 8 08:08:10 ...(su:session): session opened for user other_user by (uid=1066)
[...]
Nov 8 09:38:10 ...(su:session): session closed for user other_user
귀하의 uid가 1066이고 귀하의 비밀번호가 비밀이라고 가정할 때, other_user
그 90분 동안 이상한 일이 발생한다면 그것이 귀하였을 충분한 이유가 있습니다. 내가 일하던 곳통나무이와 같은 세부 정보는 해서는 안 되는 일을 하고 있는 사람을 식별하는 데 사용됩니다.
답변2
실행을 통해서만 계정에 접근 할 수 있기 때문에 su - other_user
할 수 없는 일도 있습니다. 계정의 로그인 셸 또는 로그인 셸에서 실행할 수 있는 프로그램만 실행할 수 있습니다. 로그인 쉘이 일반 쉘인지 여부는 차이가 없지만 쉘이 다음과 같은 경우에는 sh
차이가 없습니다.bash
제한된 껍질아니면 일종의 특수 목적 프로그램.
계정에 제한된 셸이 없다고 가정하면 공개 키를 추가하여 ~/.ssh/authorized_keys
원격으로 로그인할 수 있습니다. 관리자는 원하는 경우 홈 디렉터리를 사용자가 쓸 수 없게 만들거나(사용자에게 매우 불편하기 때문에 범용 계정에서는 일반적이지 않음) 디렉터리를 .ssh
변경할 수 없게 만들거나 서버의 옵션을 사용하여 이 기능을 비활성화할 수 있습니다. .
비밀번호를 모르기 때문에 변경할 수 없습니다. 명령은 passwd
현재 비밀번호를 묻는 메시지를 표시합니다.
비밀번호를 모르면 관리자가 비밀번호를 변경하지 않고도 액세스 권한을 취소할 수 있다는 의미이기도 합니다. 그들은 백도어(SSH 키, setuid 파일)를 검색해야 하지만, 비밀번호를 잊어버리게 만드는 것과는 달리 해당 컴퓨터에 있는 파일만 확인하면 됩니다.