아마도 이것을 바꿔야 할 것 같습니다. 내 필요를 충족시키는 가장 안전한 방법은 무엇입니까?
세부 사항
WinSCP를 사용하여 Apache document_root를 수정하고 있습니다. /var/www/html 디렉토리의 소유자 및 그룹은 루트입니다. WinSCP를 사용하면 sudo -s에 비밀번호가 필요하기 때문에 이러한 파일을 수정하려면 루트로 로그인해야 합니다. 나는 루트로 원격으로 로그인하고 싶지 않기 때문에 /var/www/html에 비밀번호가 필요하지 않은 sudoer를 추가하고 싶습니다. 그게 가능합니까?
답변1
Sudo는 작업에 적합한 도구가 아닙니다. 액세스할 수 있는 파일이 아니라 실행할 수 있는 명령을 제어합니다.
작업에 적합한 도구는 파일 권한입니다.액세스 제어 목록Unix의 기존 사용자/그룹/기타 권한으로는 충분하지 않은 경우.
그룹을 만들고, 이름을 지정 webroot
하고, 그룹이 그 안의 디렉터리 /var/www/html
와 파일을 소유하게 하세요.
sudo addgroup webroot
chgrp -R /var/www/html
chmod -R g+ws /var/www/html
디렉터리의 비트로 s
인해 파일은 디렉터리에서 그룹 소유권을 상속받습니다. 또한 해당 파일이 그룹 쓰기 가능한지 확인해야 합니다.
/var/www/html
파일을 업로드한 계정을 사용하여 액세스 하려면 해당 계정을 webroot
그룹에 추가하세요.
sudo adduser iusemagentonow webroot
새로 생성된 파일에 대한 그룹 소유권 및 그룹 쓰기 권한을 유지하는 데 어려움이 있는 경우 대신 ACL을 사용하세요 chgrp
.
sudo setfacl -d -R group:webroot:rwX /var/www/html
sudo setfacl -R group:webroot:rwX /var/www/html
/var/www/html
Apache 또는 사용 중인 웹 서버를 실행하는 사용자 및 그룹은 해당 서버의 파일에 쓰면 안 됩니다 . 웹 서버를 실행하는 사용자는 웹 응용 프로그램에서 업데이트해야 하는 데이터 파일을 제외한 모든 파일에 쓸 수 없도록 허용되어야 합니다. 특히, 웹 서버가 실행 파일을 작성하는 것을 허용하지 마십시오. 이렇게 하면 공격이 더 쉬워질 수 있습니다.