같은 서버내의 서로 다른 계정끼리 폴더를 공유하는 방법이다.

 

 

공유할 폴더 : /home/testuser/공유폴더

공유할 사용자 : testuser1, testuser2

 

이후부터는 root로 작업한다.

 

 

1. 그룹을 만든다

 

# groupadd mygroup

 

2. 새로 만든 그룹에 속할 계정을 지정해 준다.(계정은 미리 만들어져 있어야 함)

 

# usermod -a -G mygroup testuser1
# usermod -a -G mygroup testuser2

 

-a : 그룹에 추가

-G : 다음에 그룹명 지정

mygroup : 그룹명

testuser1, testuser2 : 사용자계정

 

 

3. 그룹을 확인해 본다.

# cat /etc/group
mygroup:x:1011:testuser1,testuser2

group 파일의 하단에 위와 같이 그룹이 지정된 것을 확인할 수 있다.

 

 

 

4. 공유폴더의 그룹명을 변경해 준다.

 

# chgrp -R mygroup /home/testuser/공유폴더
# chmod -R 2775 /home/testuser/공유폴더

 

2 : 새롭게 생성되는 하위 폴더에 같은 그룹을 지정해주는 옵션

7 : 소유자에게 rwx(4+2+1) 권한 주기

7 : 그룹에게 rwx(4+2+1) 권한 주기

5 : 타인에게 rx(4+1) 권한 주기

 

 

5. 새로운 사용자를 생성하면서 이 그룹에 추가하려면 아래와 같이 하면 된다.

# useradd -m -c "Test User3" -s/bin/bash -G mygroup testuser3

 

공유설정은 끝났다.

 

 

6.

testuser1 계정으로 로그인해서 심볼릭링크를 걸어보자.

 

# ln -s /home/testuser/공유폴더 ./공유폴더

 

공유폴더 링크가 생성되었다.

ftp로 접속을 하면 폴더가 보인다.

 

그런데 접근이 안된다.

 

vsftpd설정에서 chroot_list 옵션을 사용중이어서 상위폴더로 접근이 금지되어 있기 때문이다.

 

 

7. 다음과 같이 해보자

 

심볼릭링크를 삭제한다.

 

그리고 아래와 같이 폴더를 생성한다.

 

# mkdir 공유폴더

 

아래와 같이 원본공유 폴더를 새로 생성한 공유폴더에 마운트 한다.

 

# mount --bind /home/testuser/공유폴더 ./공유폴더

 

 

원본 공유폴더에 777권한을 준다.

# chmod 777 /home/testuser/공유폴더

 

테스트를 해본다.

testuser1, testuser2 등 각기 다른 다른 사용자로 접속하여 파일을 생성하고 삭제해 본다.

정상적으로 작동한다.

 

 

 

*추가

 

재부팅하면 mount 가 해제되므로 다시 설정해야 함.

해당 폴더에 쓰기가 안된다면 selinux 를 아래와 같이 변경

 

# setsebool -P allow_ftpd_full_access 1

 

 

끝.

 

 

 

 

'Linux' 카테고리의 다른 글

리눅스 swapfile 추가  (0) 2020.09.01
centos7 jdk1.7 설치하기, 자바버전선택  (0) 2020.09.01
mariadb 설치 후 centos8 시작프로그램 등록  (0) 2020.05.02
rsync @ERROR: chroot failed  (0) 2019.01.08
CentOS7 apache 2.4 mod_deflate  (0) 2017.11.26
블로그 이미지

엘로드넷

,