Netatalk2-AppleTalk 파일 서버 도입


지금까지,Samba2 ()Netatalk1.* 사이에 일본어로의 교환을 실시하려면 문자 코드에CAP ()를 이용해 왔습니다만, 제한이 많아,Linux EUC 환경하에서는 문자가 변해를 일으켜, 삼자 사이에서의 일본어 의 노선연장은 할 수 없었습니다.


RHL FedoraCore1 ()로부터UTF-8 ()를 채용했기 때문에,Windows ()과의 일본어 환경에서 교환을 실시할 수 있게 되었습니다.OS-X UTF-8 이다 모아 두어OS-9 Shift-JIS 마저 어떻게든 되면, 일본어로의 Linux / OS-X / MacOS /Windows 의 상호 연결 운행 환경이 간신히 실현되게 됩니다.


여기에서는, 일본어로의 Linux / OS-X / MacOS /Windows 의 상호 연결 운행 환경을 구축하는 일을 목적으로 하고 있습니다.



Netatalk 인스톨


그렇다고는 하지만, FC2 ()로부터 공급된다rpm 패키지의Netatalk 그럼 대응할 수 없습니다.소스에 패치를 맞혀 소스로부터 인스톨 하는지,FC2 srpm (소스 패키지)()를 참고에 패치 파일을 작성해,rpm 파일을 작성할 필요가 있습니다.


rpm ()를 작성하는 것보다 소스로부터 인스톨 하는 것()이 락 이고, 업데이트 툴의 영향을 받지 않기 때문에 소스로부터 인스톨 하는 것()을 추천합니다.


포착
패치 처리가 귀찮은 경우는, 이쪽에서 패치제패키지가 배포되고 있었습니다.
인스톨 후로 설정 파일을 수정할 뿐(만큼)이므로, 편합니다. (시험하지 않았습니다 )
설정 파일은,FC2 패키지와 같을,/etc/atalk 됩니다.
http://wiki.fedora.jp/?Rpms%2Fnetatalk


스스로 대응판rpm ()를 작성하는 경우는,FC2 의 업데이트 디렉토리로부터 최신의 소스 패키지를 입 손 해, 여기서 배포되고 있는 패치 파일을 spec 파일에 기술하는 것으로rpm 패키지를 작성합니다.


다만,apt () yum 업그레이드를 실시하면 고쳐 쓸 수 있어 버리므로 주의가 필요합니다. 업그레이드 대상에서 제외하는 경우는,spec 파일로 버젼명은 다른 것으로 하지 않으면, 업데이트를 실시하면 또 최초부터 다시 할 필요가로라고 와 .상기로 배포되고 있는 패키지도 패키지명을 바꾸도록(듯이) 배려되고 있습니다.


도입에 임해 아래와 같은  고고! 막지 타스쿠씨 의 사이트를 참고에 했습니다.


netatalk2 & samba3


OS 사이의 문자 코드에 대해서, 패치 파일의 입수처 EUC 파일명으로부터 이행때의 주의점 등, 매우 정중하게 소개되고 있습니다.


게다가 특수 문자에 관한 문제를 극력 회피할 수 있습니다.DTP 출력 관련의 업계에서는,MacOS 하지만 필요하게 되는 케이스도 있는 것으로, 매우 유용한 정보입니다.


상세한 것에 대하여는 그 쪽을 참조 받는다고 하여 FedoraCore2 그리고 다른 점 붙어 정리하고 있습니다., 여기에서는 최초부터UTF8 환경에서 구축하기 때문에EUC-JP ()로부터의 이행에 대한 문제에 대해서는 채택하고 있지 않습니다.신규 도입입니다.


FedoraCore2 의 경우


*       FedoraCore2 의 경우,gilbc 됩니다.CP932 패치에 관해서는 현행 버젼으로 대응제이므로, 패치를 맞힐 필요는 없습니다.


*       Samba3 에 관해서도, 대응 버젼의 gilibc 그리고 인스톨 되기 위해FC2 패키지를 사용할 수 있으므로 그대로 이용할 수 있습니다.


*       Berkeley DB 도 현행 버젼으로 대응할 수 있기 때문에, 콘피그오프션은 필요 없습니다.자동으로 인식되었습니다.
BerkeleyDB
패스 /usr/include/db4


*       OpenSLP 에 관해서도 패키지가 준비되어 있으므로 그것을 이용했습니다.
(ip
주소로 접속을 할 수 있습니다.TCP 온리로 회화합니다.)



이번 사용한 콘피그오프션에 대해


tar ()를 전개해, 이하의 옵션으로 인스톨 합니다.


--sysconfdir=/etc


--with-did=cnid
cnid (
)를 유효하게 합니다.전회 접속한 로그인 정보를 불가시 파일로
보존합니다.


--with-pam --with-shadow
pam
인증 및shadow 패스워드를 유효하게 합니다.


--with-flock-locks


--with-ssl-dir=/usr/lib
DHX
암호화에 필요하게 됩니다.DHX SSL ()를 이용하고 있습니다.AppleShare 의 버젼에 의해서,MAC 옆의DHX 의 취급은 다릅니다. MAC OS 의 버젼에 따라서는 사용할 수 있다AppleShare 의 버젼의 폭이 넓은 것이 있기 때문에,OS8.6 이전의 인증 시에는 주의가 필요할지도 모릅니다.


--enable-redhat
redhat fedora
의 경우 지정합니다.기동 스크립트등 환경에 맞추어 줍니다.


--enable-srvloc


--with-logfile=/var/log/netatalk.log
로그를 지정합니다.지정이 없으면message 로그에 출력됩니다.지정했을 경우는 양쪽 모두에 출력합니다.


소스로부터 인스톨 했을 경우, 디폴트의 설정 파일의 디렉토리는 /etc/netatalk 됩니다. 다음은 설정을 실시합니다.


소스로부터 인스톨 했을 경우, 디폴트의 설정 파일의 디렉토리는 /etc/netatalk 됩니다. 다음은 설정을 실시합니다.


FedoraCore 4 / CentOS 4  2005/7/20 보충
※FC4
그렇지만 동작을 확인했습니다.다만,atalkd 에 대해서는 kernel 하지만 대응하고 있지 않는 것 같고 동작하지 않습니다.프로토콜은TCP 온리가 됩니다.


※CentOS4 FC2 같이 셋업에 문제는 없었습니다.원래CentOS4 에는Netatalk 패키지는 준비되어 있지 않습니다.


FC2 그럼, 카피중에 에러 나오는 것이 없고, 매우 안정되어 있었습니다만, 나의 환경에서는 FC4 CentOS4 ()라고도 (2.0.3 ) 빈번히 에러가 발생하게 되었습니다.


1.4x 그리고CAP ()를 사용하고 있었을 무렵에 자주() 경험한 저것입니다.시스템 불가시 파일, 디렉토리,gcc 의 차이는 아닌 것 같고, 원인은 알고 있지 않습니다.FC4 ()는 클린 인스톨입니다.


 


 


 


 


 



Netatalk-2 설정 파일 구성과 수정



Netatalk2 설정 파일의 구성


설정 파일은 이하로 구성되어 있습니다.


*       netatalk.conf (AppleShare 서버 전체의 설정 파일)


*       afpd.conf (TCP 그리고 connection를 맡는 demon의 설정)


*       atalkd.conf (AppleTalk 그리고 connection를 맡는 demon를 설정)


*       AppleVolumes.default ( 공유의 설정을 실시한다)


*       papd.conf ( 프린트 서버-에 관한 설정)


문자 코드에 관한 설정과 공유 설정에 대해 나누어 설명합니다.



문자 코드에 관한 설정


소스에 패치를 맞혔을 경우와 패치 적용제의 패키지를 이용했을 경우로 패스가 다릅니다.


/etc/atalk/ 패치 적용제패키지를 인스톨 했을 경우


/etc/netatalk/ 소스에 패치를 맞혔을 경우


afpd.conf


이하를 덧붙여 씀 합니다.


afpd.conf


- -uamlist uams_clrtxt.so,uams_dhx.so -savepassword -maccodepage MAC_JAPANESE -unixcodepage UTF8


MAC_JAPANESE MAC OS 옆이 사용한다SHIFT_JIS 의 확장 문자 코드입니다.cjk-patch ()를 맞히는 것으로 이용 가능하게 됩니다.


UTF8 Unix 옆의 문자 코드로Fedora ()로부터EUC_JP ()로부터UTF8 ()를 사용하도록(듯이) 변경이 되어 있습니다.이것에 의해,UTF8/16 ()를 사용한다Windows ()과의 교환이 가능하게 되어 있습니다.


netatalk.conf


이하를 수정합니다.


netatalk.conf


ATALK_MAC_CHARSET='MAC_ROMAN'
ATALK_UNIX_CHARSET='LOCALE'
이하로 변경
ATALK_MAC_CHARSET='
MAC_JAPANESE'
ATALK_UNIX_CHARSET='
UTF8'


OS9 의 경우, 올바르고cjk 패치가 맞지 않았다고 로그인할 수 있어도 그레이 표시로 액세스권이 없으면 혼납니다.그 경우, 로그로 지정한 문자 코드는 사용할 수 없는 취지의 메세지가 기록되고 있습니다.


atalkd.conf


복수의 인터페이스를 가지는 경우는,AppleTalk 네트워크가 접속되고 있는 인터페이스를 지정할 필요가 있습니다.eth0 () eth1 의 두 개의 인터페이스가 있어, 클라이언트가eth1 측에 접속되고 있는 경우는 이하와 같이 덧붙여 씀 합니다.하나의 경우는 수정의 필요는 없습니다.


atalkd.conf


eth1



Samba3 노선 연장해에 관한 설정.


FedoraCore2 에 부속되는 패키지에서는CP932 대응제 glibc 의 위에 인스톨 되고 있기 때문에 설정 파일을 수정하는 것만으로 끝납니다.


글로벌 파라미터에 이하를 덧붙여 씀 합니다.


smb.conf


[global]


dos charset = CP932
unix charset = UTF-8
display charset = UTF-8


이상으로 기본적인 설정은 종료입니다.atalk 의 기동 로그에 에러가 없으면, 이 설정으로 접속할 수 있습니다.AppleVolumes.default 의 디폴트 디렉토리는 ~ ( 치르다) 되고 있어 유저의 홈 디렉토리를 마운트할 수 있을리입니다.


확인 때문에,samba unix mac ()과 일본어 문자의 파일이나 디렉토리를 작성해, 일본어가 올바르게 표시되고 있든가 확인해 주세요.


다음은 네트워크, 프로토콜의 설정을 실시합니다.


 


 


 



Netatalk-2 프로토콜에 대해



사용하는 프로토콜에 대해


MAC OS ()로부터 접속하려면AppleTalk ()TCP 2통의 접속의 방법이 있습니다. 어느 쪽인지가 사용할 수 있으면, 목적은 달성됩니다.


AppleTalk 그리고Unix ()과 통신을 실시하고 싶은 경우는,kernel 레벨로 대응하고 있을 필요가 있습니다만,TCP 의 경우는kernel 에 의존하지 않습니다.


양자의 프로토콜에는 이하의 특징이 있습니다.


*           AppleTalk ( atalkd )


*                                   실렉터로부터 표시로부터 서버가 아이콘으로 표시되어 종래의MAC-OS 오퍼레이션 이와 같이 취급할 수 있습니다.그러나,AppleTalk ()는 늦습니다.100 baseT 그렇지만10baseT 의 속도도 나오지 않습니다., 서비스 기동에 이상하게 시간이 걸립니다.


*           TCP ( afpd )


*                                   접속 시에 서버의IP 주소를 입력합니다.종래와 같이 아이콘으로 나타내지지 않습니다만, 쇼트 컷을 작성하면 간단하게 액세스 할 수 있습니다.( 어느 경우도 쇼트 컷을 만들고 있는 사람이 많다고 생각합니다만, ,)


*                                   , 통신이 고속으로.그렇다고 할까AppleTalk 프로토콜 자체가 너무 늦으므로 겨우 보통 속도가 된 말하는 것이 정답일지도. 특히 가벼워서 양이 있는 경우 등 패킷 로스가 발생하기 쉬운 통신(정도)만큼,AppleTalk ()과 차이가 납니다.


*                                   TCP 때문에 래퍼 경유로 기동시킬 수도 있고,atalkd demon와 달라, 속공으로 서비스가 기동합니다.즉 메리트 투성이입니다.


문자 코드에 관한 설정과 공유 설정에 대해 나누어 설명합니다.



TCP connection에 통일한다


이것들은 afpd / atalkd 의 각각 다른 프로세스가 맡고 있습니다.설정도 afpd.conf atalkd.conf ()과 각각 설정을 실시하지 않으면 안됩니다.TCP(afpd) 에 통일, 한정하고 싶은 경우는 atalkd ()를 무효로 할 수 있습니다.


/etc/netatalk/netatalk.conf


ATALKD_RUN=no


()로 하면atalkd demon는 기동하지 않게 됩니다.


,OpenSLP ()를 도입하면,TCP connection에서도 AplleTalk 의 오퍼레이션과 같게 네트워크 브라우저의 로컬 네트워크에 아이콘으로 표시되게 됩니다.FC2 에는 "OpenSLP-0.1.2" 패키지가 준비되어 있습니다.필요가 있으면 인스톨 해 주세요.


 


 



Netatalk-2 공유 설정에 대해(AppleVolumes.default )



공유 설정에 대해(AppleVolumes.default )


유저( 그룹) 에 대해서, 어느 디렉토리를 공유할까는 AppleVolumes.default 그리고 설정을 실시합니다. 디폴트에서는 " ~ " 치르다가 되고 있어 유저의 홈 디렉토리가 유저에 대해서 마운트 할 수 있게 되어 있습니다.


서로 유저 디렉토리를 마운트시킬 필요가 있는 경우는 코멘트합니다.


/etc/netatalk/AppleVolumes.default


# ~


기본적인 서식의 포맷은 이하와 같습니다.


[ 공유 디렉토리의 절대 패스] [" 공유명"] [ 옵션]


공유명은 "" 다브르크트로 둘러싸는 것이 추천 되고 있습니다.


허가 유저는allow 옵션으로 지정합니다.사이는 스페이스 또는tab 그리고 단락짓습니다.이하에 예를 듭니다.


설정예


/home/hanako "Hanako Job" allow:hanako,@crezero
/home/taro "Taro Job" allow:taro,@crezero
/home/korogi "Korogi Job" allow:korogi,taro
/Phase/projects/A "A
프로젝트" allow:@project_A
/home/projects/B "B
프로젝트" allow:@project_B


@ (@ 부호)()는 유저명과 그룹명을 식별하기 위한의 것입니다.allow 그리고 지정하는 유저 및 그룹은 , (콤마)()로 단락짓습니다. allow 그리고 지정된 유저는 모든 조작이 허가됩니다.


상기의 설정예로, 이하와 같이 가정했다고 합니다.


*       crezero 그룹 에는 hanoko taro 만이 소속해 있다.


*       projectsA 그룹 korogi hanako 하지만 소속해 있다.


*       project_B 그룹에는taro 밖에 소속하지 않았다.


이 예에서는


*       hanako 하지만 접속할 수 있는 것은 "Hanako Job" "Taro Job" "A 프로젝트"


*       taro 하지만 접속할 수 있는 것은 "Taro Job" "Hanako Job" "B 프로젝트" "Korogi Job"


*       korogi 하지만 접속할 수 있는 것은 "Korogi Job" "A 프로젝트"


그렇다고 하는 것이 됩니다. ? 션은, 루트 디렉토리에 따르는 일에 주의합니다. 기존의 프로젝트에 유저를 참가 찌를 수 있던 차면, 그룹에 유저를 등록하면 좋게 됩니다.무엇보다 심플한 예입니다



그 외의 설정예


이하, 사용 빈도의 높다고 생각되는 설정에 대해 다루어 둡니다.서식은allow 옵션과 같고 유저, 그룹에서 지정합니다.


deny


특정의 유저, 그룹을 금? 합니다.
례 deny:taro,hanako,@crezero


rolist


특정의 유저, 그룹에 읽을 봐를 허가합니다.
례 rolist:taro,hanako,@crezero


rwlist


특정의 유저에게 읽어들여, 기입만을 허가합니다.
례 rwlist:taro,hanako,@crezero


veto


/tmp 등 톱 디렉토리에 작성된다 "lost+found" 폴더를Netatalk 그리고 반대 표시로 하려면 ,veto 옵션을 사용합니다.
례 veto:/lost+found/


AppleTalk 그리고 공유 설정을 실시할 수 있으면, 다음은Samba3 ()과의 노선연장을 생각합니다.


 


 



Samba ()과의 노선연장 설정에 대해



Samba ()과의 제휴 설정에 대해


Samba ()과 노선 연장하기 위해서는,Samba 의 공유 설정에도 궁리가 필요하게 됩니다.
이쪽은 공유 디렉토리에 대해서, 강제적으로 쓰는 유저, 그룹 파? 션을 강제 지정할 수 있습니다.


나의 경우, 동작 검증을 위해서 복수의OS ()로부터 같은 파일을 편집하는 것이 많아, 같은 권한으로 액세스 할 수 있는 것이 형편이 좋기 때문에,Samba 옆에서는 강제적으로 소유권과 파? 션을 지정하도록(듯이) 하고 있습니다.


Windows 파일 서버 구축 그리고 설명하고 있으므로 참고로 해 주세요.


Samba 옆에서 캐릭터 세트를 지정해 두어 주세요. 여기서 설명 하고 있습니다.



Netatalk 그리고 작성되는 폴더를 비표시로 한다


smb.conf [global] 섹션에 이하를 기술하는 것으로,Netalk 하지만 생성하는 시스템 파일을 비표시로 할 수 있습니다.


/etc/samba/smb.conf


[global]
veto files = /Temporary Items/Network Trash Folder/TheVolumeSettingsFolder/


[ 주의 ]
.Apple* (
) veto 지정에 포함해 버리면, 그룹 권한이 있어도,MAC OS ()로부터 쓴 파일·폴더가 Windows(Samba) 옆으로부터 삭제 할 수 없게 됩니다.
원래 피리오드로부터 시작되는 파일, 디렉토리는 불가시 취급이므로, 피리오드로부터 시작되는 파일, 디렉토리는 설정의 필요가 없습니다.



게스트 공유에 대해


AppleShare 의 공유에는 게스트라고 하는 설정이 있습니다.유저 어카운트 필요로 하지 않는, 같은 네트워크로 연결되어 있으면 누구나가 접속할 수 있는 공유 설정의 일입니다.


자유롭게 액세스 할 수 있고, 모든 권한이 주어지고 있는 공유 디렉토리를Windows ()Mac 그리고 노선 연장하면 노트 PC LAN 에 접속하는 것만으로 데이터의 교환이 되어있어 편리합니다.하나 진함 라고 일어납시다.


afpdconf 에 빨강으로 나타내 보인 개소를 덧붙여 씀 합니다.


/etc/netatalk/afpd.conf


- -uamlist uams_clrtxt.so,uams_dhx.so,uams_guest.so -savepassword -maccodepage MAC_JAPANESE -unixcodepage UTF8


netatalk.conf 그리고 게스트 유저가 지정되어 있을 필요가 있습니다.
디폴트는 nobody 입니다.


/etc/netatalk/netatalk.conf


AFPD_GUEST=nobody


AppleVolumes.default 그리고 이하와 같이 지정합니다.


/etc/netatalk/AppleVolumes.default


/phase/pub " 퍼블릭"


여기서 지정된 디렉토리가AFPD_GUEST= 그리고 지정된 소유자가 일치했을 경우, 게스트 접속이 가능하게 됩니다. /phase/pub 의 유저, 그룹은nobody ()로 설정합니다.
어카운트 없음으로 접속할 수 있게 됩니다.


통상의 유저가 접속했을 경우는, 게스트 공개된 디렉토리도 표시되어 접속 가능합니다.이 때, 쓰면nobody ()가 아니고, 쓴 유저의 권한이 됩니다만, 게스트 디렉토리는, 통상의 공유 디렉토리와는 달라 누구라도 삭제 할 수 있는 권한이 되는 것 같습니다.


Samba


samba 곳의 게스트 디렉토리를 노선 연장하는 경우는,smb.conf 의 디렉토리 공유 설정으로


force user = nobody


()로 해,nobody 유저에게 강제할 필요가 있습니다.물론Windows ()로부터 쓴 본인도 삭제할 수 있도록, 소속하는 그룹을 강제할 필요가 있습니다.


이상입니다.

Netatalk & Appletalk Protocol (일본어번역)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다