Centos7 Gnome桌面禁止切换用户、注销和锁屏

没有实测,本文仅供参考。

禁止logout、切换用户及锁屏

进入 /etc/dconf/db/local.d 目录,没有则自行创建,
创建 00-logout 文件,内容如下

1
2
3
4
[org/gnome/desktop/lockdown]
disable-log-out=true
disable-user-switching=true
disable-lock-screen=true

进入 /etc/dconf/db/local.d/locks/ 目录,,没有则自行创建,
创建 lockdown 文件,内容如下

1
2
3
/org/gnome/desktop/lockdown/disable-log-out
/org/gnome/desktop/lockdown/disable-user-switching
/org/gnome/desktop/lockdown/disable-lock-screen

最后执行dconf update更新设置。
更新完这两项后,点击 gnome 桌面右上角图标,将不再显示用户操作项及锁屏选项,如下
更新后的gnome右上角图示

禁用logout命令

logout 命令为 shell 自带命令,使用 which 无法查找,也就无法使用 700 权限控制使用

1
2
3
[root@wds069 ~]# which logout
/usr/bin/which: no logout in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@wds069 ~]#

这里我们需要用到 enable 命令来控制内置命令
enable -n logout
执行这条命令后,我们再执行 logout,提示如下
logoutbash: logout: command not found...
至此,Gnome 下就完全禁用了切换用户、退出、锁屏的功能。

禁用重启、关机功能

对于 reboot、shutdown 命令,因为不属于内置命令,可以使用 chmod 700 的方式来解决。
用 which 查找下这两个命令的位置并设置权限即可。

1
2
3
4
5
6
7
8
9
10
11
[root@wds069 ~]# which reboot
/usr/sbin/reboot
[root@wds069 ~]# which poweroff
/usr/sbin/poweroff
[root@wds069 ~]# which shutdown
/usr/sbin/shutdown
[root@wds069 ~]#

[root@wds069 ~]# chmod 700 /usr/sbin/reboot
[root@wds069 ~]# chmod 700 /usr/sbin/shutdown
[root@wds069 ~]# chmod 700 /usr/sbin/poweroff

为防止用户使用 systemctl reboot -i 的方式强制重启,我们直接禁止普通用户使用 systemctl 命令即可

1
2
3
4
[root@wds069 ~]# which systemctl
/usr/bin/systemctl
[root@wds069 ~]#
[root@wds069 ~]# chmod 700 /usr/bin/systemctl

本文来源于网络,作者张长瑞

课程中心

Qianj.51CTO