何ヶ月前からか、workmodeという特定サイトにアクセスを遮断して集中する環境を作るフィルタリングソフトウェアを使ってる。例えば、ニコニコ動画やはてブにかなりの時間を使ってしまう場合などそのサイトのアクセスを制限できる。それなりにお手軽にフィルタリングできるのでとても便利。
けど、workmodeはインストールの仕方によってはsudoをしないと実行できないみたいで、とてもめんどくさい。nodeの入れ方を工夫する方法はよくわからないのでworkmodeをsudoなしで実行できるようにする方法をここに書く。
インストールは
→ Homebrewでnode.jsとnpmをインストール
とか
→ Node.js と npm のインストール方法(Windows編)
を参考にしてnpmをインストールして
npm install workmode -g
でworkmodeをインストールする。
#パスワード無しでworkmodeを実行する
いままではこんな感じで実行してた。
crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/share/npm/bin
MAILTO=''
HOME=/
3*/11 */1 * * * sh /var/tmp/forworkmode.sh
echo "password" | sudo -S workmode start
こんな感じでやってたけどパスワードを直書きするのはちょっとどうなのかなと思ってた。
特定コマンドをsudoなしで実行できる方法があったのでそっちに移行した。
参考 : 特定のコマンドをパスワードなしでsudo する設定
sudo visudo
を実行して、
pogin ALL=NOPASSWD: /usr/local/share/npm/bin/workmode
を付け加える。workmodeの場所はtype workmode
、which workmode
とかで見つかるかも?
# Uncomment to allow people in group wheel to run all commands
%wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
+ pogin ALL=NOPASSWD: /usr/local/share/npm/bin/workmode
これでworkmodeでのsudoのパスワード入力をやらなくて済む。
#参考
集中して仕事。指定サイトへのアクセスを遮断する「workmode」
特定のコマンドをパスワードなしでsudo する設定