(SF의 크로스 포스트, 나는 거기서 별로 기쁨을 얻지 못합니다)
CentOS 6.2 시스템이 실행 중이고 인터넷의 다양한 방법을 사용하여 /mydomain 폴더 아래에 Windows 공유를 자동으로 마운트하도록 autofs를 구성했습니다. 구체적으로 세 가지 파일이 있습니다.
/etc/auto.master
# ...
/mydomain /etc/auto.mydomain --timeout=60
# ...
/etc/auto.mydomain
* -fstype=autofs,-DSERVER=& file:/etc/auto.mydomain.sub
/etc/auto.mydomain.sub
* -fstype=cifs,uid=${UID},gid=${EUID},credentials=${HOME}/.smb/mydomain ://${SERVER}/&
이는 작동하며 각 사용자가 홈 디렉터리 아래의 파일에 자신의 자격 증명을 지정할 수 있습니다.
그러나 생성된 마운트는 제한 시간에 도달할 때까지 원래 사용자의 자격 증명을 사용하는 모든 사람이 사용할 수 있습니다. 이는 이상적이지 않으므로 다음 중 하나를 시도하려고 생각했습니다.
- 마운트가 각 사용자에게 로컬이지만 동일한 경로에 있으므로 사용자가
/mydomain/server1
자신의 자격 증명을 사용하여 동시에 액세스 할 수 있도록 autofs를 구성합니다. - 탑재 지점이 각 사용자의 홈 폴더 아래에 있으므로 각 사용자가
~/mydomain/server1
자신의 자격 증명을 사용하여 동시에 액세스 할 수 있도록 autofs를 구성합니다. - 마운트가 사용자가 명명한 폴더 아래에 있도록 autofs를 구성하여 사용자가 자신의 자격 증명을 사용하여 둘 다 액세스할 수 있도록 합니다 (그러나 지정된 $USER가 0700인지도
/mydomain/$USER/server1
확인해야 합니다 )./mydomain/$USER
지금까지는 #1을 수행할 방법이 없지만 #2 또는 #3의 경우 키가 작동하거나 작동하지 않도록 /etc/auto.master의 항목을 변경해 보았습니다. ${HOME}/mydomain
( /mydomain/${USER}
첫 번째 항목에는 일치하는 항목이 표시되지 않습니다. /var/log/messages
, 두 번째 것은 변수 대체를 수행하지 않는 것 같습니다).
나는 분명한 것을 놓치고 있습니까?
(추신: 일반 텍스트 자격 증명 파일이 필요하지 않은 방법을 제공할 수 있다면 보너스가 될 것입니다. 사용자 이름/도메인/비밀번호에 대한 직접적인 프롬프트일 수도 있고 Kerberos 마법일 수도 있습니다.)
(PPS: 간략하게 살펴봤습니다.SMB 네트워크 파일 시스템, 하지만 구성/작성할 수 없습니다. fuse >= 2.6
v2.8.3이 있지만 v2.8.3이 필요하며 fusermount --version
릴리스 버전을 찾을 수 없습니다 yum install
.)
(PPPS: 제공되는 내용도 간략히 살펴보았는데 /etc/auto.smb
, 같은 공유 문제로 어려움을 겪을 것 같죠?)
답변1
나는 그것으로 많은 작업을 수행했고 autofs
다양한 유형의 리소스를 설치했습니다. 당신은 볼 수 있습니다매뉴얼 페이지문서에서 언급할 때 autofs
데몬이 실행 중인 사용자를 참조한다는 점을 분명히 할 수 있다면 실제로 몇 가지 질문에 대한 답이 될 것입니다. 기본적으로 얻는 변수는 다음과 같습니다.$USER
autofs
Variable Substitution
The following special variables will be substituted in the key and location fields of an automounter map if prefixed with $ as customary from shell scripts (Curly braces can be used to separate the field name):
ARCH Architecture (uname -m)
CPU Processor Type
HOST Hostname (uname -n)
OSNAME Operating System (uname -s)
OSREL Release of OS (uname -r)
OSVERS Version of OS (uname -v)
autofs provides additional variables that are set based on the user requesting the mount:
USER The user login name
UID The user login ID
GROUP The user group name
GID The user group ID
HOME The user home directory
HOST Hostname (uname -n)
Additional entries can be defined with the -Dvariable=Value map-option to automount(8).
를 사용하고 싶을 수도 있지만 -DUSER=$USER
이는 매핑 파일 내에서 데몬을 시작하는 사용자로만 $USER
설정 됩니다 . 이 데몬 은 일반적 으로 .autofs
autofs
root
chrooted
autofs
참고 #1:파일은 autofs
a와 a로 구성됩니다. 이러한 변수는 항목의 일부 내에서만 허용됩니다.key
value
value
노트 2:-D=...
스위치가 내장 변수를 재정의하지 않으면 설치 $USER
에 액세스하는 사람의 & 값이 포함됩니다 $UID
.$USER
$UID
CIFS 공유에 대한 액세스 제한
설치에 대한 액세스를 제한하는 방법에 대한 질문에 대해서는 CIFS
방법을 찾지 못했습니다 autofs
.
공유를 탑재하는 데 사용되는 자격 증명은 CIFS
공유를 탑재하는 과정 전체에서 사용됩니다. 실제로 autofs
이를 실행하는 데몬 automount
(예 root
: )은 사용자의 자격 증명과 "동일"합니다 CIFS
.
이것은 일반적인 동작으로 간주 되지 autofs
않지만 mount.cifs
.autofs
mount.cifs
결론
내 생각에는 autofs를 사용한 설정이 운이 좋지 않은 것 같습니다. 각 사용자가 자신의 자격 증명을 사용하여 공유에 액세스 fuse
하도록 하려면 이것이 필요하다고 생각합니다 .CIFS
답변2
file_mode
dir_mode
이미 사용 중인 설정 과 결합된 및 options 를 사용하여 CIFS 마운트에 권한을 강제로 설정하여 uid=${USER}
다음과 같은 자동 마운트 맵 라인을 제공할 수 있습니다.
* -fstype=cifs,uid=${UID},gid=${EUID},file_mode=0600,dir_mode=0700,credentials=${HOME}/.smb/mydomain ://${SERVER}/&
마운트된 파일 시스템은 해당 사용자의 소유가 되며 다른 모든 사용자의 액세스를 거부하도록 권한이 설정됩니다. 방금 시도해봤는데 정말 효과가 좋은 것 같아요 :)
file_mode=0700
실행하려는 공유에 실행 파일이 저장되어 있는지 여부를 설정해야 할 수도 있습니다 . 내 예에서는 실행 권한을 제거합니다. 이것이 제가 원하는 동작이기 때문입니다.
참고: 이 옵션은 질문을 받을 당시에는 존재하지 않았을 수도 있지만 지금은 존재합니다!
답변3
삼바를 사용하려면:
존재하다 /etc/auto.home
:
* -fstype=cifs,credentials=/etc/smbcreds.& ://MYSERVERIP/homes
모든 사용자와 비밀번호를 별도의 파일에 저장해야 합니다./etc/smbcreds
줄의 마지막 부분은 삼바를 통해 마운트됩니다.
NFS 사용:
/etc/auto.home에서: (NFS의 경우)
* MYSERVERIP:/home/&