루트가 아닌 사용자로 Samba 공유를 마운트하는 방법


14

Ubuntu 10.04 데스크탑에서 루트 사용자 가 아닌 사용자 가 Samba 공유를 사용하는 방법을 자세히 설명하는 단계별 자습서가 있습니까?

참고 :이 새로운 것처럼 보이는 문제를 다루는 Google 검색에는 많은 스레드가 있습니다. Ubuntu 8.04 (또는 이전 버전의 smbfs)에서 작동했던 지침은 더 이상 작동하지 않습니다.

최신의 재현 가능한 것을 찾아야합니다.

답변:


13

홈 폴더에 삼바 공유를 쉽게 마운트하는 매우 유용한 도구는 SMBNetFS 입니다. 이 도구를 사용하면 가정의 마운트 지점을 통해 거의 모든 응용 프로그램으로 삼바 공유에 액세스 할 수 있습니다.

SMBnetFS 사용 방법 :

  • 패키지 관리자를 통해 패키지를 설치하십시오.
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf 표준 구성 복사
  • cp /etc/samba/smb.conf ~/.smb/smb.conf 삼바 구성 복사
  • mkdir ~/sambashare 또는 마운트 포인트의 다른 이름
  • smbnetfs ~/sambashare 마운트 포인트에 공유를 마운트

불행히도 사용 가능한 문서는 거의 없습니다. man smbnetfs옵션을 확인하고의 FAQ 파일을 참조하십시오 /usr/share/doc/smbnetfs.


자세한 단계는 +1입니다. gvfs Eclipse에서는 분명히 작동하지 않기 때문에 이것이 Eclipse에서 작동하기를 바랍니다. SMBnetFS가 smbfs와 어떻게 다른지 알고 있습니까?
Android Eve

2
SMBNetFS는 퓨즈를 사용합니다. 사용자가 fuse그룹 에 있는지 확인하십시오 .
Takkat

다시 +1! gfvs는 FUSE도 사용하지 않습니까? 내 그놈 데스크탑과 함께 사전 패키지 (gvfs)와 다른 점은 무엇입니까?
Android Eve

8

그놈을 사용할 때 간단히 smb : // url을 노틸러스에 입력하면됩니다. 일반적으로 gvfs-fuse 및 기타 gvfs 패키지를 설치해야 파일 브라우저를 사용하여 samba를 직접 마운트 할 수 있습니다. 또한 ~ / .gvfs 폴더에 마운트 된 모든 항목을 찾아야합니다. 이것은 다른 프로토콜 및 압축 파일 등에서도 작동합니다.

gvfs-mount smb://user@server/storage

나는 일식 및 다른 도구로 테스트했으며 작동합니다. gvfs-fuse가 설치되어 있어야합니다.


고맙지 만 Eclipse는 작동하지 않습니다. 나는 이것을 이미 시도했기 때문에 smbmount (smbfs 패키지의 일부인 mount.cifs에 대한 심볼릭 링크)에 대해 특별히 묻고있는 이유입니다.
Android Eve

2
그래서 이클립스는 집 디렉토리의 .gvfs에 액세스 할 수 없습니까? 내가 아는 한 모든 프로그램에서이 작업을 수행 할 수 있어야합니다. 틀린 점 있으면 지적 해주세요.
matthias.lukaszek

2

man mount원하는 옵션을 결정하는 데 도움이됩니다. Windows 시스템을 항상 사용할 수있는 경우 에 마운트를 추가하면 마운트됩니다 /etc/fstab. 옵션을 사용하여 사용자가 필요에 따라 파티션을 마운트 및 마운트 해제 할 수 있습니다 user,noauto. 다른 사람이 마운트 해제 할 수 있도록로 변경 user하십시오 users.

Autofs는 또한 삼바를 사용하여 주문형 마운트를 지원합니다. 주문은 언제 마운트 할 디렉토리에 따라 달라집니다. 개발 환경에서 성공적으로 실행했습니다.

편집 : 많은 사용자를 위해이 작업을 수행 해야하는 경우 autofs를 사용하여 마운트를 수행하는 것이 좋습니다. fstab을 변경할 필요가 없습니다. 다양한 사용자의 자격 증명을 얻는 것이 문제가 될 수 있습니다. /net/$HOST/$USER마운트 형태로 디렉토리 구조를 사용합니다 . Autofs는 /net/$HOST마운트 부분에 대해 구성 되며 필요에 따라 그 아래에 디렉토리를 자동으로 마운트합니다.

특정 장착 방법은 필요에 따라 다릅니다. 일반적인 마운트는 서버 기반이지만 사용자가 서버에 마운트 된 데스크탑 디렉토리가 필요한 경우가있었습니다.

사용자가 많은 대규모 조직의 경우 디렉토리를 Linux 서버로 이동하고 Samba를 사용하여 파일을 Windows 사용자와 공유하는 것이 좋습니다. 나는 그 반대를 시도하지 않았지만 가능할 수도 있습니다.


이것은 작동하지만 fstab을 변경하려면 루트 액세스 권한이 필요합니다. 루트 일지라도 각 사용자가 중앙 집중식 파일 서버에 개인 공유를 가지고있는 대규모 조직에서와 같이 많은 사용자가 마운트 할 특정 공유가있는 경우에는 비실용적입니다.

0

최근에 수행 한 마술을 연구하면서이 질문을 발견했습니다. 내 워크 플로는 다른 답변과 현저히 다릅니다. 그러나 이것은 가장 간단한 경우에 관한 것입니다.

사용자 이름이 ae있고 집이 있다고 가정/home/ae

1) smbfs를 설정하십시오.
mkdir /home/ae/.smb

1a) Windows 로그인 자격 증명이 필요한 경우 파일을 만들고 편집하여 /home/ae/.smb/smbnetfs.conf내용을 갖습니다.

auth winuser "winpassword"

winuser액세스하려는 Windows 컴퓨터에서 작성된 사용자입니다. winpassword해당 컴퓨터에서 Windows에 로그인하기위한 해당 사용자의 비밀번호입니다.

2) 마운트 지점을 작성하십시오.
mkdir /home/ae/nethood

3) smbnetfs 명령을 실행하십시오.
smbnetfs /home/ae/nethood


전체 "네트워크 환경"은 /home/ae/nethood하위 그룹의 첫 번째 계층 인 작업 그룹과 함께 표시됩니다 .

아래의 모든 목록은 우분투 호스트에서 권한이없는 사용자로 폴더를 탐색 한 결과입니다. 사용자 이름과 그룹이로 변경되었습니다 ae. sudo사용되지 않았습니다. Windows 컴퓨터는 비공식 Windows 네트워크에 있으며 공유 폴더는 사용자 / 암호로 보호됩니다 (Windows 사용자 이름 및 암호를 사용하는 Windows 컴퓨터에서).

$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae   ae     0 Dec 31  1969 .
drwxr-xr-x 9 ae   ae    21 Jul 28 11:49 ..
drwxrwxrwx 2 root root   0 Dec 31  1969 WORKGROUP

작업 그룹을 찾습니다 WORKGROUP.

$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root  0 Dec 31  1969 .
drwxrwxrwx 9 root root  0 Dec 31  1969 ..
lrwxrwxrwx 1 root root 11 Dec 31  1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31  1969 NEWPC -> ../NEWPC

디렉토리를 컴퓨터로 변경하면 공유 폴더가 정상적으로 나열되고 액세스됩니다.

$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31  1969 .
drwxrwxrwx 9 root root 0 Dec 31  1969 ..
drwxrwxrwx 2 root root 0 Dec 31  1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31  1969 Users

그리고 파일들 :

$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root     0 Dec 31  1969 .
drwxrwxrwx 2 root root     0 Dec 31  1969 ..
-rwxr--r-- 1 ae   ae    1.5K Jan 25  2013 Command Prompt.lnk
-????????? ? ?    ?        ?            ? desktop.ini
-rwxr--r-- 1 ae   ae    156K May 28  2013 Download %25285%2529.iif
-rwxr--r-- 1 ae   ae    2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae   ae     178 Feb  4  2013 import orders.bat
-rwxr--r-- 1 ae   ae    2.3M Mar 30  2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae   ae       0 May 20  2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae   ae    406K Jun  6  2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae   ae     15M May  8  2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae   ae    1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae   ae    1.1K Jul 24 12:31 VB Demo.lnk

위의 디렉토리에는 소유권이 root root있습니다. 파일 소유권은 사용자와 동일합니다.

마운트 지점이나 해당 폴더의 소유권 또는 권한에 관계없이 다른 사용자는 폴더에 액세스 할 수 없습니다. 사용자가 해당 폴더에 "쓰기"할 수 있고 비어있는 경우 smbnetfs는 네트워크 환경을 마운트하고 다른 사람도 액세스 할 수 없도록 root합니다. 대한 root액세스하려면 다음을 수행해야합니다 su ae.


공유 폴더가 없으면 컴퓨터의 디렉토리가 비어 있습니다.

Windows 컴퓨터에 대한 자격 증명이없는 경우 오류가 발생할 수 있습니다.
ls: cannot open directory .: Input/output error

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.