루트 사용자를 비활성화하고 새 사용자를 생성하라는 기사가 많이 있습니다. 한 가지 이유는 이 계정이 root
봇이 쉽게 타겟팅할 수 있는 알려진 계정이기 때문입니다.
그래서 관리자 권한을 가진 새로운 사용자를 생성해야 합니다. 이렇게 하면 이것이 정확히 같은 것입니까 root
?
MongoDB, NodeJS, PM2, Certbot을 설치해야 합니다. 지난번에 이 작업을 수행했을 때 문제가 발생하여 결국 다시 문제가 발생했습니다 root
. 문제는 소프트웨어 설치 및 실행 방법과 관련된 것 같습니다.
이제 새 버전이 있어서 다시 시도하고 싶습니다. 현재 SSH 루트 액세스 및 루트 비밀번호가 활성화되어 있으며(백업) 필요에 따라 새 계정을 만들 준비가 되어 있습니다.
소프트웨어를 설치하려면 어떤 계정을 사용해야 하며, 소프트웨어를 실행하려면 어떤 계정을 사용해야 합니까?
그리고 사용자가 생성되면 홈 폴더에 폴더가 생성되는데 여기에 노드 앱을 추가해야 하나요?
나는 유일한 관리자가 될 것입니다. (즉, 조직에서 사용되지 않습니다) 이것이 변화를 가져올까요?
답변1
root
먼저, 발생할 수 있는 오해를 명확히 하기 위해 사용자를 비활성화하면 해당 사용자로 로그인할 가능성도 비활성화되는 것을 권장합니다 root
. 이는 시스템에서 사용자를 "제거"하는 것을 의미하지 않습니다 root
(불가능). 대신, "신뢰할 수 있는" 일반 사용자(일반 사용자 계정이거나 이 목적으로 생성한 전용 계정일 수 있음)가 루트 권한으로 명령을 실행할 수 있도록 허용하는 것이 아이디어입니다.
1. 일반 사용자를 루트로 만듭니다.
2단계로 진행하기 전에 반드시 이 작업을 수행하세요!
이는 일반적으로 실행을 통해 수행됩니다 sudo
. 가장 간단한 방법은 "신뢰할 수 있는" 일반 사용자를 그룹의 일부로 만들고 sudo
호출 앞에 .root 권한을 추가하여 그룹 구성원이 루트 권한으로 명령을 실행할 수 있도록 허용하는 것입니다 sudo
. 이 목적을 위해:
- 설치
sudo
(시스템에 아직 설치되지 않은 경우) - 실행(루트로):
~# usermod -a -G sudo trusted_user
/etc/sudoers
파일에 다음과 유사한 줄이 포함되어 있는지 확인하십시오 .
이는 이미 존재할 수 있으며 이 그룹의 사용자가 수행할 수 있도록 허용합니다.모두루트 권한이 있는 명령을 통해%sudo ALL=(ALL:ALL) ALL
sudo
.
2. 루트 로그인 비활성화
가지다몇 가지 방법들이를 수행하는 방법은 계정을 "비활성화"하려는 정도에 따라 다릅니다. 가장 유용한 두 가지는 다음과 같습니다.
root
사용자의 로그인 셸을/sbin/false
또는 로 설정합니다/sbin/nologin
(시도할 때 멋진 설명 메시지를 표시할지 여부에 따라 다름). 이렇게 하려면 의root
마지막:
구분 기호 필드를/etc/passwd
위 필드 중 하나로 변경합니다(예: ). 더 이상 실제로 루트가 될 수 없으며 루트 권한을 사용하여 "명령별" 기반으로만 작업할 수 있습니다(그러나 나중에 변경하는 경우sudo
비밀번호 파일을 수정하여 이 작업을 취소할 수 있습니다). 아래)sudo
당신의 아이디어).- 비밀번호를 비활성화합니다
root
. 이렇게 하려면root
사용자의 비밀번호 해시(예::
의 두 번째 구분 필드/etc/shadow
)를 로 설정합니다!
. 해당 특정 파일은vipw -s
(as )를 통해서만root
수정하는 것이 좋습니다. 그러면 더 이상 루트로 로그인할 수 없습니다.비밀번호인증을 기반으로 합니다.root
SSH 키(설정된 경우)를 통해 로그인하는 것과 마찬가지로 via(파일에서 허용하는 경우) 로 전환할 수 있습니다 .sudo su
sudoers
최종 메모
초기 문제는 루트가 아닌 사용자로 시스템 전반에 걸쳐 소프트웨어를 설치하려고 시도했지만 결국 의도한 대로 사용할 수 없다는 것입니다. 사용자 계정을 "비활성화"하는 제안된 단계는 root
이 문제에 대한 해결책이 아닙니다.
- 소프트웨어 설치 중단을 방지하는 가장 좋은 방법은 배포판의 패키지 관리자를 사용하는 것입니다. 이를 위해서는 루트 액세스가 필요하지만 모든 파일이 있어야 할 위치에 있고 패키지 관리자를 통해 소프트웨어를 (다소) 쉽게 제거할 수 있는지 확인하십시오.
- 소스에서 또는 공급업체가 제공한 설치 프로그램을 사용하여 소프트웨어를 설치해야 하는 경우, 사용자(또는 다른 전용 "일반" 사용자)로 홈 디렉터리에 설치하고 소프트웨어로 실행할 수 있습니다. 이 기능은 소프트웨어가 1000 미만의 네트워크 포트나 하드웨어와 같은 리소스에 대한 루트 액세스를 요구하지 않는 경우에만 작동합니다.