더북(TheBook)

  9 smbclient를 이용해서 공유 폴더에 접속하고 파일을 내려받거나 올릴 수 있습니다. smbclient //[윈도 시스템의 주소]/[공유 폴더 경로] 형식으로 공유 폴더에 접속합니다. 접속에 성공하면 ls 명령을 비롯한 하위 명령을 사용할 수 있습니다.

administrator@server02:~$ smbclient //192.168.122.250/share
Enter administrator's password:
Domain=[WINVM01] OS=[Windows 7] Server=[Windows 7]
smb: \> ls
  .                                   DR      0 Mon Apr 21 03:11:33 2014
  ..                                  DR      0 Mon Apr 21 03:11:33 2014
  desktop.ini                         HS     75 Mon Apr 21 02:31:32 2014
  Koala.jpg                            A 780831 Tue Jul 14 13:52:25 2009
       51097 blocks of size 1048576. 40126 blocks available
Tip

smbclient에서 사용 가능한 하위 명령은 FTP 클라이언트인 ftp의 명령 목록과 거의 동일합니다. help 명령을 내리면 사용 가능한 명령 목록을 조회할 수 있으며, exit 명령은 smbclient를 종료합니다. 자세한 내용은 ‘누구나 사용할 수 있는 FTP 서버 운영하기’를 참고하세요.

하지만, 로컬 네트워크에서 이렇게 파일을 일일이 업로드하거나 다운로드하는 일은 무척이나 불편합니다. NFS처럼 마치 시스템에 존재하는 파일 시스템을 사용하듯이 마운트해서 사용하는 편이 편리합니다.

10 윈도 파일 시스템을 마운트하기 위해 cifs-utils 패키지를 설치합니다.

administrator@server02:~$ sudo apt-get install cifs-utils

11 윈도 공유 폴더를 마운트합니다. 마운트할 파일 시스템 형식을 cifs로 지정하고(-t cifs) mount -t cifs // [윈도 시스템IP 주소]/[공유 폴더 경로] /[마운트할 디렉터리 경로] 형식으로 입력합니다. 패스워드를 묻는데 역시 아직까지는 입력할 필요가 없습니다.

administrator@server02:~$ sudo mkdir /mnt/smbmount
administrator@server02:~$ sudo mount -t cifs //192.168.122.250/share /mnt/smbmount
Password:

12 df -h 명령으로 윈도 공유 폴더가 마운트된 사실을 확인할 수 있습니다.

administrator@server02:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
...
//192.168.122.250/share             50G   11G   40G  21% /mnt/smbmount

13 마운트된 디렉터리를 조회하면 윈도 공유 폴더에서 복사해둔 파일을 확인할 수 있습니다.

administrator@server02:~$ ls /mnt/smbmount/
desktop.ini Koala.jpg

하지만, 아직 공유 폴더에 파일을 복사해서 쓰는 작업은 할 수 없는데, 현재 사용자가 윈도 공유 폴더의 소유자가 아니기 때문입니다.

administrator@server02:~$ touch test_samba
administrator@server02:~$ cp test_samba /mnt/smbmount/
cp: cannot create regular file `/mnt/smbmount/test_samba': Permission denied

14 문제를 해결해봅시다. 우선 공유 폴더를 언마운트합니다.

administrator@server02:~$ sudo umount /mnt/smbmount/

15 공유 폴더를 다시 마운트합니다. 이때 -o 옵션을 추가해서 공유 폴더를 마운트하는 리눅스 시스템의 사용자가 누구인지 UID와 GID를 지정합니다( -o uid=1000,gid=1000).

administrator@server02:~$ sudo mount -t cifs -o uid=1000,gid=1000 //192.168.122.250/share /mnt/smbmount
이렇게 하세요!

사용자 계정의 UID와 GID는 id 명령으로 확인할 수 있습니다.

administrator@server02:~$ id administrator
uid=1000(administrator) gid=1000(administrator) groups=1000(administrator)

16 이번에는 파일 복사에 성공했습니다.

administrator@server02:~$ cp test_samba /mnt/smbmount/
administrator@server02:~$ ls /mnt/smbmount/
desktop.ini Koala.jpg test_samba

17 윈도 사용자 계정으로 인증 과정을 거쳐 공유 폴더를 사용하는 방법을 알아봅시다. 먼저 윈도 사용자 계정을 생성하고 비밀번호를 설정합니다.

[제어판] → ‘사용자 계정 및 가족 보호’ → ‘사용자 계정 추가 또는 제거’를 선택하고 ‘새 계정 만들기’를 클릭해서 새로운 사용자 계정 ‘Jaehun’을 생성합니다. 새 계정에는 관리자 권한을 부여합니다.

[제어판]에서 ‘사용자 계정 및 가족 보호’ → ‘사용자 계정’을 차례로 클릭하고 ‘사용자 계정 변경’ 항목에서 ‘사용자 계정에 대한 암호를 만듭니다.’를 선택합니다.

그림 7-28 사용자 계정 변경 항목

18 암호를 설정하고 확인을 위해 같은 암호를 한 번 더 입력합니다. <암호 만들기>를 클릭해서 암호를 생성합니다.

그림 7-29 사용자 계정 암호 만들기
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.