2019년 1월 15일 화요일

samba 와 winbind 충돌 문제

잘되던 삼바가 4.9 버전업을 하고 난 후부터 부팅 및 종료 시 에러 메시지가 나타나기 시작했다.
혹시나 하고 삼바 서비스를 재실행 해보니 에러가 발생했다.

# sudo systemctl start smb.service
Job for smb.service failed because the control process exited with error code.
See "systemctl status smb.service" and "journalctl -xe" for details.
로그파일은
[2019/01/15 02:02:34.769577,  0] ../source3/auth/auth_util.c:1382(make_new_session_info_guest) create_local_token failed: NT_STATUS_ACCESS_DENIED [2019/01/15 02:02:34.780321,  0] ../source3/smbd/server.c:2000(main) ERROR: failed to setup guest info.

몇일간 구글링을 통해 확인했늗네 winbind.service가 실행 중이면 에러가 발생한다는 사실을 확인했고 guest 계정이 언제 문제를 일으키는 거 같다. 아래 원문링크 참조
해결방안은 아래 명령어를 실행하자.


An easy way to fix it is by running the following command:
# net groupmap add sid=S-1-5-32-546 unixgroup=nobody type=builtin

https://lists.samba.org/archive/samba-technical/2018-September/130370.html
 

2019년 1월 13일 일요일

시놀러지 나스 원격 연결 (synology nas remote connection)

사무실에 시놀러지 나스 서버를 구축해 놓았는데 집에서 파일관리자를 통해 바로 접속이 가능하게 마운팅을 하는데 약간의 삽질이 있었다.

방법은 이전 글에 올린 원격에서 마운팅을 하는 방법과 같지만 옵션을 한개 더 추가해야한다.
SMB 프로토콜을 지정해야줘야하는데 사무실의 시놀러지 삼바 프로토콜 버전이 SMB1, SMB2로 설정되어 있다.
마운트에서 저 옵션의 기본값이 뭔지 모르겠으나, 나의 경우는 "vers =1.0" 를 사용해야 마운트가 작동된다.



iptime을 통해  포트포워딩이 되어있는 상태에서 명령어는 다음과 같다.

mount  명령어 이용

기본적인 mount 명령어를 이용하는 방법
# sudo mount -t cifs //linuxnsteam.iptime.org/home /mnt/nas -o port=999,username=nasuser,workgroup=WORKGROUP,uid=useraccount,vers=1.0


 파일관리자를 이용하는 방법은 실패
nautilus, pcmanfm 같은 파일관리자에서는 Ctrl+L 을 실행해서 주소창을 열고 주소를 적어줘야 하는데 저 옵션을 줄수가 없어서 연결이 안된다.  gvfs-smb 에서 옵션설정 방법을 알아봐야될듯.....

# smb://linuxnsteam.iptime.org:13999/home   <-- 옵션 vers=1.0 을 어떻게 줘야하나???

2018년 11월 5일 월요일

원격 삼바 접속 (remote samba connection)

리눅스 samba를 이용해서 로컬 네트워크에 연결된 컴퓨터간 파일을 공유하는 방법은 많이 알려져 있지만 원격 혹은 다른 네크워크에서 있는 samba 서버에 접속하는 방법은 찾기가 어려워서 직접 시도를 해보았다.

1. 포트포워딩
우선 원격 samba 서버는 iptime 공유기를 통해 사설IP가 할당되어 있으므로 공유기 자체 포트포워딩이 필요하다.
iptime 제품을 이용하면 도메인을 제공해주기 때문에 외부에서 공유기로 접속 시
<mydomain.iptime.org:포트> 형식으로 접속이 가능하고
그렇지 않다면 공유기에 할당되어 있는 공인IP를 확인한 후 접속을 시도해야한다.

본 공유기 포트포워딩 설정은 아래와 같다.
설정내용을 요약하면 삼바클라이언트가 공유기 13999 포트로 접속을 시도하면 삼바서버(192.168.0.18)의 내부포토 139번으로 포트를 포워딩해준다.
------------------------------------------------------------------
도메인 : steamnlinux.iptime.org
iptime 포트포워딩 외부포트 : 33333
iptime 포트포워딩 내부포트 : 139
삼바서버 내부 ip는 192.168.0.18 를 항상 할당받고 있다.
-------------------------------------------------------------------


2. 삼바설정
삼버서버는  Archlinux에 samba라는 폴더가 공유되어 있고 samba ID : samba, 비밀번호는 1111
삼버 서버 설정은 개인별 설정하기 나름이겠고, 로컬내트워크에서 다른 컴퓨터로 연결이 잘 되는지 확인해보자.

3. 삼바클라이언트 실행
3-1  기본적인 mount 명령어를 이용하는 방법
# sudo mount -t cifs //linuxnsteam.iptime.org/samba /mnt/samba -o port=13999,username=samba,password=1111,workgroup=WORKGROUP,iocharset=utf8,uid=useraccount

주의할 점은 옵션에서 포트설정이 제일 먼저 위치해야한다. 본인은 그러했다...
그리고 uid는 클라이언트의 현 계정을 지정해주면 읽기 쓰기 등 권한 문제가 없다.

3-2 파일관리자를 이용하는 방법
파일관리자에서는 Ctrl+L 을 실행해서 주소창을 열어서 아래 명령어를 실행
로그인 창이 뜨면 username ,password 등을 입력한다.
# smb://linuxnsteam.iptime.org:13999/samba


pcmanfm 이나 nautilus 같은 파일관리에서 간단하게 사용이 가능하나 문제는 읽기전용으로
인식을 해서 수정을 할수가 없다.
마운팅 시 기본적으로 UID 등이 본 계정으로 폴더나 파일의 소유권이 설정되는되도 수정이 안되고 생성된 파일이나 폴더가 안보이거나..하는 문제점으로 추천하지 않는다.




2017년 4월 27일 목요일

한글 기본프로그램 설정 (Default Application)


파일관리자에서 선택한 파일을 열거나 웹브라우저에서 다운로드한 파일을 클릭했을 때 연결되는 프로그램을 설정할수 있다.
mimeapps.list 라는 설정파일이 몇군데 위치하고 있는데 프로그램 종류에 사용하는 파일이 다른거같다.
그래서 로컬기준으로 해당파일을 모두 변경해주는 것이 편하다.
Hwp 을 예로 들면 파일관리자(spacefm)은 .config/mimeapps.list 를 참조하는 거같고
chromium에서 다운로드한 파일은 .local/share/applications/mimeapps.list 를 참조하는 같다.

PathUsage
~/.config/mimeapps.listuser overrides
/etc/xdg/mimeapps.listsystem-wide overrides
~/.local/share/applications/mimeapps.list(deprecated) user overrides
/usr/local/share/applications/mimeapps.list
/usr/share/applications/mimeapps.list
distribution-provided defaults


해당 파일을 수정하기 위해서는 hwp의 mime type 형식을 확인하고 현재 연결되어 있는 프로그램이 무엇인지 확인해볼 필요가 있다.
이를 위해서는  xdg-utils 라는 툴을 이용하면 편리하다.

# 파일의 mime-type을 확인하기. 예를들면 '리눅스.hwp'의 mime type을 알고싶다면..

$ xdg-mime query filetype 리눅스.hwp
application/x-hwp

# hwp 확장자의 mime-type이 application/x-hwp라는 것을 확인했다. 
#그러면 저 mime-type 이 현재 어떤프로그램과 연결되어 있는지 확인해보자.

$ xdg-mime query default application/x-hwp
libreoffice.desktop

# 리브레오피스로 지정되어 있는데 playonlinux로 설치된 한글에 연결해보자.
(hwp.desktop 등의 설정은 해놓았다고 가정한다.)

$ xdg-mime default hwp.desktop application/x-hwp

#이러면 .local/share/applications/mimeapps.list 에 mime-type이 추가된다.
#설정된 기본프로그램으로 hwp파일을 열어보자.

$ xdg-open 리눅스.hwp
참고로 이 외 웹브라우저 기본 설정 등은 아래와 같이 할 수 있다.
# shortcut to open all web MIME types with a single application
$ xdg-settings set default-web-browser firefox.desktop

# shortcut for setting the default application for a URL scheme
$ xdg-settings set default-url-scheme-handler irc xchat.desktop

만약 파일관리자(spacefm, pacmanfm) 등에서 hwp을 더블클릭을 했는데 한글이 실행되지 않을 경우에는 .config/mimeapps.list 를 직접 수정하든지 윈도우에서 하는거처럼 마우스오른쪽버튼을 클릭해서 속성을 변경해주면 된다.

.local/mimeapps.list
application/x-hwp=Hwp2104.desktop;hwp.desktop;




2016년 2월 14일 일요일

리눅스 linux pdf 합치기

PDFs 합치기

리눅스는 pdf 합치기 위한 특별한 프로그램이 불필요하다. 다른 프로그램 설치하면서 의존성문제로 나도 모르게 딸려온 팩키지 중에
아래 3개는 이미 설치가 되어 있었다. 간단한 명령어로 처리가 가능하며, 쉽고 유용한 정보이다.

1. pdfunite

만약 당신의 시스템에  Poppler 가 설치되어 있다면 "pdfunite"  라는 명령어 파일이 있을것입니다. 
이 명령어는 아주 빠르게 실행되지만 설정관련 옵션기능은 없으며, 내부에 하이퍼링크는 깨져버리는 문제가 있습니다.
대신 사용법은 심플합니다.

$ pdfunite input1.pdf input2.pdf input3.pdf output.pdf 

2. pdfjam

만약 LaTeX 및 pdfpages 를 설치했다면 "pdfjam" 명령어가 있을 것입니다. .

$ pdfjam input1.pdf input2.pdf input3.pdf -o output.pdf

pdfunite와 반대로 이것은 엄청난 양의 설정옵션이 있습니다. pdfjam --help 으로 확인해볼수있습니다.
예를 들면 페이지크기,  LaTex 서문 등 

그리고 다른 유용한 명령어들이 있습니다.
  • pdf90pdf180pdf27 rotate the pages of one or more PDF files. 
  • pdfflip reflects the pages of one or more PDF files.
  • pdfjam-slides6uppdfjam-slides3up convert PDF presentation slides to six-per-page or three-per-page for handout purposes.
이것들은 pdfunite 보다 다소 느릴수 있고 모든 하이퍼링크는 사라져 버립니다.

3. pdftk

pdftk는 Ghostscript 팩키지에 포함되어 있는 명령어이며 대부분의 리눅스에서 사용이 가능하다.
사용방법은 아래 처럼 단순하다.

$ pdftk input1.pdf input2.pdf input3.pdf cat output output.pdf

이것은 또한 많은 옵션을 가지고 있다.(see pdftk --help) 이것은 pdfunit 보다 약간 느리지만 그래도 
빠른편이다. 위의 다른 명령어와 달리 하이퍼링크가 보존되며 작동이 잘된다.

Comparison

pdfunitepdfjampdftk
ConfigurationNo configuration options.Lots of options. See pdfjam --help.Lots of options. See pdftk --help.
Speed0.200s1.297s0.293s
File Size718 KiB743 KiB774 KiB
HyperlinksInternal hyperlinks brokenGoneOK
Page FormatOriginal format is preserved.All pages are converted to the same format.Original format is preserved.


Conclusion

Given the comparison table above, I'd usually go for pdftk. The command is harder to memorize and generates the largest files, but it is very fast and preserves both original file format and hyperlinks.
For the cases where I need additional features like header injection, page numbering, presentation handouts and more, I'll usepdfjam.

2016년 1월 20일 수요일

리눅스 unzip 한글 문제

윈도우는 zip 압축시 파일명 등 코드페이지를 cp949 를 사용하다보니
유니코드(utf-8)를 사용하는 리눅스에서 압축해제시 파일명이 깨져보이게 된다.
압축해제 후 파일명을 convm 라는 툴을 이용해도 잘 안되는 경우가 많고
리눅스에는 반디집처럼 압축해제시 코드를 지정해주는 툴도 없다.
방법은 unzip 컴파일시 -O 옵션이 가능하게 패치 후 컴파일해줘야하는데
나같은 초보는 어렵다.
아치리눅스 경우 AUR에 unzip-iconv , unizp-natspec 라는 꾸러미가 별도로 지원되서
정식 unzip을 지우고 저 둘중 하나를 설치해준다.
다른 배포판의 경우 unzip -O 라는 옵션이 기본으로 지원되는거 같다.

압축파일 해제시 명령어는

-----------------------------------------------------
$unzip -O cp949 파일명.zip
-----------------------------------------------------

-O 옵션을 터미널상에서 매번 입력하기 귀찮거나 윈도우매니저의 단축메뉴에서 압축해제 옵션을 적용하기 위해서는
UNZIP 환경변수를 bashrc나 xprofile 등에 넣어서 부팅시 자동으로 활성화되도록 하자.

--------------------------------------------------------------------------------------
 export UNZIP="-O cp949"
 export ZIPINFO="-O cp949"
------------------------------------------------------------------------------------
xarchiver 에서도 잘된다.



samba 와 winbind 충돌 문제

잘되던 삼바가 4.9 버전업을 하고 난 후부터 부팅 및 종료 시 에러 메시지가 나타나기 시작했다. 혹시나 하고 삼바 서비스를 재실행 해보니 에러가 발생했다. # sudo systemctl start smb.service J ob for smb...