我正在使用 OpenSuSE 12.1,並透過 LDAP 和 NFS 共享家庭。 LDAP 儲存地圖。我的問題是我無法在啟動時安裝共用。它僅在手動重新啟動 autofs 服務時才起作用。在 CentOS 6.3 上不存在這樣的問題。
我的/etc/nsswitch.conf
:
passwd: files sss
group: files sss
hosts: files mdns4_minimal [NOTFOUND=return] dns
networks: files dns
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files nis
publickey: files
bootparams: files
automount: files ldap
aliases: files
我的/etc/openldap/ldap.conf
:
SIZELIMIT 20
TIMELIMIT 15
#DEREF never
TLS_REQCERT demand
uri ldap://10.0.0.1
base dc=domain,dc=com
我的/etc/sssd/sssd.conf
:
[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
domains = domain.com
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
[pam]
reconnection_retries = 3
[domain/domain.com]
id_provider = ldap
auth_provider = ldap
min_id = 500
max_id = 30000
ldap_schema = rfc2307
ldap_uri = ldaps://ldap-ms.local, ldaps://ldap-sl.local, ldap://ldap
ldap_search_base = dc=domain,dc=com
ldap_user_search_base = ou=People,dc=domain,dc=com
ldap_group_search_base = ou=Group,dc=domain,dc=com
ldap_tls_cacert = /etc/pki/CA/certs/domain-cacert.pem
ldap_tls_reqcert = hard
cache_credentials = true
enumerate = True
我的/etc/sysconfig/autofs
:
MASTER_MAP_NAME="auto.master"
TIMEOUT=300
BROWSE_MODE="yes"
MAP_OBJECT_CLASS="automountMap"
ENTRY_OBJECT_CLASS="automount"
MAP_ATTRIBUTE="ou"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"
USE_MISC_DEVICE="yes"
我錯過了什麼嗎?
答案1
這個問題被社區提出了,而且已經很老了。
這些年來發生了很多事情,Michael 提到了一個解決方案,即使用 fstab。最初的問題很可能是在啟動時按執行順序執行的。網路可能尚未準備好,某些服務可能尚未啟動等。
如果你正在運行systemd,還有另一個解決方案(我懷疑OP 當時是否這樣做了,但如果你透過搜尋最終到達這裡,你確實這麼做了),這是使用systemd 的自動掛載功能的另一種解決方案。
[Unit]
Description=Network mapping
After=network.target
[Mount]
What=10.0.0.1:/share/stuff
Where=/mnt/remote_share
Type=nfs
Options=_netdev,auto
[Install]
WantedBy=multi-user.target
這樣做的唯一缺點是您必須小心命名服務腳本。描述得最好這裡,但是 tl;dr 版本是服務檔案必須以其要掛載的路徑命名。並且所述路徑中的所有正斜杠都必須替換為-
服務檔案名稱中的斜杠,以便自動安裝工作。上面的/mnt/remote_share would be a service-file called
mnt-remote_share.mount範例`
有一堆選項就這樣吧。
如果 systemd 不是你的菜,上面還有很多新東西自動檔案系統做得很好的一面(對我來說有點複雜)。
如果您想使用 fstab 條目,但要利用 systemd 的自動掛鉤功能,那麼您的 fstab 可能如下所示:
10.0.0.1:/share/stuff /mnt/remote_share nfs noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0
如果這些都不起作用,還有 pure-fstab 解決方案:
10.0.0.1:/share/stuff /mnt/remote_share nfs defaults,soft,rsize=32768,wsize=32768,timeo=900,retrans=5,_netdev 0 0
我將添加一些關於該主題的良好文件的連結(請記住,這是一個不同的作業系統。但他們的 Wiki 是市場上最好的文件之一):
答案2
為什麼不直接將安裝位置加入到 fstab 中呢?
您也可以使用 sshfs。配置 ssh 以使用公鑰身份驗證。
在伺服器上:
sudo apt-get install openssh-server
更改為或新增 ServerKeyBits 2048 到 /etc/ssh/sshd_config
在客戶端上
ssh-keygen -t rsa -b 2048
ssh-copy-id 從客戶端電腦到伺服器。使用伺服器電腦上的使用者密碼登入
變更 /etc/ssh/sshd_config:PasswordAuthentication no,UsePAM no
我還使用其他設定來強化 ssh,但對於本範例來說不需要。
如果您的區域網路外部設定了 dyndns 或 noip 更新程序,並在路由器上設定了連接埠轉發,則連接埠 23 或您決定用於混淆服務的任何連接埠將轉發到伺服器 IP 位址,如果您需要協助,請詢問。
然後:
sshfs USER@SERVERADDRESS:/mnt/DRIVELOCATION /PATH/TO/MOUNT/DRIVE/TO
我將此指令設定為某些磁碟機和 fstab 中其他磁碟機主選單上的啟動器。
我知道它有效,因為我每天都使用相同的設定加上強化。
這樣您就可以擺脫對 autofs 的需要及其所需的開銷。