it-swarm-ko.com

시스템 관리자 (루트)로 명령을 실행하는 방법

관리자 권한으로 명령을 실행해야합니다. 누군가 내가 루트로 명령을 실행해야한다고 말했다. 어떻게해야합니까?

66
Stefan

su 사용 :

$ su -c command

또는

$ su
# command
# exit

두 경우 모두 root 암호를 묻는 메시지가 나타납니다. 자세한 내용은 설명서 페이지 를 참조하십시오.

8
Steven D

또는 일부 명령에 초강력을 부여 할 수 있습니다. 소유자의 권한으로 명령을 실행하는 특수 권한에 대해 이야기하고 있습니다.

#which <command>로 명령 경로를 가져오고 해당 경로에 대해 SUID 또는 SGID를 설정하십시오.

추신 -SUID 및 SGID 비트는주의해서 제공해야합니다. 시스템이 안전하지 않을 수 있습니다.

3
Ayush Goyal

질문은 Linux에만 국한된 것이 아니므로 다음은 Solaris 9+ (또는 Trusted Solaris 8)에서 동일한 목표를 달성하는 방법입니다.

버전 9 이후 Solaris에는 RBAC (역할 기반 액세스 제어)라고하는 도구 모음이 포함되어 있습니다.

RBAC의 요점은 권한 부여 및 권한 부여, 사용자 및/또는 역할 부여 또는 사용자에게 역할 부여를 통해 누가 어떤 권한으로 무엇을 실행할 수 있는지에 대한 엄청나게 세밀한 모델을 만들 수 있다는 것입니다.

기본적으로/etc/security/auth_attr에서 권한을 식별 한 다음/etc/user_attr의 사용자 또는 역할에 권한을 부여하십시오.

/ etc/security/prof_attr에서 프로파일을 정의합니다. 그런 다음 명령을/etc/security/exec_attr의 해당 프로파일과 연관시킨 후/etc/user_attr 파일의 사용자에게 해당 프로파일을 지정하십시오.

이러한 작업이 완료되면 실제로 pfexec <command>를 실행하여 that 사용자에게 that 명령에 부여 된 권한 또는 권한으로 명령을 실행합니다. .

RBAC의 좋은 점은 명령 자체 또는 사용자에게 user + command의 조합에만 부여 된 추가 권한이 없다는 것입니다. 따라서 바이너리 + s를 만들거나 Sudo를 사용하여 사용자가 거의 모든 것을 실행할 수 있도록하는 것보다 안전합니다. (나는 당신이 Sudo를 잠글 수 있다는 것을 알고 있지만, 내 경험상 대부분의 사람들은 그렇지 않습니다)

RBAC의 또 다른 장점은 루트를 역할 계정으로 만들고 'su'명령과 루트 암호를 사용하여 루트가 될 수있는 사용자에게 해당 역할을 할당 할 수 있다는 것입니다. 루트 사용자는 단일 사용자 모드로 로그인 할 수 있으며, 루트 암호 passwd -d root를 비활성화하거나 루트 계정 passwd -l root, 둘 다 무언가 잘못되었을 때 루트로 로그인하는 것을 매우 어렵게 만듭니다.

Ben Rockwood는 RBAC에 대한 훌륭한 블로그 게시물을 가지고 있으며 Open (Solaris에서 RBAC 사용 ).

3
Tim Kennedy