私のKubuntuコンピュータでProtonVPNが自動的に起動するようにします。
私が試した最新のものはblog.x86txt.comでした。ただし、次のコマンドを使用する場合:
systemctl enable protonvpn-cli.service && systemctl start protonvpn-cli.service
端末から次のメッセージを受け取りました。
Job for protonvpn-cli.service failed because the control process exited with error code.
See "systemctl status protonvpn-cli.service" and "journalctl -xe" for details.
私がコマンドを実行すると
systemctl status protonvpn-cli.service
次の結果が表示されます。
● protonvpn-cli.service - ProtonVPN CLI Auto-Start
Loaded: loaded (/etc/systemd/system/protonvpn-cli.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2020-01-13 11:19:20 CET; 13s ago
Process: 2177 ExecStart=/usr/bin/protonvpn-cli last-connect (code=exited, status=203/EXEC)
jan 13 11:19:20 teuton-VirtualBox systemd[2177]: protonvpn-cli.service: Failed at step EXEC spawning /usr/bin/protonvpn-cli
jan 13 11:19:20 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Control process exited, code=exited status=203
jan 13 11:19:20 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Failed with result 'exit-code'.
jan 13 11:19:20 teuton-VirtualBox systemd[1]: Failed to start ProtonVPN CLI Auto-Start.
jan 13 11:19:20 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Service hold-off time over, scheduling restart.
jan 13 11:19:20 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Scheduled restart job, restart counter is at 5.
jan 13 11:19:20 teuton-VirtualBox systemd[1]: Stopped ProtonVPN CLI Auto-Start.
jan 13 11:19:20 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Start request repeated too quickly.
jan 13 11:19:20 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Failed with result 'exit-code'.
jan 13 11:19:20 teuton-VirtualBox systemd[1]: Failed to start ProtonVPN CLI Auto-Start.
log file: -binfmt_misc.automount protonvpn-cli.service
Teutonはユーザー名です。
以下にsystemdファイルを貼り付けます。
[Unit]
Description=ProtonVPN CLI Auto-Start
After=network.target
[Service]
Type=forking
User=teuton
ExecStart=/usr/bin/protonvpn-cli last-connect
ExecReload=/usr/bin/protonvpn-cli disconnect && /usr/bin/protonvpn-cli last-connect
ExecStop=/usr/bin/protonvpn-cli disconnect
Restart=always
[Install]
WantedBy=multi-user.target
--
ここでは、コマンド--last-connect
とblog.x86txt.comからを削除して、--disconnect
どのように役立つかを確認しました。
編集する:
journalctl -xe
出力は次のとおりです。
-- Subject: Unit anacron.service has finished start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit anacron.service has finished starting up.
--
-- The start-up result is RESULT.
jan 13 14:04:47 teuton-VirtualBox anacron[1883]: Anacron 2.3 started on 2020-01-13
jan 13 14:04:47 teuton-VirtualBox anacron[1883]: Normal exit (0 jobs run)
jan 13 14:17:01 teuton-VirtualBox CRON[1896]: pam_unix(cron:session): session opened for user root by (uid=0)
jan 13 14:17:01 teuton-VirtualBox CRON[1897]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
jan 13 14:17:01 teuton-VirtualBox CRON[1896]: pam_unix(cron:session): session closed for user root
jan 13 14:20:16 teuton-VirtualBox systemd[1]: Starting Message of the Day...
-- Subject: Unit motd-news.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit motd-news.service has begun starting up.
jan 13 14:20:16 teuton-VirtualBox systemd[1]: Started Message of the Day.
-- Subject: Unit motd-news.service has finished start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit motd-news.service has finished starting up.
--
-- The start-up result is RESULT.
jan 13 15:05:08 teuton-VirtualBox systemd[1]: Started Run anacron jobs.
-- Subject: Unit anacron.service has finished start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit anacron.service has finished starting up.
--
-- The start-up result is RESULT.
jan 13 15:05:08 teuton-VirtualBox anacron[1959]: Anacron 2.3 started on 2020-01-13
jan 13 15:05:08 teuton-VirtualBox anacron[1959]: Normal exit (0 jobs run)
jan 13 15:17:01 teuton-VirtualBox CRON[1969]: pam_unix(cron:session): session opened for user root by (uid=0)
jan 13 15:17:01 teuton-VirtualBox CRON[1970]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
jan 13 15:17:01 teuton-VirtualBox CRON[1969]: pam_unix(cron:session): session closed for user root
jan 13 15:24:32 teuton-VirtualBox sudo[1983]: teuton : TTY=pts/2 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/usr/sbin/visudo
jan 13 15:24:32 teuton-VirtualBox sudo[1983]: pam_unix(sudo:session): session opened for user root by teuton(uid=0)
jan 13 15:42:02 teuton-VirtualBox sudo[1983]: pam_unix(sudo:session): session closed for user root
teuton@teuton-VirtualBox:/etc/systemd/system$ sudo systemctl enable protonvpn-cli.service && systemctl start protonvpn-cli.service
[sudo] lösenord för teuton:
Job for protonvpn-cli.service failed because the control process exited with error code.
See "systemctl status protonvpn-cli.service" and "journalctl -xe" for details.
teuton@teuton-VirtualBox:/etc/systemd/system$ journalctl -xe
jan 13 15:42:25 teuton-VirtualBox systemd[2085]: protonvpn-cli.service: Failed at step USER spawning /usr/bin/protonvpn: No such process
-- Subject: Process /usr/bin/protonvpn could not be executed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The process /usr/bin/protonvpn could not be executed and failed.
--
-- The error number returned by this process is 3.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Control process exited, code=exited status=217
jan 13 15:42:25 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Failed with result 'exit-code'.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: Failed to start ProtonVPN CLI Auto-Start.
-- Subject: Unit protonvpn-cli.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit protonvpn-cli.service has failed.
--
-- The result is RESULT.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Service hold-off time over, scheduling restart.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Scheduled restart job, restart counter is at 5.
-- Subject: Automatic restarting of a unit has been scheduled
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Automatic restarting of the unit protonvpn-cli.service has been scheduled, as the result for
-- the configured Restart= setting for the unit.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: Stopped ProtonVPN CLI Auto-Start.
-- Subject: Unit protonvpn-cli.service has finished shutting down
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit protonvpn-cli.service has finished shutting down.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Start request repeated too quickly.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: protonvpn-cli.service: Failed with result 'exit-code'.
jan 13 15:42:25 teuton-VirtualBox systemd[1]: Failed to start ProtonVPN CLI Auto-Start.
-- Subject: Unit protonvpn-cli.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit protonvpn-cli.service has failed.
--
-- The result is RESULT.
lines 2394-2435/2435 (END)
編集2:これは私のsudo visudo
結果です。
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
teuton ALL = (root) NOPASSWD: /usr/local/bin/protonvpn
ベストアンサー1
systemd デバイス構成のパスと実行可能ファイルが sudoers.d ファイルのパスと実行可能ファイルと一致しません。
ファイルsudoers.d
に記載されているもの/usr/local/bin/protonvpn
(注、local
それ以降の拡張子はありません)は、ProtonVPN.comがあなたの質問に記載されている指示に記載されているものと私のコンピュータ上のものであるため、私の考えには正しいようです。 (最初のリンクを確認できません。死んだようです。)-cli
protonvpn
一方、systemdデバイスの説明には以下がリストされています/usr/bin/protonvpn-cli
(なしlocal
、-cli
拡張)。
ExecStart=/usr/bin/protonvpn-cli last-connect
ExecReload=/usr/bin/protonvpn-cli disconnect && /usr/bin/protonvpn-cli last-connect
ExecStop=/usr/bin/protonvpn-cli disconnect*
この方向を調べたきっかけは、次のようなログでした。 systemdがExecStartから要求したプログラムを起動できないようです。
Failed at step EXEC spawning /usr/bin/protonvpn-cli
その後、エラーが直接報告されました。
which protonvpn
コマンドを実行して、コンピュータの正しいパスと実行可能ファイルを確認する必要がありますwhich protonvpn-cli
。私にとっては、最初の戻りパスです/usr/local/bin/
。
前の手順で決定した正しいファイルとパスで sudoers.d および systemd デバイス構成を更新します。
サイドノート
sudoers.dファイルでより具体的に説明することをお勧めします。これで、ユーザー権限のみがVPNを完全に制御できるようになります(VPNのオフまたはKillスイッチの無効化を含む)。特定のコマンドにのみprotonvpn connect
権限を付与するのが最善ですprotonvpn reconnect
(/usr/local/bin/protonvpn が正しいパスであると仮定)。
teuton ALL = (root) NOPASSWD: /usr/local/bin/protonvpn connect,/usr/local/bin/protonvpn reconnect
次に、システムデバイス構成で次の操作を行います。
ExecReload=
現在持っているコマンドをthisに置き換えます/usr/local/bin/protonvpn reconnect
。このコマンドは実際には同じことを行いますが、disconnect
コマンドを許可する必要がないという利点があります。- ラインを完全に取り除きます
ExecStop=/usr/bin/protonvpn-cli disconnect
。これは必要ありません。 (私のコンピュータにこのラインがなかったかのようにVPNをオフにすると、とにかく接続が切断されます。)
これで、sudoers.dファイルからリンク解除コマンドが不要になり、コンピュータのセキュリティが向上しました!