Contents

리눅스 Samba 서버, NTFS 퍼미션

   Mar 24, 2023     6 min read

Samba

  • 삼바는 리눅스와 윈도우간에 파일 및 프린터를 공유 할 수 있게 해주는 프로그램이다.
  • 삼바를 통해 리눅스 서버를 타운영체제와 파일을 공유할 수 있는 파일서버로도 사용할 수 있다.
  • 이와같이 삼바가 공유할 수있는 이유는 SMB(Server Message Block)/CIFS(Common Internet File System)라는 프로토콜을 이용함으로써 가능해졌다.

SMB

  • SMB(Server Message Block)는 마이크로소프트사와 인텔이 윈도우 시스템이 다른 시스템의 디스크나 프린터와 같은 자원을 공유할 있도록하기 위해 개발된 프로토콜이다 . TCP/IP 기반하의 NetBIOS 프로토콜을 이용하기 때문에 이 프로토콜은 NFS, NIS, lpd 와 같은 유닉스의 분산인증구조와 유사하다. 따라서 윈도우 중심의 네트워크 환경에서는 리눅스를 이용한 공유시스템에서는 SMB가 필수적이다.

CIFS

  • CIFS(Common Internet File System) 는 네트워크를 위한 SMB 파일 공유 프로토콜의 확장된 버전이며, 윈도우와 유닉스 환경을 동시에 지원하는 인터넷의 표준 파일 규약의 프로토콜이다. CIFS는 이전의 폐쇄적인 SMB 프로토콜과는 달리 CIFS 규약 정의는 여러 유닉스 업체의 참여하여 결정된 내용이기 때문에 삼바도 버전이 올라감에 따라(삼바 버전 2.2 이상) CIFS 규약을 잘 준수하여 안정성이 상당히 향상 되었다.

기본 구성

Untitled

리눅스 -> 윈도우 폴더에 접근하기

Untitled (1)

윈도우 서버

  • user1 사용자 생성
c:\share01(all) -→ 공유, 퍼미션 : everyone/full
또는
c:\share02(all) -→ 공유, 퍼미션 : administrator/full
또는
c:\share03(all) -→ 공유, 퍼미션 : user1/full



linux 클라이언트

# rpm -qa | grep samba

# yum -y install samba

# smbclient -L 192.168.189.181


# mkdir /dir1
# mount //192.168.89.181/share01 /dir1
root 암호입력!!

또는
# mkdir /dir2
# mount -t cifs //192.168.189.181/share02 /dir2 -o username=administrator,password=wa@X.COM

또는
# mkdir /dir3
# mount -t cifs //192.168.189.181/share03 /dir3 -o username=user1,password=wa@X.COM



  • 접근 에러 시
    xp - Guest 계정 활성화
    2000/2003/2008서버 : 접근하는 linux 의 root 계정과 같은 암호일 필요는 없다!(★)

  • 윈도우즈 공유 폴도 접근 구성하기 (생략 가능)
# vi /etc/samba/lmhosts
127.0.0.1 localhost
192.168.189.181 winxp



Ex. 리눅스 -> 윈도우

Untitled (2)

윈도우 서버 방법

Untitled (3)

Untitled (4)

Untitled (5)

Untitled (6)

리눅스 클라이언트 방법

Untitled (7)

# rpm -qa | grep samba
# mount /dev/hdc /cdrom
# yum -y install samba
# smbclient -L 192.168.10.2



Untitled (8)

# mkdir /dir1
# mount //192.168.10.2/share01 /dir1
wa@X.COM

# mkdir /dir2
# mount -t cifs //192.168.10.2/share02 /dir2 -o username=administrator,password=wa@X.COM

# mkdir /dir3
# mount -t cifs //192.168.10.2/share03 /dir3 -o username=user1,password=wa@X.COM



결과

Untitled (9)

  • 윈도우에서 각자 share 01, 02, 03에서 각자 파일을 만들고 리눅스에서 잘 mount 됐는지 확인하면 된다.

Untitled (10)

윈도우 -> 리눅스 폴더 사용하기 (Samba)

  • 보안을 고려하지 않는 경우
    security = shareuser (default)serverdomain <-101행

명령어내용
-d삼바 유저 사용 정지
-s삼바 유저 다시 사용
-n비밀 번호를 설정하지 않음
-x유저 삭제



# useradd [-s /sbin/nologin] linuxuser < -- 삼바 계정 만들기
# smbpasswd -a linuxuser < -- 삼바 암호 만들기
# smbpasswd -n linuxuser <-- 비밀번호 설정하지 않음
# smbpasswd -x linuxuser <-- 삼바유저 삭제하기



Linux 서버

# rpm -qa | grep samba

# mount /dev/hdc /cdrom
# yum -y install samba

# mkdir /share
# chmod 707 /share/
# vi /etc/samba/smb.conf  
[공유이름ex.share]  // 제일 마지막 줄에 입력
path = /share
public = yes
writable = yes
browseable = yes

# service smb restart

# testparm /etc/samba/smb.conf

# useradd user1
# smbpasswd -a user1

# smbstatus



윈도우 클라이언트

  • 실행 -> \192.168.89.191
  • 전체네트워크 -> 워크그룹 -> 삼바공유 -> printer 공유 와 폴더 공유 보임
  • http://localhost:631
  • net use * /delete (★)

Ex. 윈도우 -> 리눅스

Untitled (11)

결과

Untitled (12)

잘 마운트 된 것을 확인할 수 있다.

samba 구성파일

  • system-config-samba 를 이용하거나, 웹에서 접속해서 삼바 서버를 설정하는 것은 결국 /etc/samba/smb.conf 파일을 수정하기 위한 것이다.

  • # vi /etc/samba/smb.conf

옵션설명
commnet간단한 설명을 설정
path공유 디렉터리의 경로를 설정
read only공유 디렉터리를 읽기 전용으로 설정
writable, write ok공유 디렉터리를 쓰기 가능하게 설정
valid users공유 디렉터리를 이용할 수 있는 사용자를 지정
write list공유 디렉터리에 접근 및 쓰기 권한을 행사할 수 있는 사용자를 지정함. 그룹인 경우에는 @를 붙임.
public, guest ok다른 사용자들이 이용할 수 있도록 설정할 때 사용
browseable, browsable공유 디렉터리의 리스트를 보여줄 때 설정
printable공유 디렉터리에 스풀 파일을 지정할 때 사용함
create mask, create mode파일을 생성할 때 허가권을 지정할 때 설정



  • [share1] user3은 공유폴더 접근 및 읽고, 쓰기 가능한가?
comment = share1 
browseable = no 
path = /share1
writable = yes
read list = user1 



  • [share2] user3은 공유 폴더에 쓰기 불가능한가?
comment = share2
browseable = no 
path = /share2 
writable = no 
write list = user2 유저ID 유저ID ...



  • [share3] user3은 공유폴더에 접근 불가능한가?
comment = share3
browseable = no
path = /share3
writable = no
valid users = user1 user2



  • 참고
\\IP주소\share1
\\IP주소\share2
\\IP주소\share3

net use * /delete (★)



NTFS 퍼미션

Untitled (13)

  • Full Control
    Change permissions, take ownership, and perform the actions permitted by all other NTFS file permissions

  • Modify
    Modify and delete the file and perform the actions permitted by the Write permission and the Read & Execute permission

  • Read & Execute
    Run applications and perform the actions permitted by the Read permission

  • Write
    Overwrite the file, change file attributes, and view file ownership and permissions

  • Read
    Read the file and view file attributes, ownership, and permissions

  • List Folder Contents
    View the names of files and subfolders in the folder

What Are Effective Permissions on NTFS Files and Folders?

Untitled (14)



NTFS

Untitled (15)

Ex. NTFS

Untitled (16)