항상 Sudo 권한


16

나는 이것을 검색했고, 대답은 아마도 인터넷상의 백만 개 장소에 있지만 찾을 수는 없습니다 ...

권한이 필요한 sudo모든 단일 명령에 대해 Linux에서 계정 루트 권한을 어떻게 부여합니까? Windows의 사용자 계정 컨트롤보다 훨씬 성가시다.

( 제발 ... 위험한 삶을 사는 방법에 대한 강의는 필요하지 않습니다. 감사합니다.)

답변:


11

이것이 당신을 위해 작동합니까?

sudo EDITOR=gedit visudo

이 줄을 바꾸십시오 :

%admin ALL=(ALL) ALL

이 줄에 :

%admin ALL=(ALL) NOPASSWD: ALL

강의가 없습니다. :)


3
+1이지만 문제는 여전히 입력해야한다는 것입니다 sudo.
541686

@Lambert 좋아, 테스트하기 위해 이것을하고 싶지 않지만 root에 'sudo passwd root'라는 암호를 줄 수 있다고 생각합니다. 사용자로 로그 아웃하십시오. 루트로 로그인하십시오. 이제 GDM은 루트 로그인을 허용합니까?

2
글쎄, 나는 이미 루트 암호를 설정하고로 로그인 root하기 sudo위해이 작업을 수행했으며 더 이상 필요하지 않습니다 . 문제는 다른 계정에 대해 동일한 작업을 수행하는 방법을 찾는 것입니다.
541686

7

당신은하지 않습니다. 당신이 할 수있는 두 가지는 :

1) 여러 명령을 입력 할 계획이고 sudo를 접두어로 사용하지 않으려면 sudo -s를 실행하여 루트를 유지하십시오.

2) 비밀번호를 입력하지 않고 sudo를 실행할 수 있도록 sudoers 파일을 구성 할 수 있습니다.


2
글쎄, 내가 이해하지 못하는 것은 "루트"로 쉽게 로그인 할 수 있고 "스도"라는 단어를 생각할 필요가 없다면 왜 다른 계정에서 같은 일을 할 수 없습니까?
541686

@Lambert : 다른 계정이 없기 때문 UID 0입니다.
JanC

1
허 ... 그래서 그룹에 sudo나 자신을 추가하는 것 조차 충분하지 않습니까? :(
user541686

2

sudo -i터미널에서 한 번 실행하는 것이 얼마나 어려운지 알지 못하고이 하나의 터미널을 사용하십시오 (또는 둘 이상의 터미널을 열 수 있지만 암호를 다시 입력해야합니다 ) 모든 sudo 작업을 수행하십시오.

(아니요, 암호를 한 번에 한 번 입력하는 데 큰 문제는 실제로 보이지 않습니다. 시간이 많이 걸리지 않으며 각 명령 후에 터미널을 닫지 않으면 sudo는 잠시 후 패스를 요구하지 않습니다. 인증했습니다).


3
시간이 많이 걸리는 것이 아니라 매우 자극적입니다. 로그인 화면의 배경 화면을 변경하고 싶다고 말하면 "당신이 마음에 들지 않습니까? 믿을 수 없습니다." 이러한 높은 특권 조치 수행에 대해 생각조차하지 않고 제 암호를 잘못 입력하면 이 이벤트가보고 될 것임을 알리는 메시지 가 표시됩니다 . 그것은 내 컴퓨터가 나를 믿지 않는 것과 같으며, 한동안 일할 때 다른 사람들의 컴퓨터와의 어리석은 행동이 자신의 컴퓨터에 의문을 제기하는 것은 신의 귀찮은 일입니다.
541686

이것에 대해 내 분노를 없애려는 의미는 아니지만 때로는 경험이없는 사용자를 보호하도록 설계된 소프트웨어의 "안전"기능이 나를 혼란스럽게 만듭니다. 컴퓨터를 폭발 시키려면 "정말입니까?"이상의 것이 필요하지 않습니다. "다시 묻지 마십시오."라는 메시지가 나타납니다. 상자 ... 더 이상, 그것은 단지 확인의 목적을 완전히 상실합니다. 모든 것에 대한 확인을 입력해야한다면, 하나도 없을 수도 있습니다. 내 결정을 바꾸지는 않을 것이지만, 적어도 아무 자극없이 5 번 빨리 같은 일을 할 것입니다.
541686

Ubuntu의 보안 설계는 여러 사용자가있는 가정 환경을위한 것입니다. 시스템 전체의 변경은 사용자 계정이 있거나 계정을 빌리는 사람 만이 아니라 신뢰할 수있는 개인 만 수행해야합니다.
제레미 Bicha

@JeremyBicha 그들은 메인 프레임에서 다중 사용자 시간 공유를 위해 Imo가 만든 독창적 인 유닉스 보안 / 권한 부여 설계 위에 아무 것도 추가하지 않았습니다.
masterxilo

1

'su'명령을 설치 / 활성화하고 시작시 셸을 실행하도록 구성 할 수 있습니다.


더 "직접적인"방법이 있습니까? sudoers특별한 그룹에 자신을 추가하거나 사용하는 등 ?
user541686

sudo -s도 같은 작업을 수행합니다.
psusi

@psusi : 그러나 컴퓨터를 시작할 때마다 그렇게 할 필요가 없다는 것이 문제의 요점이 아닌가?
541686

매번 비밀번호를 요구하지 않는 방법이 있습니까?
541686

0

올바른 내 질문에 대답 :

/etc/passwd루트 권한을 얻기 위해 UID (사용자 ID) 및 GID (그룹 ID)를 0으로 변경할 수 있습니다 .

하나:

당신이 할 경우, 당신은 할 수 없습니다 다시 로그인 할 수 있습니다 !

그럼에도 불구하고 사용자를 만들고 그룹 / 사용자 ID를 0으로 변경할 수 있습니다. 기본적으로 해당 사용자는 다른 사용자 root이지만 다른 프로필 폴더 등이 있습니다.

그러면 마치 root자신 인 것처럼 그 프로필을 사용할 수 있습니다 ! :디

또 다른 "솔루션":

(비어있는 암호를 좋아하는 경우)

  1. 아래 명령을 실행하고 출력을 비교하십시오.

    sudo cat /etc/shadow
    sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    

    후자는 사용자 이름 앞에서 횡설수설을 제거했음을 알 수 있습니다 (이는을 사용하여 읽음 $(whoami)). (그렇지 않으면 계속 하지 마십시오 !)

  2. 준비가되면 명령을 실행하여 덮어 씁니다 /etc/shadow(자신의 위험이 있습니다!)

    sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    
  3. 계정에 빈 암호가 있으므로 sudo 권한을 묻는 메시지가 더 이상 표시되지 않습니다. (적어도 그것이 저에게 일어난 일입니다.)

노트 :

암호없는 로그인 을 활성화해야 할 수도 있습니다 . 그래도 필요한지 확실하지 않습니다.


"sudo bash"를 사용하는 것이 어딘가에서 읽었습니다. 이것을 시도 했습니까?
Curious Apprentice

@CuriousApprentice : 요점은 피하는 것이 었습니다 sudo.
user541686

0

나는 스스로에게 GID 0을주지 않기를 강력히 권고한다. 다른 루트 계정 (홈 디렉토리는 / root / 또는 사용자 정의 디렉토리 즉, / home / root2 /)을 만드는 유일한 이유는 시스템에 하나의 루트 암호를 공유하지 않으려는 관리자가 두 명 있기 때문입니다.

그렇지 않으면 sudo를 사용하십시오. 노련한 유닉스 사용자가 아니라면 루트 전용 도구와 일반 사용자 용 도구를 잊어 버릴 위험이 있습니다.

그러나, 당신이 안전한 일반 사용자 (이 방법으로 개인적으로 STRONG 암호를 사용한다고 생각)를 느끼면, 내 사용자 (예 : tatu.staff / uid = 1xxx, gid 50)가 암호없이 SUDO를 실행하게하십시오. 따라서 나는 루트 전용과 사용자 용을 혼합하지 않습니다.

위의 지시 사항을 사용하여 sudoers 파일 (및 해당 그룹)을 작성하여 특정 사용자가 비밀번호없이 SUDO를 실행하도록하거나 예제 파일을 여기에 붙여 넣으십시오.

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

YOURUSER는 사용자 이름이며, 특정 사용자가 암호없이 SUDO를 실행할 수 있도록하는 행입니다.

SUDO 그룹의 모든 사용자는 비밀번호를 제공해야합니다.

그룹 휠의 모든 사용자는 비밀번호없이 sudo를 실행할 수 있습니다. 여러 사용자에게 비밀번호없는 SUDO ACCESS를 제공하려는 경우 유용합니다.

또한 :-GROUP 이름 앞에 % 문자를 기억하십시오. -/ etc / group을 직접 편집 할 수 있지만 권장하지는 않습니다. ADDGROUP을 사용하여 편집하고 다음을 입력하여 자세한 정보를보십시오. man addgroup

나는 절대로 편집기를 사용하여 절대 절대로 VISUDO 명령을 사용하여 sudoers 파일을 편집하지 말아야한다는 것을 강조해야합니다. 이렇게하면 항상 유효한 sudoers 파일을 얻을 수 있습니다-입력 오류 또는 잘못된 문장 등이 중요한 파일에서 매우 나쁜 일이며, visudo는 스스로 복구 할 수없는 모든 문제를 저장합니다. 이것은 "항상 visdo를 사용하는 것입니다. 그들이 말하지 않았습니까? 또는 비슷한 것;)

-

핀란드에서 온 인사-여기는 -10 섭씨 온도 -25 도보 다 낮지 않은 멋진 겨울입니다.

\\ tatu-o


또한 긴 명령을 작성하고 싶지 않거나 --flags를 잊는 경향이 있다면 alisese가 있습니다! 확인 ~ / .bashrc에 그 별칭 파일을 설정 한 다음 별칭 추가됩니다 ~ / .bash_aliases에
타투의 stty
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.