新闻中心

浏览量:0
2021-03-13 17:12
华为云计算
大数据
RedHat
修改系统密码
Cisco
修复文件系统
修改密码
VMware
修改系统密码
Cisco
大数据
修复文件系统
华为云计算
修改密码
RedHat
VMware

热门关键词

这里有最新的公司动态,这里有最新的网站设计、移动端设计、网页相关内容与你分享

[红帽] Linux系统下如何配置不同权限的VNC

收藏

如何配置不同权限的VNC

正常情况下,如果 RHEL/CentOS安装了图形界面,需要远程打开图形界面的话,可以通过简单配置服务器的VNC Server,通过客户端连接的方式管理服务器,一般需求是对VNC服务端有读写权限,但是在使用 RHEL/CentOS中,想通过VNC将桌面共享给学生端,又不希望学生端有控制VNC Server的权利,这就需要我们在服务端配置两种权限,且能看到相同的桌面。

第一种情况:在 RHEL7中:

在 RHEL7、CentO S7中,自带的tigervnc不支持同时实现对桌面的不同访问权限,因此需要借助安装 epel 源中的软件: x11vnc-0.9.13-11.el7.x86_64.rpm 

安装x11vnc

# 在线安装
$ sudo rom -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo yum repolist
$ sudo yum install x11vnc

# 离线安装

# 实现在可以连接internet主机下载 x11vnc

# 下载地址 https://dl.fedoraproject.org/pub/epel/7Server/x86_64/Packages/x/x11vnc-0.9.13-11.el7.x86_64.rpm

$ sudo rpm -ivh x11vnc-0.9.13-11.el7.x86_64.rpm

安装 tigervnc-server

$ sudo yum install tigervnc-server

安装完成后,将 tigervncserver 的配置文件存放在/etc/systemd/system下

$ sudo cp -v /usr/lib/systemd/system/vncserver@.service  /etc/systemd/system/vncserver@:8.service

# 注意:如果您要就要打开59XX端口,就在 `@:`后跟上数字就行,以下相同,我这里打开的就是 5900+08=5908端口

修改 vncserver@:8.service 配置文件,修改如下,我这里的用户身份为 kiosk
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
#ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l kiosk -c "/usr/bin/vncserver :8 -geometry 1300x800 -AlwaysShared"
# 这里相当于开启了 5908 (rw) 端口
ExecStartPost=/sbin/runuser -l kiosk -c "/usr/bin/x11vnc -nocursorshape -viewonly -shared -nopw -auth guess -forever -autoport 5908 -display :8 &"

# 这里开启了 5909 (ro) 端口,属于 5908端口桌面的镜像

PIDFile=/home/kiosk/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

重新加载配置文件
$ sudo systemctl daemon-reload

设置vnc用户密码
$ vncpasswd 
Password: [有控制权限的密码]
Verify: [有控制权限的密码]
Would you like to enter a view-only password (y/n)? y
Password: [viewonly权限的密码]
Verify: [viewonly权限的密码]

运行服务
$ sudo systemctl start vncserver@:8.service
$ sudo systemctl enable vncserver@:8.service

第二种情况:在RHEL8.0版本

在 RHEL8中tigervnc已经满足实现不同权限访问VNC服务端的需求,因此无需安装其他仓库中的软件

安装 tigervnc-server

$ sudo yum -y install tigervnc-server
安装完成后,将 tigervncserver 的配置文件存放在/etc/systemd/system下

$ sudo cp -v /usr/lib/systemd/system/vncserver@.service  /etc/systemd/system/vncserver@:8.service
修改 vncserver@:8.service 配置文件,修改如下,我这里的用户身份为 kiosk
[Service]
Type=forking
# 新增加3行
WorkingDirectory=/home/kiosk 
User=kiosk
Group=kiosk
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i

重新加载配置文件
$ sudo systemctl daemon-reload
设置vnc用户密码

$ vncpasswd 
Password: [有控制权限的密码]
Verify: [有控制权限的密码]
Would you like to enter a view-only password (y/n)? y
Password: [viewonly权限的密码]
Verify: [viewonly权限的密码]

运行服务
$ sudo systemctl enable vncserver@:8.service --now

关闭 wayland
# 修改 /etc/gdm/custom.conf,去掉 WaylandEnable 注释
[daemon]
# Uncoment the line below to force the login screen to use Xorg
WaylandEnable=false

重启系统
$ sudo systemctl reboot

第三种情况:在RHEL8.2版本

安装 tigervnc-server

$ sudo yum -y install tigervnc-server

安装完成后,将 tigervncserver 的配置文件存放在/etc/systemd/system下

$ sudo cp -v /usr/lib/systemd/system/vncserver@.service  /etc/systemd/system/vncserver@:8.service
修改 vncserver@:8.service 配置文件,修改如下,直接将<USER>替换为用户名即可,是三种方式最简单的,我这里的用户身份为 kiosk
[Service]
Type=simple

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper kiosk %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
重新加载配置文件

$ sudo systemctl daemon-reload

设置vnc用户密码
$ vncpasswd 
Password: [有控制权限的密码]
Verify: [有控制权限的密码]
Would you like to enter a view-only password (y/n)? y
Password: [viewonly权限的密码]
Verify: [viewonly权限的密码]

运行服务
$ sudo systemctl enable vncserver@:8.service --now

关闭 wayland
# 修改 /etc/gdm/custom.conf,去掉 WaylandEnable 注释
[daemon]
# Uncoment the line below to force the login screen to use Xorg
WaylandEnable=false

重启系统

$ sudo systemctl reboot

首页    RedHat    [红帽] Linux系统下如何配置不同权限的VNC