
나는 gcc에 의해 생성된 중간 코드를 사용하여 GNU 어셈블러를 테스트하고 있습니다. 나는 GNU 어셈블리 구문을 전혀 이해하지 못하지만 어느 시점에서는 배울 수 있습니다. 나는 명령을 실행 as hello.s
한 다음 as hello.s -o hello
. 실행 파일을 실행하면 "권한이 거부되었습니다"라고 표시됩니다. 루트로 실행하려고 해도 여전히 같은 메시지가 나타납니다. ls -l
파일 권한을 확인하러 달려갔더니 권한이 정상( rw-r--r--
)이었습니다. 어떻게 되어가나요? 이 문제를 어떻게 해결할 수 있나요?
답변1
rw-r--r--
소스 코드 파일을 컴파일할 때 새로 생성된 출력 바이너리에는 권한이 있지만 문자열에 권한이 없으므로 실행할 수 없습니다 .x
다음을 실행하여 실행 가능하게 만드세요.
chmod +x hello
sudo
필요한 경우 명령 앞에 추가합니다. 그런 다음 ./hello
.