sudo 계정을 사용하여 내 폴더에서 공유 폴더로 파일을 이동할 수 있도록 Linux 서버의 폴더에 해당 권한을 열어야 하는 사용 사례가 있습니다. 그러면 종종 발생하는 일은 내가 로그아웃하는 사람이 아니고(ssh 연결이 끊어짐) 내 홈 폴더 권한이 열려 있다는 것입니다. SSH로 다시 로그인하려고 할 때 폴더 열기 권한으로 인해 키 인증이 작동하지 않고 비밀번호를 입력해야 한다는 점을 제외하고는 열기 권한에 관심이 없습니다.
SSH 세션을 종료할 때(정상이든 아니든) 항상 권한을 700으로 설정하는 방법을 설정할 수 있는지 궁금합니다. 또는 내 홈 폴더가 777로 설정되어 있을 때 키 인증이 작동하도록 하는 방법이 있다면 그것도 도움이 될 것입니다.
그런데 도움이 된다면 제가 실제로 하려는 일은 다음과 같습니다. 나는 내 컴퓨터에서 scp
로컬로 빌드된 파일을 .jar
Linux 서버의 홈 폴더로 이동하는 데 익숙합니다 . 그런 다음 .jar
홈 폴더에서 실행할 수 있는 공유 폴더로 이동 해야 합니다 .jar
. 공유 폴더로 이동하려면 .jar
제공된 계정을 사용해야 sudo
하지만 sudo
권한을 활성화하지 않으면 해당 계정은 내 홈 폴더에 액세스할 수 없습니다.
답변1
귀하의 의견에 있는 정보를 사용하면 실제로 질문한 질문에 대답하기보다는 근본적인 문제를 해결하는 것이 해결책인 것으로 보입니다.
scp를 사용하여 로컬로 빌드된 .jar을 내 컴퓨터에서 Linux 서버의 홈 폴더로 이동했습니다. 그런 다음 .jar을 홈 폴더에서 .jar을 실행할 수 있는 공유 폴더로 이동해야 했습니다. .jar을 공유 폴더로 이동하려면 제공된 sudo 계정을 사용해야 하지만 권한을 설정하지 않으면 sudo 계정은 내 홈 폴더에 액세스할 수 없습니다.
아시다시피 홈 디렉터리에 대한 권한을 0777
차단 하도록 설정하면 ssh
작동합니다. 이것은 의도적으로 설계된 것입니다. 대신 파일을 포함할 하위 디렉터리를 만들고 jar
해당 디렉터리에 대한 권한을 안전하게 완화하세요. 귀하의 sudo
계정이 이를 통해 대상 폴더에 액세스할 수 있도록 홈 디렉터리의 그룹 및 기타 그룹에 실행 권한을 추가하십시오 .
chmod 711 "$HOME"`
mkdir -m777 "$HOME/subdir"
이 시점에서 $HOME
가능한 예를 고려하십시오 /home/serge
. 이제 ls /home/serge
권한 문제로 인해 계정이 실패 하더라도 sudo
홈 디렉토리를 검색하고 하위 디렉토리에 들어갈 수 있습니다 ls /home/serge/subdir
.
sudo
귀하의 계정과 자신의 계정이 댓글에 그룹을 갖고 있거나 공통 그룹을 갖도록 준비할 수 있는 경우 하위 디렉토리의 그룹 권한을 완화할 수 있습니다.
chmod 710 "$HOME"
chmod 770 "$HOME/subdir"
chgrp {whatever} "$HOME/subdir"
또는 파일을 홈 디렉토리 대신 /tmp
(또는 ) 로 전송하여 모든 어려움을 피하십시오 ./var/tmp