고객사에서 권한 문제료 umask를 변경해달라길래 터미널 접속인가? 하고 profile에 umask 설정을 해줬더니
안된다고 프로그램 화면을 보여주는데
아뿔싸...
sftp네?
sftp 는 ssh와 같은 port를 쓰지만(분리도 가능) umask는 따로 설정해줘야 한다.
설정파일은 /etc/ssh/sshd_config
파일 맨 하단에
# Example of overriding settings on a per-user basis
이하 부분 활용하면 된다.
sftp 의 기본 umask 는 022로 파일 생성 시 644 로 생성된다.
예를 들어 A라는 계정만 sftp의 664로 생성하고 싶으면 다음과 같이 세팅하고 저장, sshd restart 해주면 된다.
....
==============================================================
Match User A
ForceCommand internal-sftp -u 002
==============================================================
라고 인터넷에 나와 있을거다.
결론만 말하면 Fake다... 이 좌식들이...
ForceCommand를 사용하면 원칙적으로 SFTP 밖에 안된다.
SSH 접속이 안되고 SFTP 사용만 강제된다.
이를 회피하기 위해서는 아래처럼 입력해야 한다.
중요한 건 sftp-server 파일이 서버마다 다를 수 있어서
find /usr -name "sftp-server" 로 명령어 위치 확인해야 한다.
찾이 않아도 /etc/ssh/sshd_config 파일 하단에 명시되어 있기는 하다.
( package 는 openssh-clients )
==============================================================
Match User A
ForceCommand /bin/bash -c 'if [ -z "$SSH_ORIGINAL_COMMAND" ]; then exec /bin/bash; else exec /usr/libexec/openssh/sftp-server -u 0002; fi'
==============================================================
설정하고 systemctl restart sshd
ssh, sftp 둘 다 정상동작하는지 반드시 확인하자.
2024/07/12 추가
버전에 따라 안되는 경우 발생
아래처럼 변경하고 systemctl restart sshd 해주면 됨
==============================================================
Subsystem sftp /usr/libexec/openssh/sftp-server -m 0664
==============================================================
'Linux' 카테고리의 다른 글
ipv6 enable 방법 및 위치 (0) | 2024.12.04 |
---|---|
서버 이관 시 최소 고려사항 및 계정 그룹 생성 스크립트 (0) | 2024.11.04 |
Windows Linux Unix(AIX) 파일 공유 (0) | 2024.04.25 |
타 계정 명령어 실행 권한 부여(sudoers) (1) | 2024.01.26 |
일반유저가 1024 이하 포트를 사용하기(setcap/getcap) (1) | 2024.01.23 |
댓글