윈도우 <=> 우분투 를 samba 마운트 해서 사용중이다.

우분투 => 윈도우 samba 로 파일을 복사하는데 이상한 현상이 있다.

예를 들어 다음처럼 하면.

cp aaa.txt mount/
윈도우에서 aaa.txt 삭제

다시 복사
cp aaa.txt mount/
cp: 일반 파일 'aaa.txt'을(를) 생성할 수 없음: 파일이 있습니다

아마도 우분투에서 일종의 파일 캐시로 인해 그런것이 아닌가 한다.
그런데, 강제로 cp -a 를 해도 동일하다.

이렇게 해주면 또 된다.

cp aaa.txt mount/
에러 발생

touch mount/aaa.txt
cp aaa.txt mount/

이렇게 하면 정상 복사

윈도우에서 해당 파일을 삭제 후 재 복사를 하려고 하면 발생.

윈도우 마운트를 ver 1.0 으로 한 경우는 해당 현상이 발생하지 않는다.
위 현상은 ver 3 으로 한 경우.

옵션 설정으로 해당 현상을 해결 할 수 있을지는 체크해봐야 할 듯 하다.

일단 현상 정리.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 <=> 윈도우 의 경우는 심볼릭링크가 크게 상관없을 듯 하다.

그런데, 우분투 <=> 우분투 의 경우 samba 마운트 시에 symlink 유지여부가 SMB 버전마다 차이가 있는 듯 하다.

결론부터 이야기 하면 vers=1.0 으로 해야 유지가 되는 듯 하다.

//ubox-serv/data  /data/   cifs uid=ccex,gid=ccex,username=guest,password=,iocharset=utf8,vers=1.0  0  2
#//ubox-serv/data  /data/   cifs uid=ccex,gid=ccex,username=guest,password=,iocharset=utf8,noserverino 0  2

fstab 에 설정에서 위처럼 vers=1.0 으로 하는 경우만 symlink 유지됨.

SMB버전은 올리고, noserverinfo 등의 옵션은 안되는 듯 하다.

 

다른 해결 방법이 있을지는 추후 필요하면 정리.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투에서 윈도우10 의 공유폴더가 마운트 되지 않는다.

# mount win10-share
mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

위와 같은 메시지가 나오면서 연결이 안된다.

로그기록은 다음처럼 나온다.

 CIFS VFS: cifs_mount failed w/return code = -112

smbclient 로 연결해도 표시가 되지 않는다.

# smbclient -L win10-pc
WARNING: The "syslog" option is deprecated
Enter root's password: 
protocol negotiation failed: NT_STATUS_CONNECTION_RESET

윈도우10 에 삼바1 프로토콜이 기본 비활성화 되서 그런것이다.

실행 => appwiz.cpl 명령 실행  / 또는  설정 => 앱및기능 => 프로그램 및 기능

실행창 => 윈도우키+R
Windows 기능 켜기/끄기

위 이미지의 SMB 1.0 관련 설정을 켜준다.

ps. 우분투 버전에 따라 기본 samba 2 를 사용할 수도 있겠지만, 기존 사용하던 컴에서 연결이 안된 경우이다.

 

[추가]
위 단계를 처리하고, 다음과 같은 에러가 나온다면, https://blog.1day1.org/602 를 참조.

mount error(127): Key has expired

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투에서 윈도우의 공유폴더를 연결해 사용하고 있다.
그동안 별 이슈 없이 사용했던것 같다.

그런데, 윈도우 업데이트 후에 다음과 같은 에러가 발생하면서 연결이 안된다.

mount error(127): Key has expired

"키가 만료되었습니다" / NT_STATUS_ACCOUNT_DISABLED 등의 메시지가 보일 수도 있다.

mount 할때 guest 계정으로 연결하는데, 윈도우 업데이트 후에 해당 계정설정이 바뀐 듯 하다.

위 그림은 조치한 후에 화면이다.   활성계정 부분이 "예" 로 되어 있어야 하는데, "아니오" 로 되어 있었다.

net user guest /active:yes

로 활성화 해준다.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,


우분투 - samba 로 설정한 파일을 수정시 다음과 같은 에러가 발생하는 경우.

파일 작업 실패.
"다른 프로세스가 파일의 한 부분을 잠갔으므로, 프로세스가 해당 파일을 액세스할 수 없습니다."

우분투 8.04 를 사용하다가 10.04 로 업그레이드 했을때 위와 같은 에러가 발생하였다.

samba 옵션에 다음을 추가한다.

/etc/samba/smb.conf 의 global 섹션에 추가하면 된다.

strict locking = no



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 10.04 에서 samba mount 사용하기(fstab)


저의 개발환경 구성을 이렇게 하고 있다.(사정이 있어 기존 구성된 환경을 유지하려다 보니 복잡해 보인다)

                                                     [개발서버(소스)]  => 개발VM(nfs)    => web-dev
외부작업환경1)               윈도우 네트워크 드라이브 -> vm (smb)
외부작업환경2) (remote) -> sftp -> smb_mount -> vm (smb)

그에 맞게 작업환경을 꾸미다보니 sftp 로 직접 붙이려니 애매한 부분이 있었다.
그래서 중간에 smb mount 해서 사용하기로 했다.


1. samba 관련 설정. /etc/samba/smb.conf (설치 부분은 생략)

[httpd]
   comment = working dev httpd
   path = /work/httpd
   browseable = yes
   hosts allow = 127.0.0.1
   force user = www-data
   force group = www-data
   public = yes
   guest ok = yes
   writable = yes
   printable = no
   create mask = 0765
   directory mask = 0755

2. mount 에 필요한 패키지 설치

# apt-get install smbfs

  최신 우분투 버전은 cifs-utils 로 설치하는 듯 함.

3. /etc/fstab 에 다음처럼 항목 추가

//linux/httpd  /smb_mount/httpd  smbfs uid=user,gid=adm,password=,iocharset=utf8,noauto  0  2

예전버전에 codepage=cp949 등이 쓰였는데, 언제부터인가 옵션이 빠졌음. iocharset 만 추가

uid , gid 는 서버의 접근계정 아이디/그룹
password 옵션은 암호가 있으면 넣고, 없으면 그냥 빈란

4. 마운트

# mount /smb_mount/httpd

크게 어려운 부분은 없다.(자신에 맞게 환경설정은 변경)

해당위치로 /smb_mount/httpd 로 sftp 접근해서 파일을 직접 수정해서 작업한다.




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
Centos 에서 삼바를 설정하는데, 기존에 쓰는 우분투 설정과 같게 했는데도 다음과 같은 에러가 난다.
smbd[9726]: [2009/10/10 08:33:24, 0] smbd/service.c:make_connection_snum(1003)
smbd[9726]:   '/user/data' does not exist or permission denied when connecting to [httpd] Error was 허가 거부됨
삼바(/etc/samba/smb.conf) 설정을 이것저것 바꿔보는데도 별다른 진척이 없었다.

처음에는  접속이 안되길래 확인해 보니 /etc/sysconfig/iptables 의 방화벽이 막혀 있었다.
(해당포트를 열거나 방화벽 설정을 해제하면 되겠다. 개발서버용이라 방화벽을 껐다.)

혹시나 해서 Selinux 를 살펴봤다. Selinux 를 끄고 다시 해보니, 정상적이었다.
/etc/selinux/config 의
SELINUX=enforcing 으로 된것을  SELINUX=disabled  로 바꿔줬다.

SELINUX 를 제대로 활용하는 방법은 없나?
찾아보면 Centos 의 제일 먼저 나오는 팁이 Selinux 를 끄세요 라니...


# 다음 자료를 보고 적용해봐야 겠다.
http://wiki.centos.org/HowTos/SELinux
http://www.linuxtopia.org/online_books/centos_linux_guides/centos_selinux_guide/index.html
http://centos.pe.kr/owiki/index.php?url=centos&no=11


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
정확한 원인과 변동사항을 정확히 파악하지는 못했다.
이전 버전의 samba 설정으로 했을때 안되는 부분이 있다.

ubuntu 8.04 의 samba 는 3.0.28 버전이다. (예전버전은 3.0.22 이다.)

보통 사용하던 설정은
 security = user
 사용자 ID 체크
 작업공간 smb 설정
 security = share
 사용자 체크 NO(guest)
 공유공간 share
이런 형태였다.

설정에서 공통적인 부분이 있는데, 바로 
force user {user_id}
force group {group_id}
옵션이다.
이것이 8.04 에서 안 먹힌다.(samba 3.0.28)
[global]
security = user

[workspace]
path = /workspace
valid users = user
force user = nobody
force group = nobody
writeable = yes
public = yes
create mask = 0664
directory mask = 0775
위와 같은 설정에서 valid users 의 ID 와 force user 가 달라서 인지 안먹힌다.

설정을 바꿔보면서 되는 설정은 Guest / share 에서 force group 옵션을 빼니 작동한다.
[global]
security = share

[workspace]
path = /workspace
force user = nobody
writeable = yes
public = yes
guest ok = yes
create mask = 0664
directory mask = 0775
이런식으로 Guest / Share 에서 force user 만 넣어주니 원하는 동작을 한다.


삼바 3.0.28 버전으로 업그레이드 되면서 바뀐 변화인듯 싶다.
정확한 부분은 samba Changelog 를 뒤져봐야 겠다.
ubuntu 8.04 나오기전인 4월이전에 release 된 버전인 듯 하다.

samba 를 소스를 컴파일해서 사용하는 것이 아니라, 배포판에 있는 것 그대로 쓰기 때문에 버전이 어떻게 되는지 모르겠지만, samba.org 를 살펴보니
3.0.xx 버전 , 3.2.xx 버전 , 3.3.xx 버전, 3.4.xx 버전등 다양한 버전이 있다.
버전명을 보니 대충 linux kernel 버전과 비슷하게 정하는 듯 싶다.
현재 stable 버전은 3.2.4 버전이라고 한다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,