사용자·그룹·권한·sudo
5. 자주 하는 실수 (Tip)
❌ 실수 1: 막히면 chmod 777 로 연다
모든 사용자가 쓰고 실행할 수 있어 보안 지적 대상입니다. ✅ ls -l 과 id 로 원인을 찾고 chown 이나 그룹 추가로 해결합니다.
❌ 실수 2: usermod -G 에 -a 를 빼먹는다
기존 그룹에서 전부 빠지고 지정한 그룹만 남아 sudo 가 안 됩니다. ✅ 항상 usermod -aG 입니다.
❌ 실수 3: 그룹을 추가하고 바로 시험한다
현재 세션에는 반영되지 않아 여전히 거부됩니다. ✅ 다시 로그인하거나 newgrp 그룹 으로 세션을 갱신합니다.
❌ 실수 4: 폴더에 r 만 주고 안 파일을 열려 한다
이름은 보이는데 열리지 않습니다. ✅ 폴더는 x 가 있어야 들어갑니다. 폴더 기본은 755 또는 750 입니다.
❌ 실수 5: root 로 파일을 올리고 앱이 못 읽는다
scp 나 sudo cp 로 넣은 파일은 root 소유입니다. ✅ 배포 뒤 chown -R myapp:myapp 을 넣습니다.
❌ 실수 6: chmod -R 644 를 폴더에 돌린다
폴더의 x 까지 사라져 아무도 못 들어갑니다. ✅ 파일과 폴더를 나눠 find -type f -exec chmod 644, find -type d -exec chmod 755 로 합니다.
❌ 실수 7: sudo -i 로 root 셸에서 작업한다
실수 한 번이 서버 전체에 미치고 기록도 명령 단위로 안 남습니다. ✅ sudo 명령 으로 한 번에 하나씩 실행합니다.
❌ 실수 8: /etc/sudoers 를 vi 로 직접 고친다
문법 오류가 나면 sudo 자체가 막혀 복구가 어렵습니다. ✅ 반드시 visudo 로 편집합니다.
❌ 실수 9: 앱 계정에 로그인 셸을 준다
계정이 유출되면 ssh 로 들어옵니다. ✅ 서비스 계정은 -s /sbin/nologin 으로 만들고 sudo -u 로만 씁니다.
❌ 실수 10: 비밀번호 파일을 644 로 둔다
같은 서버의 모든 사용자가 읽습니다. ✅ chmod 600 과 소유자 앱 계정으로 두고, umask 077 로 처음부터 그렇게 만듭니다.