반응형
일반 사용자 계정으로 root 소유의 파일을 직접 쓰는 방법
리눅스에서 일반 사용자가 root 소유 파일을 직접 쓸 수는 없지만, sudo를 이용해 tee, cp, mv, editor 등의 일부 명령만 root 권한으로 실행하는 방식으로 "root 파일 쓰기" 작업을 수행할 수 있다.
scp /etc/haproxy/haproxy.cfg ubuntu@192.168.0.112:/etc/haproxy/haproxy.cfg
scp: dest open "/etc/haproxy/haproxy.cfg": Permission denied
scp: failed to upload file /etc/haproxy/haproxy.cfg to /etc/haproxy/haproxy.cfg
scp 자체는 성공적으로 서버에 접속하지만, 파일을 쓰는 권한이 없어서 Permission denied가 발생합니다.
임시 경로로 복사 후 sudo로 이동
일반 사용자 홈 디렉토리 같은 쓰기 가능한 곳에 scp로 복사
scp /etc/haproxy/haproxy.cfg ubuntu@192.168.0.112:~/haproxy.cfg
서버에 접속 후 sudo로 /etc/haproxy/로 이동
ssh ubuntu@192.168.0.112
sudo mv ~/haproxy.cfg /etc/haproxy/haproxy.cfg
sudo chown root:root /etc/haproxy/haproxy.cfg
sudo chmod 644 /etc/haproxy/haproxy.cfg
sudo 권한으로 원격 cat 사용
cat haproxy.cfg | ssh ubuntu@192.168.0.112 "sudo tee /etc/haproxy/haproxy.cfg > /dev/null"
- tee를 sudo와 함께 사용하여 root 권한으로 쓰기
- > /dev/null은 출력 억제
- 파일 소유자는 root가 됩니다.
rsync + sudo
rsync -avz /etc/haproxy/haproxy.cfg ubuntu@192.168.0.112:/tmp/
ssh ubuntu@192.168.0.112 "sudo mv /tmp/haproxy.cfg /etc/haproxy/haproxy.cfg"
728x90
haproxy.cfg 파일 백업
sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak-$(date +%F-%T)
구문 확인
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
HAProxy 재시작
sudo systemctl restart haproxy
haproxy.cfg 파일 백업 및 HAProxy 재시작
ssh ubuntu@192.168.0.112 "sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak-$(date +%F-%T)"
cat /etc/haproxy/haproxy.cfg | ssh ubuntu@192.168.0.112 "sudo tee /etc/haproxy/haproxy.cfg > /dev/null"
ssh ubuntu@192.168.0.112 "sudo haproxy -c -f /etc/haproxy/haproxy.cfg"
ssh ubuntu@192.168.0.112 "sudo systemctl restart haproxy"
sudo tee 사용
sudo를 사용해 root 권한으로 파일을 쓰기
echo "내용" | sudo tee /etc/somefile > /dev/null
원격지에 쓰기
cat localfile | ssh user@host "sudo tee /etc/somefile > /dev/null"
- sudo는 tee 명령에만 적용되므로 보안적으로 안전
- 파일 소유권은 root로 유지됨
sudo 권한을 제한적으로 부여(NOPASSWD)
특정 사용자에게 지정한 파일만 root 권한으로 쓸 수 있게 허용
sudo visudo
user ALL = (root) NOPASSWD: /usr/bin/tee /etc/haproxy/haproxy.cfg
특정 사용자는 비밀번호 없이 root 파일 쓰기 가능
cat cfg | sudo tee /etc/haproxy/haproxy.cfg
- Jenkins, Ansible, CI/CD 배포 자동화에서 많이 사용됨
- 전체 root 권한을 주지 않아 안전
728x90
반응형
'리눅스' 카테고리의 다른 글
| HAProxy Statistics Page(Statistics Dashboard) (0) | 2025.11.14 |
|---|---|
| Apache에 커스텀 헤더 추가하기 (0) | 2025.11.13 |
| HAProxy의 Stats 페이지에서 백엔드 서버의 상태를 제어할 때 사용하는 관리 명령 (0) | 2025.11.07 |
| HPE DL360 Gen9 서버에서 Smart Array Controller에 진입하여 RAID 설정하는 방법 (0) | 2025.11.06 |
| HP DL360p Gen8 서버 오래된 BIOS 펌웨어 버그로 인한 시스템 재부팅 현상 (0) | 2025.11.06 |