When working in an office environment, it's very easy to gather multiple administrators into one office and show them how a task is done. If, on the other hand, your administrators are spread out, these impromptu meetings are nearly impossible. GNU Screen (in multiuser mode) can solve all your problems.
When in multiuser mode, Screen allows multiple users to connect to the same terminal and interact with it as if it were there own. Screen supports a simple permission system, so it's possible to allow a user to connect and view a session without being able to interact with it. To use GNU Screen in multiuser mode, follow these steps.
screenmust be setuid root. In order for multiple users to share the same screen,
screenmust be setuid root. You can do this with
sudo chmod u+s /usr/bin/screen.
screen. This is simple enough. You can start screen by just running
screen, or use
-Sto provide a helpful session name. For example,
screen -S "upgrade_session"can be helpful when determining which session to attach to.
- Enable multiuser mode. To enable multiuser mode, do the following inside the Screen session:
Ctl-a :multiuser on. All Screen commands are preceded by
Ctl-A('Control' and 'a' at the same time).
- Allow other users to connect. Although the session is now running in multiuser mode, no one but the owner (you) has permission to connect to it. Each additional user must be added explicitly with
Ctl-a :acladd usernamewhere
usernameis the login name of the user you want to grant access to.
- (Optional) Restrict users to read-only access. It's possible that you want the additional users to be able to watch the session without being able to execute commands. In this case, you can change the user permissions with
Ctl-a :aclchg username -w "#". If you replace
usernamewith a single
*all users are affected.
Your remote users can now attach to your session by using
screen -x username/ where
username is your username. If you set a session name, they'll need to use
screen -x username/session_name.