I really like this idea and just tried some steps for myself.
create user with homedir: sudo useradd -m agent
add myself to agent group: sudo usermod -a -G agent $USER
Allow agent group to agent home dir: sudo chmod -R 770 /home/agent
Start a new shell with the group (or login/logoff): newgrp agent
Now you should be able to change into the agent home.
Allow your user to sudo as agent: echo "$USER ALL=(agent) NOPASSWD: ALL" |sudo tee -a /etc/sudoers.d/$USER-as-agent
now you can start your agent using sudo: sudo -u agent your_agent
Unfortunately no. We only provide you with slides, exercises, and projects. But I put a reference to Scala books into the README which should fill the gaps.
Well, there are some devices that try to inrease the screensize to the max, for example the Oneplus 6 (which has sadly a very high SAR value) or the newly "leaks" of de Mate 20.
Optional types and futures are both important and useful examples of monads—in the “container” and “action” interpretations, respectively; and derivatives are the method of constructing zippers, which are an accessible example of comonads, as well as a useful method of constructing other things like parsers, so these are actually pretty solid concepts for a functional programmer—whether in Haskell or otherwise. I would totally buy that book. :)
Allow agent group to agent home dir: sudo chmod -R 770 /home/agent
Start a new shell with the group (or login/logoff): newgrp agent Now you should be able to change into the agent home.
Allow your user to sudo as agent: echo "$USER ALL=(agent) NOPASSWD: ALL" |sudo tee -a /etc/sudoers.d/$USER-as-agent now you can start your agent using sudo: sudo -u agent your_agent
works nice.