即使管理员将屏幕的chmod更改为700或777,如何继续运行屏幕命令

use*_*824 1 linux ubuntu

我是系统管理员.系统的用户使用屏幕在后台运行他们的程序.但是,如果我在用户程序运行时将屏幕模式更改为700或777,则会停止其程序.当用户运行时

      screen -r process_id
Run Code Online (Sandbox Code Playgroud)

然后它显示该过程无法恢复.有人可以指导用户应该如何运行他们的程序,即使在777和700的屏幕大小之后,他们的程序也不会停止.

n3r*_*rV3 6

我刚测试了它,屏幕上的默认权限是

-rwxr-sr-x 1 root utmp 421640 Sep 16  2012 /usr/bin/screen
Run Code Online (Sandbox Code Playgroud)

所以,当你运行它时显而易见:

root@system:~# chmod 777 /usr/bin/screen
Run Code Online (Sandbox Code Playgroud)

它成为了:

-rwxrwxrwx 1 root utmp 421640 Sep 16  2012 /usr/bin/screen
Run Code Online (Sandbox Code Playgroud)

这将从可执行文件中删除SGID位.其重要性在此处介绍:http: //en.wikipedia.org/wiki/Setuid.这里解释了Utmp:http://en.wikipedia.org/wiki/Utmp

换句话说,由于您在屏幕上取消设置SGID位,UTMP会丢失对屏幕可执行文件的权限,从而丢失对屏幕会话的跟踪.

要将其更改回原始权限,您可以运行:

root@system:~# chmod 2755 /usr/bin/screen
Run Code Online (Sandbox Code Playgroud)

最后提出建议:请不要在不知道它会产生什么影响的情况下更改系统可执行文件的权限. 您可以随时在某些虚拟/测试机器上尝试这些操作,以了解您的更改将对系统产生的影响.

  • 通过将权限更改为"777",您还可以为系统上的每个用户提供故意,意外和/或恶意修改可执行文件的权限. (3认同)