すべてのsudo実行可能ファイルにsudoが必要なのはなぜですか?

すべてのsudo実行可能ファイルにsudoが必要なのはなぜですか?

qtcreatorに対してsudoを実行しましたが、project_name.user.creatorファイルを変更することはできません。権限がないと言われます。また、sudoを使用してpingコマンドを実行しましたが、sudoなしでは使用できません。削除する方法を知っていますか?

ls -l /bin/ping
-rwxr-xr-x 1 root root 61240 Nov 10  2016 /bin/ping

ls -ld /usr/share/applications/*creator*
-rw-r--r-- 1 root root 354 Jul 21  2016 /usr/share/applications/qtcreator.desktop


ping 8.8.8.8
ping: socket: Operation not permitted sudo ping 8.8.8.8

sudo ping 8.8.8.8 [sudo] password for default:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=1.22 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=1.38 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=1.29 ms
^C
--- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.229/1.301/1.380/0.074 ms
default@martin-bogdanov:/home$

答え1

説明する

これを使用してコマンドを実行する場合、sudoこれは単にコマンドを実行するユーザーであることを意味しますroot

したがって、実行中のコマンドがファイルを生成すると、そのファイルのフィールドとownerフィールドgroup ownerはに設定されますroot

ファイル(および実行可能ファイル)に対する権限によっては、他のユーザーがそのファイルの読み取り、書き込み、または実行に失敗することがあります。

はい

ls -l /bin/pingマイコンピュータの出力は次のとおりです。

-rwxr-xr-x 1 root root 61168 Feb 11  2017 /bin/ping

説明-rwxr-xr-xしてroot root別れます。

最初の文字(-)はファイル形式を表します。
-一般ファイルを表します。
dディレクトリを表します。
など。

次の3文字(rwx)は許可される操作を表しますowner

rファイルを読む能力。
wファイルを書き込むことができます。
xファイルを実行する能力。

次の3文字(r-x)は、グループメンバーが実行できる操作を表しますgroup owner

rファイルを読む能力。
- いいえファイルを書き込むことができます。
xファイルを実行する能力。

最後の3文字()は、r-xこのグループまたはこのグループのメンバーではないユーザーに許可される操作を表します。 ownergroup owner

rファイルを読む能力。
- いいえファイルを書き込むことができます。
xファイルを実行する能力。

root rootユーザー、グループを意味しownerます。rootgroup ownerroot

汎用ソリューション

ユーザーアカウントをowner変更するには、いつでも次のものを使用できます。group owner

sudo chown username:groupname file_name

groupnameデフォルトはusername手動で変更していないのと同じです。)

これにより、ファイルのフィールドがおよびuserに変わりますusernamegroup ownergroupnamefile_name

特定のping問題に対する解決策

今はスチールドライバーそしてジョンW.スミスsetuid正しく機能するにはもう少し必要があることを指摘してくださいping。指示を見つけることができますここそしてここ

したがって、次の問題が解決しますping

sudo chmod u+s /bin/ping

関連情報