Estou usando o OpenSuSE 12.1 com casas compartilhadas através de LDAP e NFS. ldap armazena os mapas. Meu problema é que não consigo montar os compartilhamentos na inicialização. Só funciona ao reiniciar o serviço autofs manualmente. Em um CentOS 6.3 não existe esse problema.
Meu /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
Meu /etc/openldap/ldap.conf
:
SIZELIMIT 20
TIMELIMIT 15
#DEREF never
TLS_REQCERT demand
uri ldap://10.0.0.1
base dc=domain,dc=com
Meu /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
Meu /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"
Estou esquecendo de algo?
Responder1
Esta questão foi respondida pela comunidade e é bem antiga.
Muitas coisas aconteceram ao longo dos anos, Michael mencionou uma solução, usando o fstab. E o problema original provavelmente foi a devida ordem de execução no momento da inicialização. A rede pode não estar pronta, algum serviço pode não ter iniciado, etc.
Há também outra solução se você estiver executando o systemd (o que duvido que o OP tenha feito na época, mas se você chegar aqui por meio de uma pesquisa e o fizer), aqui está outra solução usando o recurso de montagem automática do 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
A única desvantagem disso é que você precisa ter cuidado com o nome do script de serviço. É melhor descritoaqui, mas uma versão tl; dr é que o arquivo de serviço deve ser nomeado de acordo com o caminho que será montado. E todas as barras nesse caminho devem ser substituídas pelo -
nome do arquivo de serviço para que a montagem automática funcione. O exemplo acima de /mnt/remote_share would be a service-file called
mnt-remote_share.mount`
Há um monte deopçõespara ir com isso.
Se o systemd não é sua praia, também há muitas coisas novas noautofslado que faz um bom trabalho(tudo pode ser um pouco complicado para o meu gosto).
Se você quiser usar uma entrada fstab, mas utilizar o recurso de auto-hook do systemd, aqui está a aparência do seu 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
E se nada disso funcionar, há também a solução 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
Deixarei alguns links para uma boa documentação sobre o assunto (lembre-se, é um sistema operacional diferente. Mas o Wiki deles é, no momento em que escrevo este, um dos melhores do mercado):
Responder2
Por que não apenas adicionar os locais de montagem ao seu fstab.
Você também pode usar sshfs. Configure o ssh para usar autenticação de chave pública.
No servidor:
sudo apt-get install openssh-server
Altere ou adicione ServerKeyBits 2048 a /etc/ssh/sshd_config
No cliente
ssh-keygen -t rsa -b 2048
ssh-copy-id do computador cliente para o servidor. Use sua senha para seu usuário na máquina do servidor para fazer login.
Altere /etc/ssh/sshd_config: PasswordAuthentication no, UsePAM no
Eu uso outras configurações também para proteger o ssh, mas para este exemplo não é necessário.
Se você estiver fora de sua LAN, configure um atualizador dyndns ou noip e configure o encaminhamento de porta em seu roteador para que a porta 23 ou qualquer porta que você decida usar para ofuscar o serviço seja encaminhada para o endereço IP do servidor, se precisar de ajuda com isso, basta perguntar.
Então:
sshfs USER@SERVERADDRESS:/mnt/DRIVELOCATION /PATH/TO/MOUNT/DRIVE/TO
Eu configurei este comando como um iniciador no menu principal para algumas unidades e para outras no fstab.
Eu sei que funciona porque eu uso essa mesma configuração mais o endurecimento todos os dias.
Dessa forma, você pode se livrar da necessidade do autofs e da sobrecarga necessária.