local_umask와 file_open_mode는 어떻게 작동합니까?


11

로컬 사용자가 vsftp를 통해 파일을 서버에 업로드 할 때 파일 권한에 문제가있었습니다.

파일에 766 권한이 모두 필요했습니다. 많은 시행 착오 끝에 다음과 같이 설정해야한다는 것을 알았습니다.

local_umask=011
file_open_mode=0777

그러나 이것이 왜 766 권한을 얻는 지 모르겠습니다. 누구든지 이것을 설명 할 수 있습니까?

답변:


13

vsftpd에의 daemeon는 다음과 같이 파일 권한을 만듭니다 0777 . 그로부터 local_umask( 0011 )을 뺍니다. umask는 기본적으로 사용자가 원하지 않는 권한을 제거합니다. 그 결과 사용자의 파일 권한이 0766 으로 설정됩니다 .

자세한 내용은 파일 권한 에 대한이 문서를 참조하십시오 .


2
예, 알았습니다. 트릭을 알고 있습니다. 그러나 어떻게 작동합니까? 왜 766 만 설정할 수 없습니까?
OrangeTux

1

열린 모드 설정에서 umask 값을 뺍니다. 사용자 정의 umask 값을 제공하지 않으면 기본 값 (077)이 사용되어 원하지 않는 결과가 발생합니다.


-1

다음과 같은 이유로이 권한이 부여됩니다.

1) local_umask = 011을 설정하면 vsftp에 다음과 같이 설정합니다.

0 : 읽기, 쓰기 및 실행 1 : 읽기 및 쓰기 1 : 읽기 및 쓰기

이것은 chmod 766과 같습니다.

2) file_open_mode = 0777의 값은 구문 분석되지 않습니다.

여기에 umask 란 무엇이고 어떻게 사용하는지에 대한 아주 좋은 설명이 있습니다 : https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html


이것은 질문에 대한 답변이 아닙니다. (1) OP는 666이 아닌 766으로 보호 된 파일을 원하므로 잘못된 시나리오를 해결하고 있습니다. (2) OP에는 작동하는 구성이 있습니다. 문제는 작동 하는지 묻는 것입니다. 당신은 그것을 해결하지 못했습니다.
Scott

좋아요, @Scott가 답을 편집했습니다.
Fernando Kosh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.