sudo 없이 다른 사용자에게 루트 권한을 부여하는 방법

sudo 없이 다른 사용자에게 루트 권한을 부여하는 방법

안녕하세요. Ubuntu에서 SSH 키를 사용하여 로그인할 수 있는 루트와 동일한 새 사용자를 만들고 싶습니다. 유일한 차이점은 사용자 이름입니다. (sudo를 사용하지 않음)

위험을 알고 있지만 인증이 엄격한 내 개인 네트워크에 있습니다. 감사합니다 ☺️

답변1

실제로 그렇게 할 수는 있지만 왜 그렇게 하려는지는 상상할 수 없습니다. 와 동일한 사용자 ID(UID)를 사용하여 새 사용자를 생성할 수 있습니다 root. 이는 실제로 "새" 사용자가 아니며 동일한 사용자에 대한 다른 사용자 이름일 뿐입니다. 그러나 루트 대신 이 이름을 사용하여 로그인할 수 있습니다.

먼저 새 사용자를 생성하고 UID를 0루트 계정의 UID인 로 설정합니다.

useradd -d /fool -g root -m -N -o -u 0 -s /bin/bash fool 

사용되는 옵션은 다음과 같습니다.

  • -d /fool: 이 사용자를 $HOME로 설정합니다 /fool.
  • -g root: 이 사용자의 기본 그룹을 로 설정합니다 root.
  • -m: 사용자의 홈 디렉터리가 없으면 만듭니다.
  • -N: 사용자와 동일한 이름으로 그룹을 생성하지 말고, 에서 지정한 그룹에 사용자를 추가하기만 하면 됩니다 -g.
  • -o: 다른 기존 사용자와 동일한 UID를 가진 사용자 생성을 허용합니다.
  • -u 0: 이 사용자의 UID를 0(와 동일 root)로 설정합니다.
  • -s /bin/bash: 사용자의 기본 로그인 셸을 로 설정합니다 bash.
  • fool: 사용자 이름은 입니다 fool.

이 명령을 실행하면 다음과 같이 로그인할 수 있습니다 fool.

terdon@ub20:~$ sudo -iu fool
root@ub20:~# whoami
root
root@ub20:~# cd
root@ub20:~# pwd
/fool

보시다시피, 저는 으로 로그인했지만 fool( whoamiUID를 기반으로) 나를 로 표시하고 rootcd이동합니다 /fool. 나는 사용자의 모든 권리를 가지고 있습니다 root.~이다사용자 root이지만 사용자 이름과 홈 디렉터리가 다릅니다. 이제 ssh를 통한 루트 액세스를 허용하고(위험에 따라) 대신 로 로그인할 수 fool있습니다 root. 이것은 모두 겉모습입니다. 여전히 로 로그인하고 있지만 root그것이 바로 당신이 원하는 것 같습니다.

답변2

안전의 관점에서 볼 때 분명히 하고 싶은 일은 완료되지 않았으며 반대하는 것이 좋습니다.

그래도 리눅스에서는 가능합니다동일한 사용자를 나타내는 다른 사용자 이름. 따라서 완전히 루트 역할을 할 수 있는 사용자 이름을 설정하려면 원칙적으로 루트 사용자에 대해 다른 로그인 이름을 만들 수 있습니다. 기본적으로 루트로 로그인하는 것이 매우 경솔한 이유 중 하나는 사람의 실수로 인해 전체 시스템이 쉽게 손상될 수 있다는 것입니다.

관련 정보