저는 Linux를 처음 접했기 때문에 이해가 부족한 점을 양해해 주시기 바랍니다.
Linux 설치에 A와 B라는 두 명의 사용자가 있다고 가정해 보겠습니다.
사용자 A는 FolderA 폴더를 만들고 폴더에 일부 파일을 추가합니다. 그런 다음 사용자 A는 chmod 명령을 사용하여 다른 사람이 다음을 사용하여 폴더에 액세스하는 것을 방지합니다.
sudo chmod 700 FolderA -R
내가 이해하지 못하는 것은 사용자 B가 자신의 계정에 로그인하고 다음 명령을 사용하여 이 제한을 변경할 수 있는 방법입니다.
sudo chmod 777 FolderA -R
내 말은, 누구나 폴더를 변경할 수 있는데 폴더에 제한을 설정하는 것이 무슨 의미가 있단 말입니까? 나는 논리를 이해하지 못합니다.
다시 말하지만 저는 Linux를 처음 접했기 때문에 질문이 있습니다.
답변1
이 sudo
명령은 사용자에게 임시 관리자 권한을 부여합니다. 이를 사용하면 모든 보안 제어를 우회하게 됩니다. 관리되는 다중 사용자 시스템에서는 이 권한을 갖는 사용자가 거의 없으며 일반적으로 시스템 관리자에게만 해당됩니다. 홈 시스템에서는 기본적으로 이 기능을 사용하여 시스템을 관리할 수 있습니다.
완전히 제거하십시오 FolderA
. 그런 다음 이 명령을 사용하지 않고 다시 시도하고 sudo
무슨 일이 일어나는지 확인하세요.
답변2
사용자 계정에서 사용한다는 것은 sudo
귀하가 더 이상 해당 사용자로 작동하지 않는다는 것을 의미합니다.뿌리. 시스템에 관한 한 동일한 권한을 userA
갖 userB
습니다.뿌리, 다시 말해서.
특정 사용자의 권한을 제한하려면 파일에서 수행에 있는 다음 명령을 사용 sudo
하면 됩니다 . 이 방법으로 편집하려면 sudoers 파일을 열어야 합니다.sudoers
sudo visudo
# 이 파일은 루트로 "visudo" 명령을 사용하여 편집해야 합니다.
답변3
다른 사람들이 설명했듯이 sudo를 사용하면 일시적으로 관리 권한을 가질 수 있습니다(효과적으로 루트로 명령을 실행). 그러나 루트로 로그인하는 것보다 여전히 더 안전합니다. sudo 접두사를 붙인 명령만 이 권한을 받기 때문입니다(루트 쉘이라는 사실을 잊어버렸기 때문에 실수로 루트 권한으로 무언가를 실행하는 것을 방지합니다).
홈 데스크탑 환경의 경우 대부분의 사용자는 일반적으로 그룹(Ubuntu에서는 "admin"이지만 배포판에 따라 다를 수 있음)을 통해 전체 sudo 액세스 권한을 갖습니다. 프로덕션 서버 환경의 구성은 다를 수 있습니다.
엄밀히 말하면 사용자가 sudo로 수행할 수 있는 작업은 /etc/sudoers 파일을 통해 제어됩니다. 이 파일에는 다음과 같은 줄이 많이 있습니다.
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
필요한 경우 실행할 수 있는 명령을 제어할 수 있는 범위가 많이 있습니다. 다음은 구문을 더 자세히 설명하는 매뉴얼 페이지입니다.https://www.sudo.ws/man/1.8.15/sudoers.man.html
각 줄은 특정 사용자 또는 그룹(및 사용자)이 실행할 수 있는 명령을 제한합니다. 따라서 sudo를 사용할 수 있는 사람을 변경하거나 제한하려는 경우 두 가지 옵션이 있습니다.
- 관련 sudo 권한을 추가하거나 제거하려면 그룹(예: 관리자)에서 해당 사용자를 추가하거나 제거하세요.
- /etc/sudoers에서 연결된 사용자 또는 그룹의 sudo 권한을 변경합니다.
홈 설정의 경우 규칙이 얼마나 제한적/복잡한지 주의하는 것이 좋습니다. 너무 화려하게 설정하면 나중에 스스로 더 많은 작업을 수행하게 될 수 있습니다.