トップページ > Linux > 2018年10月30日 > PuLxupcc

書き込み順位&時間帯一覧

19 位/118 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000011000000000000002



使用した名前一覧書き込んだスレッド一覧
login:Penguin
【Bash】Windows Subsystem for Linux【WSL】3

書き込みレス一覧

【Bash】Windows Subsystem for Linux【WSL】3
876 :login:Penguin[sage]:2018/10/30(火) 08:30:23.08 ID:PuLxupcc
>>873
> 起動時にNOPASSWDなsudoでchmodやchownするスクリプト走らせるみたいな方法しか思いつかんわ

WSLに限って言えば、WSL環境内でsudo使っても、実際にはWSLを実行している
ユーザー権限で動いているわけでセキュリティ的にはなんの問題もない気がする
setuidしたコマンドを実行するとか?
【Bash】Windows Subsystem for Linux【WSL】3
877 :login:Penguin[sage]:2018/10/30(火) 09:02:46.23 ID:PuLxupcc
setuidは知ってはいたが意識して使ったこと無いのでやってみたわ

まずsetuidはバイナリじゃないと有効にならないのでシェルスクリプト
とかではなくC言語などのバイナリ吐ける言語で作る必要がある

例えば以下の内容のファイルを作って、gcc ファイル名.c とかでコンパイルする
(gccは適当に入れろな)

#include <sys/stat.h>
int main()
{
chmod("/dev/ttyS1", 0666);
}

a.out(適当名前に変更どうぞ)が作られるから、
sudo chown root:root a.out
sudo chmod +s a.out

あとはsudoとか使わなくてもroot権限(ファイルの所有者)で
動いてくれるので.bashrcとかに書いて実行すればよかろう

ちなみに、/dev/ttyS1 決め打ちなのは手抜きというより引数で自由なパスを
指定できるようにすると、セキュリティ的に問題があるのであえてそうしている
つまりこのコマンドはどう実行しても /dev/ttyS1 しか変えられんというわけだ
自分専用のツールならこの程度で十分だろう


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。