[Ubuntu] sshfs 서버 간 공유 폴더 설정

김성수·2020년 9월 10일
0

Ubuntu(linux) 서버에서 원격 서버와 디렉토리를 공유하고자 할 때 sshfs를 이용하여 공유할 수 있다.


1. 설치 (Ubuntu, Debian 기준)

sshfs가 설치돼 있지 않다면 apt 툴을 이용하여 설치해준다.

$ sudo apt install sshfs

2. 공유 설정

공유 명령어는 다음과 같다.

$ sshfs <원격서버 계정>@<IP>:<공유할 디렉토리> <내 디렉토리>
)
$ sshfs tkfrn4799@1.2.3.4:/targetdir /mydir

공유가 설정되면 원격 서버의 디렉토리에 들어있는 파일을 지정한 내 디렉토리에서도 확인할 수 있다.


3. 공유 확인

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
/dev/sda2                          137G   24G  106G  19% /

...

tkfrn4799@1.2.3.4:/targetdir  7.3T  103G  6.8T   2% /mydir

4. 공유 해제

$ fusermount -u ./<내 디렉토리>

5. 접근 권한

공유 설정 이후, 기본적으로 공유를 진행한 계정 이외의 계정의 접근은 불가하다. (공유 때 사용한 원격 서버 계정과는 상관없음)

예를 들어 'user111'이라는 계정으로 공유를 설정했다면,

user_111@my-pc:~$ sshfs ~ /mydir

다른 계정으로는 공유된 디렉토리에 접근이 불가능하다.(root 포함)

user_222@my-pc:~$ cd /mydir
-bash: cd: test: Permission denied
root@my-pc:~# cd /mydir
-bash: cd: test: Permission denied

💡 alllow_other 옵션

공유 설정 시 allow_other 옵션을 부여하면 공유를 설정한 계정 이외의 다른 계정도 접근이 가능하다.

user_111@my-pc:~$ sshfs tkfrn4799@1.2.3.4:/targetdir /mydir -o allow_other

이런 에러가 날 수도 있다.

fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf

/etc/fuse.conf를 수정해주어야 한다.

$ sudo vi /etc/fuse.conf

아래 구문을 주석해제 한다.

# user_allow_other

이후 다시 allow_other 옵션을 주어 공유 설정을 하면 다른 계정에서도 해당 디렉토리에 접근이 가능하다.

profile
뿌리가 튼튼한 사람이 되고자 합니다.

0개의 댓글