0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラズパイにsudo権限でのみ実行可能な自作コマンドを実装する

Last updated at Posted at 2024-01-09

コマンドの作成

適当なディレクトリ(/usr/local/custom_commandなどの名前で作成)にシェルファイルを置く
ファイル名がコマンド名になる(ここではtesthelloで作成)。

↓/usr/local/custom_command/testhelloの中身

# vim testhello
#!/bin/sh

echo "HelloWorld!"

権限を変更してパスを通す(失敗)

以下は失敗例です。成功例だけ知りたい人は次の章まで飛んでください

$ sudo chmod 744 testhello
$ vim ~/.bash_profile

以下を追記

export PATH=$PATH:/usr/local/custom_command/

sudo以外のユーザーで実行できないようにはなったものの、sudo testhelloと打つと「コマンドが見つかりません」と出てしまう、、、

権限を変更してパスを通す(成功)

$ sudo chmod 744 testhello

sudo ユーザーはコマンドのパスとしてsudoers内のsecure_pathを使うらしいので、sudo visudoを開いてここに追加

$ sudo visudo

↓↓↓最後の行

Defaults        secure_path="(中略):/usr/local/custom_command"

成果物

$ testhello
> -bash: /usr/local/custom_command/testhello: 許可がありません

$ sudo testhello
> HelloWorld!

参考

sudo「コマンドが見つかりません」PATHが初期化されているときの対処法
https://blog.thingslabo.com/archives/000395.html

自作のコマンドを作成した
https://qiita.com/yoshiken/items/2b8e6c24d6b95e65b625

編集履歴

1/16: chmodを755→744にして、chownの設定をやめました

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?