Microsoft MVP성태의 닷넷 이야기
c# 프로그램을 이용하여 리눅스상에 파일 생성이 가능한가요? [링크 복사], [링크+제목 복사],
조회: 10972
글쓴 사람
ㅇㅇ (ojh1628 at gmail.com)
홈페이지
첨부 파일
 

안녕하세요, 평소에 C#관련 지식 잘 얻어가고 있습니다.

다름이 아니라 C# .NET5.0으로 개발한 서버를 리눅스에서 돌리는 프로젝트를 하고 있는데요,

C#의 File 시스템을 이용해서 리눅스에 텍스트파일을 생성하려고 합니다.

일단 계속 테스트는 해보는데

Unhandled exception. System.UnauthorizedAccessException: Access to the path '/test.txt' is denied.
 ---> System.IO.IOException: Permission denied

이런 오류가 뜨더라구요...

그래서 운영체제의 차이때문에 원래 안되는건지 아니면 다른 방법이 있는데 제가 못찾은건지 궁금해서 질문드리게 되었습니다.

항상 좋은정보 감사합니다.








[최초 등록일: ]
[최종 수정일: 4/6/2022]


비밀번호

댓글 작성자
 



2022-04-06 10시37분
경로를 잘 보시면 오류의 원인이 나옵니다. "/" 경로는 루트를 의미하기 때문에 root 사용자 권한으로 프로그램을 실행해야 접근할 수 있습니다. (예를 들어, sudo 명령으로 실행하면 해당 프로그램이 잘 동작할 것입니다.)

즉, 동일한 프로그램을 윈도우/리눅스 모두에 올리고 싶다면 파일 시스템의 경로를 그에 맞게 잘 조절해야 합니다.

------------------

윈도우에서 파일에 대한 경로를 "/test.txt"라고 지정했다면 CurrentDirectory를 기준으로 루트가 선택되었을 것입니다. 가령, C 드라이브인 경우라면 C:\test.txt 경로가 되는데요, 그것 역시 관리자 권한을 필요로 하지만... 아마도 질문하신 분은 윈도우 환경에서 UAC를 꺼놓거나 무조건 관리자 권한으로 실행했었기 때문에 그런 문제가 없었을 것입니다.
정성태

NoWriterDateCnt.TitleFile(s)