___ qstntxt ___

Problema: Eu tenho um serviço, %code% , que inicia automaticamente um servidor Seafile após a inicialização. No entanto, este serviço está falhando ao iniciar no meu servidor Ubuntu que possui uma partição %code% criptografada. O serviço requer acesso ao %code% , conforme mostrado em este guia .

O serviço não inicia automaticamente o servidor Seafile, mesmo após a descriptografia manual da partição %code% . Quando eu inicio manualmente o serviço fazendo %code% , ele funciona, no entanto, me é pedido senha de decodificação para a partição %code% , embora a partição já esteja descriptografada e montada. Mesmo se eu inserir uma frase secreta errada, o serviço será iniciado sem problemas.

Histórico:

  1. Estou executando o servidor LTS do Ubuntu 16.04.4 com uma partição %code% criptografada. A partição %code% é criptografada usando DMCrypt (cryptsetup). Eu usei este guia para criptografar minha partição %code% .
  2. Meu %code% está configurado com a diretiva %code% para minha partição %code% da seguinte maneira: %code%
  3. Meu %code% está configurado da seguinte forma: %code%
  4. A descriptografia da partição %code% é feita manualmente. Após cada inicialização, descriptografo remotamente a partição %code% usando o SSH com o comando %code% .
  5. Após a descriptografia, o Ubuntu monta automaticamente a partição %code% .

Tentativa de solução

Como o serviço Seafile ( %code% ) requer acesso à partição %code% , usei as seguintes diretrizes para a configuração do meu serviço: %code% , %code% e %code% . Abaixo está minha definição de serviço exata.

%pre%

Problema:

Após o servidor Ubuntu ser reinicializado, faço o login remotamente usando o SSH e descriptografo manualmente a partição %code% . Confirmei que a partição %code% é montada automaticamente, no entanto, o %code% ainda falha ao iniciar devido a dependências.

Quando eu manualmente tento iniciar o seafile.service usando o comando %code% , eu recebo uma senha para descriptografar a partição %code% , mesmo que ela já esteja descriptografada. Quando perguntado sobre a frase secreta, deixo em branco e pressiono enter, e não recebo outro aviso. Quando eu verifico o status do %code% , agora ele está iniciado e ativo.

Eu acho que o possível culpado de %code% não ser capaz de iniciar pode estar relacionado ao sistema pedindo uma senha para descriptografar a partição %code% mesmo que ela já esteja descriptografada.

Por que o sistema está solicitando a senha ao iniciar %code% manualmente quando a partição %code% já está descriptografada?

Veja os passos abaixo:

%pre%     
___ tag123dmcrypt ___ nos ajude a editar este wiki ___

3

Problema: Eu tenho um serviço, seafile.service , que inicia automaticamente um servidor Seafile após a inicialização. No entanto, este serviço está falhando ao iniciar no meu servidor Ubuntu que possui uma partição /home criptografada. O serviço requer acesso ao /home/sfadmin/seafile/seafile-server-latest/seafile.sh , conforme mostrado em este guia .

O serviço não inicia automaticamente o servidor Seafile, mesmo após a descriptografia manual da partição /home . Quando eu inicio manualmente o serviço fazendo sudo systemctl start seafile.service , ele funciona, no entanto, me é pedido senha de decodificação para a partição /home , embora a partição já esteja descriptografada e montada. Mesmo se eu inserir uma frase secreta errada, o serviço será iniciado sem problemas.

Histórico:

  1. Estou executando o servidor LTS do Ubuntu 16.04.4 com uma partição /home criptografada. A partição /home é criptografada usando DMCrypt (cryptsetup). Eu usei este guia para criptografar minha partição /home .
  2. Meu /etc/fstab está configurado com a diretiva nofail para minha partição /home da seguinte maneira: /dev/mapper/data-home /home ext4 defaults,nofail 0 2
  3. Meu /etc/crypttab está configurado da seguinte forma: data UUID=myuuidhere none luks,discard,noearly,nofail
  4. A descriptografia da partição /home é feita manualmente. Após cada inicialização, descriptografo remotamente a partição /home usando o SSH com o comando sudo cryptsetup luksOpen /dev/sda3 data .
  5. Após a descriptografia, o Ubuntu monta automaticamente a partição /home .

Tentativa de solução

Como o serviço Seafile ( /etc/systemd/system/seafile.service ) requer acesso à partição /home , usei as seguintes diretrizes para a configuração do meu serviço: ConditionPathExists , Requires e After . Abaixo está minha definição de serviço exata.

[Unit]
Description=Seafile
ConditionPathExists=/home/sfadmin
Requires=home.mount
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target mysql.service home.mount

[Service]
Type=forking
ExecStart=/home/sfadmin/seafile/seafile-server-latest/seafile.sh start
ExecStop=/home/sfadmin/seafile/seafile-server-latest/seafile.sh stop
User=sfadmin
Group=sfadmin

[Install]
WantedBy=multi-user.target

Problema:

Após o servidor Ubuntu ser reinicializado, faço o login remotamente usando o SSH e descriptografo manualmente a partição /home . Confirmei que a partição /home é montada automaticamente, no entanto, o seafile.service ainda falha ao iniciar devido a dependências.

Quando eu manualmente tento iniciar o seafile.service usando o comando sudo systemctl start seafile.service , eu recebo uma senha para descriptografar a partição /home , mesmo que ela já esteja descriptografada. Quando perguntado sobre a frase secreta, deixo em branco e pressiono enter, e não recebo outro aviso. Quando eu verifico o status do seafile.service , agora ele está iniciado e ativo.

Eu acho que o possível culpado de seafile.service não ser capaz de iniciar pode estar relacionado ao sistema pedindo uma senha para descriptografar a partição /home mesmo que ela já esteja descriptografada.

Por que o sistema está solicitando a senha ao iniciar seafile.service manualmente quando a partição /home já está descriptografada?

Veja os passos abaixo:

$ sudo cryptsetup luksOpen /dev/sda3 data
Enter passphrase for /dev/sda3:
$ sudo systemctl status seafile.service
● seafile.service - Seafile
   Loaded: loaded (/etc/systemd/system/seafile.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

Mar 10 04:14:02 VM-SERVER systemd[1]: Dependency failed for Seafile.
Mar 10 04:14:02 VM-SERVER systemd[1]: seafile.service: Job seafile.service/start failed with result 'dependency'.
$ sudo systemctl start seafile.service
Please enter passphrase for disk data!
$ sudo systemctl status seafile.service
● seafile.service - Seafile
   Loaded: loaded (/etc/systemd/system/seafile.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-03-10 04:36:46 EST; 11s ago
  Process: 1589 ExecStart=/home/sfadmin/seafile/seafile-server-latest/seafile.sh start (code=exited, status=0/SUCCESS)
    Tasks: 15
   Memory: 21.2M
      CPU: 528ms
   CGroup: /system.slice/seafile.service
           ├─1614 /home/sfadmin/seafile/seafile-server-6.2.5/seafile/bin/seafile-controller -c /home/sfadmin/seafile/ccnet -d /home/sfadmin/seafile/seafile-data -F /home/sfadmin/seafile/conf
           ├─1616 ccnet-server -F /home/sfadmin/seafile/conf -c /home/sfadmin/seafile/ccnet -f /home/sfadmin/seafile/logs/ccnet.log -d -P /home/sfadmin/seafile/pids/ccnet.pid
           └─1618 seaf-server -F /home/sfadmin/seafile/conf -c /home/sfadmin/seafile/ccnet -d /home/sfadmin/seafile/seafile-data -l /home/sfadmin/seafile/logs/seafile.log -P /home/sfadmin/seafile/pids/seaf-server.pid

Mar 10 04:36:42 VM-SERVER systemd[1]: Starting Seafile...
Mar 10 04:36:43 VM-SERVER seafile.sh[1589]: [03/10/18 04:36:43] ../common/session.c(132): using config file /home/sfadmin/seafile/conf/ccnet.conf
Mar 10 04:36:43 VM-SERVER seafile.sh[1589]: Starting seafile server, please wait ...
Mar 10 04:36:46 VM-SERVER systemd[1]: Started Seafile.
    
por Zythyr 10.03.2018 / 10:56

0 respostas

___ tag123networkmanager ___ NetworkManager é o conjunto de rede padrão para o Ubuntu. É um conjunto de ferramentas cooperativas desenvolvidas pelo GNOME. O serviço NetworkManager pode ser controlado usando a ferramenta nmcli (interface de linha de comando do Network Manager), bem como por sua GUI. ___ tag123lan ___ LAN é a abreviação de rede local. Comumente se refere a redes ligadas por cabo. ___ qstntxt ___

Aqui está o layout da minha rede local:

Cliente (executando o Ubuntu 17.10).

Servidor (executando o Ubuntu Server 16.04).

Arte ASCII simplificada da minha rede:

%pre%

Portanto, tenho um cliente e um servidor que estão conectados a um comutador 1G conectado à Internet. Eles usam essa opção para acessar outras coisas na minha LAN, bem como no mundo exterior.

O servidor e o cliente têm cartões 10G (além de NICs 1G separados - que estão conectados ao switch).

O que eu estou tentando realizar é que essas duas máquinas usem a conexão 10G entre elas quando conversam entre si, mas depois use a conexão 1G para ir em qualquer outro lugar. A razão para fazer isso é porque eu só tenho essas duas máquinas 10G e não tenho necessidade de um switch ainda.

Isso é possível?

Aqui está o que eu tenho até agora:

Saída do cliente (aparada na interface relevante):

%pre%

Arquivo do cliente / etc / network / interfaces:

%pre%

Saída do cliente (aparada na interface relevante):

%pre%

Saída do servidor (aparada na interface relevante):

%pre%

Servidor / etc / network / arquivo de interfaces:

%pre%

Saída do servidor (aparada na interface relevante):

%pre%

Portanto, atribuí um IP estático ao meu cliente de 10.0.0.1 e meu servidor como 10.0.0.2, ambos no submask 255.255.255.0.

Quando faço ping do servidor do cliente, apenas obtenho o seguinte:

%pre%

Erro semelhante para o servidor para o cliente.

As conexões 1G não são afetadas e funcionam bem ainda.

Por favor, pergunte se você precisar de mais informações, eu estou em uma perda de porque isso não funciona.

    
___
Mudar de usuário não funciona em 17.10