답변:
su
대체 사용자를 의미하며 인수없이 호출되면 수퍼 유저가됩니다. 따라서 루트 비밀번호를 입력해야합니다.
많은 사람들이 확장 된 사용자 권한을 가진 시스템 관리 또는 이와 유사한 작업에 명령을 사용해야하는 경우 이는 일종의 손해가 아닙니다. 당신은 사람들이 동일한 루트 암호를 모두 공유함으로써 무제한의 권리를 갖기를 원하지 않습니다.
이런 종류의 문제에 대한 해결책은 sudo
( " 대체 사용자는 ")입니다. 이를 통해 누군가가 호출하고 권한을 정의 할 수있는 명령을 지정할 수 있습니다. 들어 sudo
루트 암호하지만, sudo는 명령을 호출하려는 사용자의 암호를 입력 할 필요가 없습니다.
일부 배포판에서는 보안상의 이유로 루트 사용자가 비활성화되어 있습니다. 이 기능을 사용할 수없는 이유 중 하나 일 수 있습니다 su
. 이 경우 루트 권한을 가진 쉘을 얻으려면 sudo -s
;-)를 사용하십시오 .
$ script
와 차이점이 $ sudo script
있습니까? 두 경우 모두 사용자가 동일합니다.
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.
-남자 sudo에서. 일반적으로 스크립트는 루트 권한으로 호출됩니다. 그 차이입니다.
옵션이없는 su 명령은 기본적으로 루트 사용자가 될 수 있도록합니다. 비밀번호를 묻는 것이 아니라 루트 비밀번호를 묻습니다.
sudo 명령은 항상 비밀번호를 묻습니다.
sudo su -
대시가 사용자 (이 경우 루트) 로그인 프로파일에 따라 환경을 설정하는 경우 마지막 비트를 수행하는 것이 좋습니다 . 일반적으로 PATH 보안이 약간 향상되지만 여전히 보호되지 않습니다echo hi > /dev/my_critical_filesystem