우리는 일부 사용자가 예를 들어 sudo
루트 가되어야 하고,
자, sudo가 해결하도록 설계된 문제이므로 부분이 충분히 쉽습니다.
그러나 사용자가 루트 비밀번호를 변경할 수 없다는 제한이 있습니다.
같이, 수 SHW는 의견에서 지적, 특정 행동이 특정 사용자가 루트로 수행 할 수 있도록 sudo를 구성합니다. 즉, user1은 할 수 있고 sudo services apache2 restart
user2는 할 수 sudo reboot
있지만 다른 시스템 관리자는 user3
할 수 sudo -i
있습니다. sudo를 설정하는 방법에 대한 사용 방법이 있거나 여기에서 검색하거나 요청할 수 있습니다. 그것은 해결 가능한 문제입니다.
그러나 할 수있는 기능이 부여 된 사용자 sudo -i
또는 sudo
(쉘에 sudo bash
예를 들어는) 모든 작업을 수행 할 수 있습니다. sudo가 셸을 시작할 때 sudo 자체가 그림에서 벗어 났기 때문입니다. 다른 사용자 (대부분 루트)의 보안 컨텍스트를 제공하지만 실행 된 응용 프로그램의 기능에 대해서는 언급하지 않습니다. 해당 응용 프로그램이 시작되면 passwd root
sudo가 할 수있는 일은 없습니다. 이것은 다른 응용 프로그램을 통해서도 수행 될 수 있습니다. 예를 들어, 고급 편집기 중 다수는 셸을 통해 명령을 실행하는 기능을 제공합니다. 셸 은 해당 편집기 프로세스의 유효 uid (즉, 루트)로 실행됩니다.
즉, 다른 사용자가 무엇을 하든지 서버에 로그인하여 루트가 될 수 있다는 보장입니다.
죄송합니다; "루트 액세스 권한이있는 사람이 무엇을 하든지 시스템에 로그인하여 시스템을 사용할 수 있음"을 의미하는 경우 (모든 의도와 목적을 위해) 수행 할 수 없습니다. 빠른 "sudo rm / etc / passwd"또는 "sudo chmod -x / bin / bash"(또는 셸 루트가 사용하는 것)는 어쨌든 거의 호스가 있습니다. "예쁜 호스가 많다"는 의미는 "백업에서 복원해야하고 손가락이 미끄러지는 것보다 더 나쁜 일이 없었기를 바랍니다"라는 의미입니다. 실수로 시스템을 사용할 수 없게 만드는 사고 의 위험을 줄이기 위해 몇 가지 단계를 수행 할 수 있지만 악의로 인해 시스템을 처음부터 다시 빌드해야하거나 최소한 알려진 것까지 매우 심각한 문제를 일으키는 것을 막을 수는 없습니다. 좋은 백업.
시스템에 대한 사용자의 뿌리없는 액세스를 사용자에게 제공함으로써 악의적 인 의도가없고 실수로 엉망이되지 않도록 사용자 (사용자가 실행하도록 선택한 소프트웨어, ls와 같이 평범한 것을 포함하여)를 신뢰합니다. 이것이 루트 액세스의 본질입니다.
예를 들어 sudo를 통한 제한된 루트 액세스는 조금 나아지지만 여전히 공격 경로를 열지 않도록주의해야합니다. 그리고 루트 액세스 권한으로 권한 상승 공격에 대한 가능한 많은 공격 경로가 있습니다.
루트가 수반하는 액세스 수준으로 신뢰할 수없는 경우 sudo 구성을 매우 엄격하게 조정하거나 sudo 등을 통해 루트 액세스 권한을 가진 사용자에게 전혀 액세스 권한을 부여하지 않아야합니다.
sudo
루트 권한이있는 특정 응용 프로그램에 대해서만 권한을 부여 하는 데 사용할 수 있습니다 . 이런 식으로 사용자는 루트 암호를 변경할 수 없습니다