debina8.1をインストールし、sudoers設定を次のように設定しました。
1.apt-get の更新
2.apt-get install sudo
3.adduser test
4.usermod -a -G sudo
テスト アカウント名を使用して vps に接続し、一部のポートを変更した場合にテストします。
vim /etc/ssh/sshd_config
Port 21388
Protocol 2
/etc/init.d/ssh restart #with test account name
[....] Restarting ssh (via systemctl): ssh.serviceFailed to restart ssh.service: Access denied
failed!
testにはsudo権限がありますが、なぜこのコマンドは/etc/init.d/ssh restart
テスト名で機能しないのですか?このコマンドは/etc/init.d/ssh restart
ルート名に対して有効であるとテストされました。
答え1
これは権限のために発生し、ssh実行可能ファイルにその時点で使用されているアカウントに対する権限がない可能性があります。入力したファイルに対してどの権限があるかを確認するには、次のls -l
ような奇妙な内容が表示されます。
drwxrwxr-x 2 pi acctg 1024 date time file name
たぶん始まりのdはディレクトリという意味です。あなたの場合、始めには「d」はありませんが、始めには「-」があります。最初の文字の後には、残りの9文字がrwx、rwx、再びrwxです。ダッシュがないことを確認できます。
r は読み取り権限を意味します。
w は書き込み権限を意味します。
x は実行権限を表し、
最初の文字の後の最初の3文字(rwx、---、r--、または他の組み合わせ)は、ファイル所有者が持つ権限を表すために使用されます。
2番目の3は、ファイルグループ内の他のアカウントにどの権限があるかを示すために使用されます。
3番目の3は「その他」を表します。
このテストアカウントにアクセスするには、まずman chmod
次のガイドをお読みください。http://catcode.com/teachmod/、ほぼすべての概要を説明し、いくつかのセキュリティ問題が発生する可能性があるため、権限が必要かどうかを判断します。
直接実行できるようにするには:
タイプ:sudo chmod 775/etc/init.d/ssh
7を2進数で表すと、111が表示されます。これは、所有者とグループに対して有効な読み取り、書き込み、および実行権限を表し、他のすべての人にとっては読み取りおよび実行権限のみがアクティブであることを示します。
しかし、使用する前にマニュアルを必ずお読みいただくことを強くお勧めします。