[2024.08.10]
[Samba Server]
01. 프로그램 설치
#dnf -y install smaba*
02. 환경 설정 파일
> /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = user
/etc/samba 디렉터리로 이동 후 smb.conf 파일을 열어 준다
그럼 이런 화면이 나오게 되는데 이때 잠시 Windows 10으로 넘어가서 살펴보면
작업 그룹이 WORKGROUP으로 되어 있다
그렇기 때문에 smb.conf 파일의 workgroup에도 해당 그룹 이름을 삽입해야 된다
workgroup 이름을 확인한 대로 WORKGROUP으로 설정해 주고 저장한다
03. 디렉터리 공유
[public]
comment = YRG Samba Server
path = /samba
browseable = Yes
read only = No
guest ok = Yes
#mkdir samba
#chmod 777 samba
디렉터리 공유를 하기 위해 맨밑에 public을 생성하고,
그 외의 것들을 적고 나서 저장한다
root 디렉터리에 samba라는 디렉터리를 생성하고, 777의 체인지 모드를 실행한다
04. 사용자 생성 및 추가
[root@localhost samba]# useradd -M -s /bin/bash user1
[root@localhost samba]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.
05. Windows에서 접속
> 시작 > 실행 > ₩₩192.168.10.50
user1을 생성시킨 후 smbpasswd로 비밀번호를 123456으로 변경시켜 준다
방화벽 중지 및 samba를 활성화시켜 주고 현재 상태 및 현재 모드를 disabled인지 확인한다
이 과정에서 현재 모드에서 enforcing으로 변경되지 않는다면,
/etc/selinux 디렉터리의 config 파일을 열어 SELINUX=enforcing으로 되어 있는 것을
disabled로 변경시켜 준 다음 저장하고 리부팅을 시도하면 변경할 수 있다
확인을 위해 samba 디렉터리에서 파일과 디렉터리를 두 개씩 생성해 준 다음
Windows 10 검색창에 ₩₩192.168.10.50를 입력하고 실행시킨다
실행하게 되면 로그인을 시도하는 화면이 나타나는데,
새로 만든 user1과 비밀번호 123456을 입력하여 접속한다
아까 임의로 만들어 뒀던 dir1, 2와 file1, 2를 확인할 수 있다
이 외에도 현재 Windows 10에서 새 폴더를 만든 후
다시 50번 서버의 Rocky Linux로 돌아와서 확인 시 새 폴더 두 개가 생긴 것을 확인할 수 있다
100번 클라이언트 서버에서도 똑같이 적용시켜 연습해 보았다
samba 디렉터리의 smb.conf에서 public2를 하나 더 입력하고
samba2라는 디렉터리를 따로 만들어 실행해도 디렉터리 공유가 가능해진다
[FTP Server]
1) FTP
2) anonymous FTP
3) TFTP
01. 프로그램 설치
> 서버: vsftpd
> 클라이언트: ftp
02. 환경 설정 파일
> /etc/vsftpd/vsftpd.conf
03. 포트 변경
> listen_port=2121
listen_port=2121로 포트 변경을 시도했지만
현재 실습 진행을 위해 주석(#)으로 실행되지 않게 해 놓은 상태다
04. FTP 서버 접속
#ftp 192.168.10.50
<명령어>
> put: 업로드
> get: 다운로드
> mput: 여러 개 파일 업로드
> mget: 여러 개 파일 다운로드
> hash: # 문자 진행 상황 출력
> pwd
> ls
> cd
> mkdir
항상 파일을 수정하면 사용 프로그램을 활성화시킨다
ftp 서버로 접근 시도
현재 /home/test 디렉터리에는 해당 파일들이 존재한다
get 명령어를 사용하게 되면 업로드를 실행하게 된다
50번 서버에서 passwd와 shadow라는 파일을 만들고
100번의 클라이언트에서 mput을 시도하게 되면
passwd와 shadow 파일도 test 디렉터리에 업로드가 된다
50번 서버에서 vmlinuz 파일을 복사하고
해당 파일을 업로드한 다음
hash를 실행한다
그런 다음 다시 vmlinuz의 다른 파일을 업로드할 때 화면과 같은 현상이 발생하게 된다
명령어가 활성화된 상태에서 파일을 전송할 때, 각 해시 기호(#)는 전송된 데이터 블록을 나타낸다
이 기호들이 화면에 출력되면서 사용자는 파일 전송이 진행되고 있음을 시각적으로 확인할 수 있다
이런 식으로 업로드 및 다운로드 연습을 진행했다
05. 사용자 접근 통제 관련 파일
> 아래 파일에 등록된 사용자 차단
> /etc/vsftpd/ftpusers
> /etc/vsfptd/user_list
이번에는 접근 통제 실습을 진행하기 위해 포트 변경에서 주석(#) 처리로 막았던
포트 변경 명령어를 주석 해제시키고 저장한다
Windows 10 서버에서는 알드라이브를 설치하고,
화면과 같이 50번 서버의 21번 포트 test로 연결을 시도한다
하지만 현재 포트 번호가 변경된 상태기 때문에 연결이 진행되지 않게 된다
그럴 때 포트 번호를 2121로 변경시키고 다시 접속을 시도하면
정상적으로 접속이 되며 사용이 가능해진다
test와 별개로 root로 로그인 시에도 접속이 차단되어 있는 상태다
이럴 때는 /etc/vsftpd 디렉터리에서 두 파일에 대한 수정을 진행해야 된다
현재 두 파일 모두 적혀 있는 사용자가 접속이 차단되게끔 설정되어 있기 때문에
왼쪽과 같던 화면에서 root만 주석(#) 처리를 진행한다
그런 다음 다시 vsftpd를 활성화시킨 후
로그인을 시도하면 정상적으로 접근이 가능하다
06.속도 제한
local_max_rate=300000
이번에는 속도 제한 실습을 진행하기 위해 vsftpd 디렉터리의 vsftpd.conf 파일에서
아무 곳의 빈 공간에 local_max_rate=300000를 설정해 준다
그런 다음 제일 용량이 큰 압축 파일을 업로드 진행 중에 캡처를 하게 됐는데,
원래라면 바로 전송될 파일이 현저히 느리게 전송 진행 중인 걸 확인할 수 있었다
50번 서버에도 업로드가 된 것을 확인할 수 있다
이번에는 다운로드를 진행해 보았지만, 다운로드 역시 속도가 느린 것을 볼 수 있다
용량이 큰 파일보다 용량이 적은 파일의 다운로드가 먼저 진행되고,
그 다음 큰 파일이 느린 속도로 진행되는 것을 볼 수 있다
[Anonymous FTP Server]
> 계정명: anonymous
> 패스워드: 이메일 주소
01. 환경 설정 파일
> /etc/vsftpd.conf
> anonymous_enable=YES
anonymous_enable=NO 상태일 때 익명 로그인을 선택하고,
접속을 시도하면 접속이 불가한 상태인 것을 볼 수 있다
그럴 때 anonymous_enable=YES로 상태를 변경시켜 주면 접속이 가능하다
02. 업로드 설정
> anon_upload_enable=YES
> /var/ftp/pub <-- pub 디렉터리 허가권 변경(777)
*666도 읽기+쓰기 가능하여 666으로 줘도 좋지만, 현재는 777로 변경했다
이번에는 28번 라인의 주석을 해제하고
익명으로 로그인한 상태에서 업로드를 시도해 보지만 전송 오류가 나타난다
익명 로그인의 경우 하나씩 다 설정해 줘야 되기 때문에 777 체인지 모드로 권한을 부여해야 된다
50번 서버로 넘어가서 /var/ftp 디렉터리의 pub을 777 체인지 모드로 변경시켜 준다
그런 다음 다시 업로드를 진행하게 되면 오류 없이 전송되는 것을 확인할 수 있다
03. 다운로드 권한 설정
> anon_world_readable_only=NO
하지만 다운로드의 경우에도 설정 없이는 불가한 상태다
다시 50번 서버로 넘어가서 아무 칸에 anon_world_readable_only=NO를 입력하고 저장
다시 Windows 10으로 와서 다운로드를 시도하면 문제없이 진행되는 것을 확인할 수 있다
04. 파일 삭제 권한 설정(파일명 변경도 가능)
> anon_other_write_enable=YES
익명 로그인의 경우 삭제도 마음대로 하지 못하게 설정되어 있다
이번에는 anon_other_write_enable=YES을 입력하고 저장한다
실행에 해당되는 명령어들을 파일에 입력했기 때문에 삭제 진행도 가능하게 된다
마지막으로 100번 클라이언트에서 ftp로 50번 서버에 접속 시
test가 아닌 익명으로 로그인하게 될 시 비밀번호는 이메일 주소다
통상적으로 익명 로그인의 경우 비밀번호는 이메일 주소지만,
현재는 아무거나 입력해도 로그인이 가능하다
강의 소감
오늘은 samba를 비롯하여 ftp 서버에 대해 알아보는 시간이었다
먼저 samba 서버를 통해 디렉터리 및 파일 공유가 가능하게끔 만들었고,
ftp 서버를 통해 속도 제한 및 업로드, 다운로드를 연습하는 시간을 가졌다
나는 이러한 연습을 통해 보안 시간에 더 유익하게 사용할 수 있을 것 같다
또한, 아직 완벽하게 익힌 것이 아니기 때문에 늘 강의 시간이 끝나고
집에서도 몇 번씩 연습하고 있지만, 하루에도 몇 번씩 연습하며
최대한 손에 익히는 것이 좋을 것 같다
'리눅스 마스터' 카테고리의 다른 글
리눅스 마스터 17 (0) | 2024.08.18 |
---|---|
리눅스 마스터 16 (0) | 2024.08.11 |
리눅스 마스터 14 (0) | 2024.08.04 |
리눅스 마스터 13 (0) | 2024.08.03 |
리눅스 마스터 12 (0) | 2024.07.29 |