CentOS를 사용하다 보면, FTP 이외에도 공용 폴더를 이용하고 싶은 생각이 들기도 합니다. 또는 우리 팀이나 다른 부서까지 권한이 부여된 폴더를 따로 관리하고 싶을 때가 많습니다.
이 경우 CentOS는 samba를 설치하여 특정폴더를 공유하여 사용할 수 있습니다. (이는 ftp보다 더 간편하게 활용되지만 쉬운만큼 FTP보다 보안에 취약할 수도 있습니다.)
먼저 samba의 설치 및 설정은 root계정에서 이루어져야 합니다. 때문에 모든 명령어 앞에 sudo를 사용하여 관리자권한으로 수행하거나 아래와 같이 계정을 변경한 후 진행합니다. (만약 root로 로그인한 경우 해당하지 않습니다.)
$> sudo
password for (내계정) : (비밀번호 입력)
1. 삼바 설치 확인
- 기존에 samba가 설치되어있다면 다음과 같이 표시될겁니다.
$> yum list installed | grep samb
저 같은 경우엔 최근 2주 전에 설치했기 때문에 아래와 같이 samba가 4.10.16-9.el_9 버전으로 설치되어있음을 확인할 수 있습니다.
이 경우엔 기존의 삼바가 어떻게 세팅되어있는지 확인해야 하지만 이번엔 우선 설치가 되어있지 않다고 고려하고 진행하겠습니다.
2. 삼바 설치
$> yum install -y samba
명령어를 일어주면 "여기(CentOS)에 설치(yum install)해줘, 삼바(samba)를, 단 중간에 설치할지 말지 여부(Y/N)에 대해서는 무조건 Y (-y)로 해줘"라는 명령입니다.
다음과 같이 명령어를 수행하면 현재 yum의 repository에서 확인 가능한 최신의 samba가 설치됩니다.
3. 삼바 방화벽 오픈
$> firewall-cmd --permanent --add-port=139/tcp
$> firewall-cmd --permanent --add-port=445/tcp
$> firewall-cmd --reload
samba에서 IN/OUT에 사용하는 138번(1번 라인)과 445번(2번 라인) 포트를 열어주고, 방화벽에 적용(3번 라인) 해줍니다.
4. 공유할 폴더 생성
$> mkdir /data
$> mkdir /data/SharedFolder
$> mkdir /data/SharedFolder/(폴더명)
공유할 폴더를 생성해줍니다. 저 같은 경우엔 아래의 위치에 공간을 만들었습니다.
- /data/SharedFolder/(폴더명)
5. 폴더 권한 여부
$> chmod 777 /data/SharedFolder/(폴더명)
해당 폴더는 관리자 권한으로 접근하는 폴더가 아니기 때문에 읽기 쓰기의 권한을 부여해주어야 합니다.
6. 삼바 설정
$> vi /etc/samba/smb.conf
[Shared Folder]
comment = Shared Folder
path = /data/SharedFolder/(폴더명)
writable = yes
write list = user1
public = yes
create mask = 0777
directory mask = 0777
여기서 user1은 해당 폴더에 쓰기 권한을 부여할 계정이다. 만약 내 로그인 계정이 smith라면, user1 대신에 smith를 쓰면 됩니다.
7. selinux 보안 설정 조정
$> setsebool -P samba_enable_home_dirs on
$> chcon -t samba_share_t /data/SharedFolder/(폴더명)
예정에는 그냥 6번까지만 하면 설정이 되었지만, 최근에는 selinux 설정을 해주지 않으면 접근이 안됩니다.
8. 서버 재시작 시 자동으로 시작되도록 설정
$> systemctl enable smb
다음과 같이 설정해두면, 서버가 재시작되어도 따로 삼바를 재구 동하지 않아도 알아서 삼바가 구동됩니다.
9. 삼바 시작
$> systemctl start smb
이제 삼바 설정을 다 마쳤으니 적용한 내용을 갖는 삼바를 실행해줍니다.
10. 삼바 실행 상태 확인
$> systemctl status smb
다음과 같이 Active 상태가 active (running)라면 정상 구동 중이라고 확인할 수 있습니다.
'개발 창고 > Server' 카테고리의 다른 글
[Ubuntu] 숨김 파일 관리 (0) | 2022.06.21 |
---|---|
[Ubuntu] 쉘 스크립트 변수 선언 (0) | 2022.06.21 |
[CentOS7] crontab 활용하기 (0) | 2021.01.28 |
[Tomcat] The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid. (2) | 2020.10.22 |
[서버이야기] 웹서버(WS)와 와스(WAS)서버 (0) | 2020.09.07 |