Linux 시스템에는 모두에게 친숙할 수 있는 두 가지 개념이 있습니다. 하나는 sudo 명령이고 다른 하나는 루트 계정입니다. sudo 명령을 사용하면 루트 계정에서 가장 높은 권한으로 명령을 실행할 수 있으며, 이는 기본적으로 sudo가 추가된 모든 명령과 동일합니다.
그럼, sudo와 root
의 차이점은 무엇인가요? 루트 계정을 직접 사용하는 대신 sudo를 사용하는 것이 권장되는 이유는 무엇입니까? 이 튜토리얼에서는 루트 액세스, sudo 명령, sudo를 사용하여 명령을 실행하는 방법, sudo 액세스와 루트 간의 차이점에 대해 알아봅니다.root는 Linux와 같은 Unix 계열 시스템의 수퍼유저 계정을 나타냅니다. 시스템 관리에 사용되는 시스템에 대해 가장 높은 접근 권한을 가진 특권 계정입니다. 이 루트/수퍼유저 계정은 계정 이름에 관계없이 UID(사용자 식별자)가 0입니다.
루트 사용자는 전체 시스템에 대한 모든 권한을 갖습니다(루트 권한). 시스템의 핵심 부분 수정, 시스템 업그레이드, 시스템 구성 변경, 실행 중인 모든 시스템 서비스 시작, 중지 및 다시 시작과 같은 작업을 수행할 수 있습니다.
루트로 로그인하면(su - 사용) 터미널 명령 프롬프트 기호가
로 변경됩니다. 으아아아
가으아아아
일부 시스템(예: Ubuntu)에서는 루트 사용자가 기본적으로 잠겨 있습니다. (참고: Bricklayer는 잠기지 않지만 Tencent Cloud는 기본적으로 잠급니다.)
sudo
(superuser do) 命令是一个命令行实用程序
su 명령과 다소 유사하지만 sudo는 su에서 요구하는 대상 사용자의 비밀번호 대신 기본적으로 인증을 위해 사용자의 비밀번호를 요구한다는 점에서 다릅니다. 또한 Sudo는 루트 셸을 생성하지 않고 대신 루트 셸을 생성하는 su와 달리 높은 권한으로 프로그램이나 명령을 실행합니다.
Sudo를 사용하여 시스템 관리자는 다음을 수행할 수 있습니다.
sudo는 기본 sudoers 보안 정책을 사용하고 특수 구성 파일 /etc/sudoers를 유지 관리합니다. 이 파일은 액세스 권한 및 비밀번호 프롬프트 시간 초과를 제어하는 데 사용할 수 있습니다.
참고: sudoers 파일을 보려면 높은 권한이 있어야 합니다
/etc/sudoers 파일을 엽니다.
으아아아
이 줄:으아아아
루트 사용자는 무제한 권한을 가지며 시스템에서 모든 명령을 실행할 수 있음을 의미합니다.으아아아
sudo 그룹의 모든 구성원이 모든 명령을 실행할 수 있도록 허용합니다.
注意
/etc/sudoers 파일의 첫 번째 줄에서 볼 수 있듯이:
으아아아
sudoers 파일을 직접 편집하려고 하지 마세요. 루트 권한으로 visudo 명령을 사용하십시오.sudo를 사용하여 명령을 실행하는 것은 매우 간단합니다. 명령 앞에 sudo를 추가하면 됩니다.
으아아아
일반적으로 비밀번호를 입력하라는 메시지가 표시됩니다. 비밀번호를 입력하고 Enter를 누르세요. 🎜$ sudo command [sudo] password for user:
最小权限原则是一种信息和计算机安全概念,它认为授予程序和用户执行任务所需的最少或最低限度的权限。
以 root 用户登录后,输入到终端的每一条命令都以系统最高权限运行,违反了最小权限原则。像 rm 这样的简单命令可用于删除核心根目录或文件,而不会在意外时提示用户。例如,如果您尝试使用以下命令删除 /etc 之类的根目录:
$ rm -rf /etc
当您以普通用户身份登录时,您将被拒绝许可。当以 root 身份登录时,不会显示任何提示,并且整个文件夹将被删除 – 这很可能会破坏您的系统,因为运行系统所需的特殊配置文件存储在 /etc 目录中。您也可能最终错误地格式化磁盘,并且系统不会提示您。
此缺陷还扩展到以 root 身份运行代码或应用程序;应用程序中的一个小错误可能会删除一些系统文件,因为该应用程序是在最高权限下运行的。
Sudo 提供细粒度的访问控制。它仅向需要它的特定程序授予提升的权限。您知道哪个程序以提升的权限运行,而不是使用 root shell(以 root 权限运行每个命令)。
Sudo 也可以配置为以另一个用户身份运行命令,指定允许哪些用户和组使用 sudo 运行命令,或者通过编辑 sudoers 文件设置以 root 权限运行程序的超时。
因此,不建议使用 root shell 运行命令,因为您破坏系统的机会要高得多。如果您需要更高权限或 root 权限来运行命令,请使用 sudo 确保只有该命令以 root 权限运行。
위 내용은 너무 많은 사람들이 Linux에서 root와 sudo의 사용법과 차이점에 대해 혼란스러워합니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!