이러한 명령의 주요 차이점은 기능에 대한 액세스를 제한하는 방식입니다.
su
(이것은 "대체 사용자"또는 "사용자 전환"을 의미합니다) -정확하게 수행합니다. 대상 사용자의 권한으로 다른 쉘 인스턴스를 시작합니다. 이를 수행 할 권한이 있는지 확인하기 위해 대상 사용자 의 비밀번호 를 묻습니다 . 따라서 루트가 되려면 루트 비밀번호를 알아야합니다. 컴퓨터에 루트로 명령을 실행해야하는 사용자가 여러 명인 경우 모두 루트 암호를 알아야합니다. 동일한 암호 여야합니다. 사용자 중 하나의 관리자 권한을 취소해야하는 경우 루트 암호를 변경하고 액세스를 유지해야하는 사람들에게만 암호를 알려야합니다.
sudo
(흠 ... 니모닉이란 무엇입니까? 슈퍼 유저 DO?) 는 완전히 다릅니다. 특정 작업에 대한 권한을 가진 사용자를 나열하는 구성 파일 (/ etc / sudoers)을 사용합니다 (루트로 명령 실행 등). 호출 될 때 시작한 사용자의 비밀번호를 요청 합니다. terminal은에 나열된 "joe"와 같은 사람입니다 /etc/sudoers
. 개인의 관리자 권한을 취소하려면 구성 파일을 편집하거나 해당 구성에 나열된 그룹에서 사용자를 제거하면됩니다. 이로 인해 권한을 훨씬 더 깔끔하게 관리 할 수 있습니다.
그 결과 많은 데비안 기반 시스템에서 root
사용자는 비밀번호를 설정하지 않았습니다. 즉, 루트로 직접 로그인 할 수 없습니다.
또한 /etc/sudoers
몇 가지 추가 옵션을 지정할 수 있습니다. 즉, 사용자 X는 프로그램 Y 만 실행할 수 있습니다.
자주 사용하는 sudo su
첫 번째 : 조합은 다음과 같이 작동합니다 sudo
당신을 요청 하여 , 당신이 그렇게하도록 허용하는 경우, 암호 및 다음 명령 (호출 su
슈퍼 사용자로)을. 이 ( su
가) 호출 root
하므로 대상 사용자의 비밀번호를 입력하지 않아도됩니다. 따라서 파일에서 sudo su
수퍼 유저 액세스가 허용 된 경우 다른 사용자 (루트 포함)로 쉘을 열 수 있습니다 /etc/sudoers
.
su user
신뢰할 수없는 쉘에서 로그인 하는 데 사용하지 말고를 사용하십시오su - user
. 참조 unix.stackexchange.com/q/7013/8250