介紹:
Jumpserver 是全球首款完全開源的堡壘機,使用 GNU GPL v2.0 開源協(xié)議朋截,是一個專業(yè)的運維審計系統(tǒng)蛹稍。Jumpserver 采納分布式架構(gòu),支持多機房跨區(qū)域部署部服,中心節(jié)點提供 API唆姐,各機房部署登錄節(jié)點,可橫向擴展廓八、無并發(fā)訪問限制奉芦。具有完全開源,GPL授權(quán)剧蹂,Python編寫声功,容易再次開發(fā),實現(xiàn)了跳板機基本功能宠叼,認(rèn)證先巴、授權(quán)、審計冒冬,集成了Ansible伸蚯,批量命令等,支持WebTerminal 简烤,Bootstrap編寫剂邮,界面美觀,自動收集硬件信息横侦,錄像回放挥萌,命令搜索,實時監(jiān)控枉侧,批量上傳下載等強大的功能引瀑。
組件說明:
- Jumpserver 為管理后臺,管理員可以通過Web頁面進(jìn)行資產(chǎn)管理棵逊、用戶管理伤疙、資產(chǎn)授權(quán)等操作
- Coco 為 SSH Server 和 Web Terminal Server 。用戶可以通過使用自己的賬戶登錄 SSH 或者 Web Terminal 直接訪問被授權(quán)的資產(chǎn)辆影。不需要知道服務(wù)器的賬戶密碼
- Luna 為 Web Terminal Server 前端頁面徒像,用戶使用 Web Terminal 方式登錄所需要的組件
- Guacamole 為 Windows 組件,用戶可以通過 Web Terminal 來連接 Windows 資產(chǎn) (暫時只能通過 Web Terminal 來訪問)
端口說明:
- Jumpserver 默認(rèn)端口為 8080/tcp 配置文件在 jumpserver/config.py
- Coco 默認(rèn) SSH 端口為 2222/tcp 蛙讥,默認(rèn) Web Terminal 端口為 5000/tcp 配置文件在 coco/conf.py
- Guacamole 默認(rèn)端口為 8081/tcp 在 docker run 時指定
- Nginx 默認(rèn)端口為 80/tcp 配置在 nginx/nginx.conf 中指定
環(huán)境:
ubuntu 18.04
jumpserver:192.168.31.57
clients(一臺樹莓派):192.168.31.204
python: 3.6.1
安裝jumpserver:
1.python環(huán)境:
ubuntu18.04一般默認(rèn)安裝python2.7和python3.6.1锯蛀,這里我們就省去了安裝python的時間了,如果你的電腦沒有python3.6.1或者版本比他低的話就需要自己編譯安裝了
1.1 安裝依賴包:(如果已經(jīng)有python環(huán)境的跳到請1.3)
? sudo apt-get update && apt-get -y upgrade
? sudo apt-get -y install wget libkrb5-dev libsqlite3-dev gcc make automake libssl-dev zlib1g-dev libmysqlclient-dev libffi-dev git xz-utils
#修改字符集次慢,否則可能報 input/output error的問題旁涤,因為日志里打印了中文
? sudo apt-get install language-pack-zh-hans
? echo 'LANG="zh_CN.UTF-8"' > /etc/default/locale
1.2 編譯安裝:
? cd /opt
? wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
? sudo tar xvf Python-3.6.1.tar.xz
? chmor 777 -R Python-3.6.1
? ./configure --prefix=/opt/py3 && make && make install
1.3 建立python環(huán)境:
? cd /opt
? /opt/py3/bin/python3 -m venv py3 //如果是用系統(tǒng)的python環(huán)境翔曲,python -m venv py3
? source /opt/py3/bin/activate
#看到下面的提示符代表成功,以后運行 Jumpserver 都要先運行以上 source 命令劈愚,以下所有命令均在該虛擬環(huán)境中運行(py3) [root@localhost py3]
1.4 自動載入 Python 虛擬環(huán)境配置
此項僅為懶癌晚期的人員使用瞳遍,防止運行 Jumpserver 時忘記載入 Python 虛擬環(huán)境導(dǎo)致程序無法運行。使用autoenv
? cd /opt
? git clone https://github.com/kennethreitz/autoenv.git
? echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc
? source ~/.bashrc
2.安裝Jumpserver
2.1 下載:
? cd /opt/
? git clone https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master
? echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env # 進(jìn)入 jumpserver 目錄時將自動載入 python 虛擬環(huán)境
#首次進(jìn)入 jumpserver 文件夾會有提示菌羽,按 y 即可
#Are you sure you want to allow this? (y/N) y
2.2 安裝依賴包:
? cd /opt/jumpserver/requirements
? apt-get -y install $(cat deb_requirements.txt) # 如果沒有任何報錯請繼續(xù)
2.3 安裝python依賴:
? pip install -r requirements.txt -i https://pypi.python.org/simple
2.4 安裝 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke:
? sudo apt-get -y install redis-server
2.5 安裝 MySQL:
? sudo apt-get -y install mysql-server #安裝過程中注意輸入數(shù)據(jù)庫 root賬戶 的密碼,如果有讓你輸入就輸入掠械,如果沒有就繼續(xù)
2.6 創(chuàng)建數(shù)據(jù)庫 Jumpserver 并授權(quán):
如果你安裝ubuntu的時候沒有輸入密碼,那就
? sudo vim /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = vv4ajucDngzl7IGg
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = vv4ajucDngzl7IGg
socket = /var/run/mysqld/mysqld.sock
復(fù)制password 里面的密碼vv4ajucDngzl7IGg
? mysql -u debian-sys-maint -p 上面的長密碼
> use mysql;
> update user set authentication_string=PASSWORD("自定義密碼") where user='root'; //修改root的密碼
> update user set plugin="mysql_native_password";
> flush privileges; //更新
> quit;
? sudo /etc/init.d/mysql restart
? mysql -u root -p 密碼;
> create database jumpserver default charset 'utf8'; //創(chuàng)建一個數(shù)據(jù)庫jumpserver
> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '密碼'; //創(chuàng)建一個用戶jumpserver注祖,把jumpserver數(shù)據(jù)庫授權(quán)給他
> flush privileges; //更新
2.7 修改 Jumpserver 配置文件:
? cd /opt/jumpserver
? cp config_example.py config.py
? vi config.py
這里放上我的配置文件
"""
jumpserver.config
~~~~~~~~~~~~~~~~~
Jumpserver project setting file
:copyright: (c) 2014-2017 by Jumpserver Team
:license: GPL v2, see LICENSE for more details.
"""
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
class Config:
# Use it to encrypt or decrypt data
# Jumpserver 使用 SECRET_KEY 進(jìn)行加密猾蒂,請務(wù)必修改以下設(shè)置
# SECRET_KEY = os.environ.get('SECRET_KEY') or '2vym+ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%x'
SECRET_KEY = ''2vym+ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%xsj''
# Django security setting, if your disable debug model, you should setting that
ALLOWED_HOSTS = ['*']
# DEBUG 模式 True為開啟 False為關(guān)閉,默認(rèn)開啟是晨,生產(chǎn)環(huán)境推薦關(guān)閉
# 注意:如果設(shè)置了DEBUG = False肚菠,訪問8080端口頁面會顯示不正常,需要搭建 nginx 代理才可以正常訪問
DEBUG = os.environ.get("DEBUG") or False
# 日志級別罩缴,默認(rèn)為DEBUG蚊逢,可調(diào)整為INFO, WARNING, ERROR, CRITICAL,默認(rèn)INFO
LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'WARNING'
LOG_DIR = os.path.join(BASE_DIR, 'logs')
# 使用的數(shù)據(jù)庫配置箫章,支持sqlite3, mysql, postgres等时捌,默認(rèn)使用sqlite3
# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
# 默認(rèn)使用SQLite3,如果使用其他數(shù)據(jù)庫請注釋下面兩行
# DB_ENGINE = 'sqlite3'
# DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
# 如果需要使用mysql或postgres炉抒,請取消下面的注釋并輸入正確的信息,本例使用mysql做演示(mariadb也是mysql)
DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'
DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1'
DB_PORT = os.environ.get("DB_PORT") or 3306
DB_USER = os.environ.get("DB_USER") or 'jumpserver'
DB_PASSWORD = os.environ.get("DB_PASSWORD") or 'jumpserver用戶的密碼'
DB_NAME = os.environ.get("DB_NAME") or 'jumpserver'
# Django 監(jiān)聽的ip和端口,生產(chǎn)環(huán)境推薦把0.0.0.0修改成127.0.0.1稚叹,這里的意思是允許x.x.x.x訪問焰薄,127.0.0.1表示僅允許自身訪問
# ./manage.py runserver 127.0.0.1:8080
HTTP_BIND_HOST = '127.0.0.1'
HTTP_LISTEN_PORT = 8080
# Redis 相關(guān)設(shè)置
REDIS_HOST = os.environ.get("REDIS_HOST") or '127.0.0.1'
REDIS_PORT = os.environ.get("REDIS_PORT") or 6379
REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD") or ''
REDIS_DB_CELERY = os.environ.get('REDIS_DB') or 3
REDIS_DB_CACHE = os.environ.get('REDIS_DB') or 4
def __init__(self):
pass
def __getattr__(self, item):
return None
class DevelopmentConfig(Config):
pass
class TestConfig(Config):
pass
class ProductionConfig(Config):
pass
#Default using Config settings, you can write if/else for different env
config = DevelopmentConfig()
2.8 生成數(shù)據(jù)庫表結(jié)構(gòu)和初始化數(shù)據(jù):
? cd /opt/jumpserver/utils
? ./make_migrations.sh
2.9 運行 Jumpserver
? cd /opt/jumpserver
? ./jms start all # 后臺運行使用 -d 參數(shù)./jms start all -d
# ./jms start|stop|status|restart all 后臺運行請?zhí)砑?-d 參數(shù)
運行不報錯,請瀏覽器訪問 http://192.168.244.144:8080/ 默認(rèn)賬號: admin 密碼: admin 頁面顯示不正常先不用處理扒袖,繼續(xù)往下操作
3. 安裝Coco
3.1 下載coco:
新開一個終端
? cd /opt
? source /opt/py3/bin/activate
? git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master
? echo "source /opt/py3/bin/activate" > /opt/coco/.env # 進(jìn)入 coco 目錄時將自動載入 python 虛擬環(huán)境
3.2 安裝依賴:
cd /opt/coco/requirements
pip install -r requirements.txt -i https://pypi.python.org/simple
3.3 查看配置文件并運行:
? cd /opt/coco
? cp conf_example.py conf.py # 如果 coco 與 jumpserver 分開部署塞茅,請手動修改 conf.py
? vi conf.py
# 注意對齊,不要直接復(fù)制本文檔的內(nèi)容季率,實際內(nèi)容以文件為準(zhǔn)野瘦,本文僅供參考
這里放上我的配置文件
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
import os
BASE_DIR = os.path.dirname(__file__)
class Config:
"""
Coco config file, coco also load config from server update setting below
"""
# 項目名稱, 會用來向Jumpserver注冊, 識別而已, 不能重復(fù)
# NAME = "localhost"
NAME = "coco"
# Jumpserver項目的url, api請求注冊會使用, 如果Jumpserver沒有運行在127.0.0.1:8080,請修改此處
# CORE_HOST = os.environ.get("CORE_HOST") or 'http://127.0.0.1:8080'
CORE_HOST = 'http://127.0.0.1:8080'
# 啟動時綁定的ip, 默認(rèn) 0.0.0.0
# BIND_HOST = '0.0.0.0'
# 監(jiān)聽的SSH端口號, 默認(rèn)2222
# SSHD_PORT = 2222
# 監(jiān)聽的HTTP/WS端口號飒泻,默認(rèn)5000
# HTTPD_PORT = 5000
# 項目使用的ACCESS KEY, 默認(rèn)會注冊,并保存到 ACCESS_KEY_STORE中,
# 如果有需求, 可以寫到配置文件中, 格式 access_key_id:access_key_secret
# ACCESS_KEY = None
# ACCESS KEY 保存的地址, 默認(rèn)注冊后會保存到該文件中
# ACCESS_KEY_STORE = os.path.join(BASE_DIR, 'keys', '.access_key')
# 加密密鑰
# SECRET_KEY = None
# 設(shè)置日志級別 ['DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL', 'CRITICAL']
# LOG_LEVEL = 'INFO'
LOG_LEVEL = 'WARN'
# 日志存放的目錄
# LOG_DIR = os.path.join(BASE_DIR, 'logs')
# Session錄像存放目錄
# SESSION_DIR = os.path.join(BASE_DIR, 'sessions')
# 資產(chǎn)顯示排序方式, ['ip', 'hostname']
# ASSET_LIST_SORT_BY = 'ip'
# 登錄是否支持密碼認(rèn)證
# PASSWORD_AUTH = True
# 登錄是否支持秘鑰認(rèn)證
# PUBLIC_KEY_AUTH = True
# SSH白名單
# ALLOW_SSH_USER = 'all' # ['test', 'test2']
# SSH黑名單, 如果用戶同時在白名單和黑名單鞭光,黑名單優(yōu)先生效
# BLOCK_SSH_USER = []
# 和Jumpserver 保持心跳時間間隔
# HEARTBEAT_INTERVAL = 5
# Admin的名字,出問題會提示給用戶
# ADMINS = ''
COMMAND_STORAGE = {
"TYPE": "server"
}
REPLAY_STORAGE = {
"TYPE": "server"
}
# SSH連接超時時間 (default 15 seconds)
# SSH_TIMEOUT = 15
# 語言 = en
LANGUAGE_CODE = 'zh'
config = Config()
4.安裝Luna
Luna 已改為純前端泞遗,需要 Nginx 來運行訪問
4.1 下載Luna
? cd /opt/
? wget https://github.com/jumpserver/luna/releases/download/1.4.1/luna.tar.gz
? tar xvf luna.tar.gz
? chown -R root:root luna
5. 配置 Nginx
2018-09-20
6.1 安裝 Nginx
? sudo apt-get -y install nginx
6.2 準(zhǔn)備配置文件 修改 /etc/nginx/site-enabled/default
? vi /etc/nginx/site-enabled/default
server {
listen 80;
server_name _;
## 新增如下內(nèi)容惰许,以上內(nèi)容是原文內(nèi)容,請從這一行開始復(fù)制
client_max_body_size 100m; # 錄像上傳大小限制
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/; # luna 路徑史辙,如果修改安裝目錄汹买,此處需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/; # 錄像位置佩伤,如果修改安裝目錄,此處需要修改
}
location /static/ {
root /opt/jumpserver/data/; # 靜態(tài)資源晦毙,如果修改安裝目錄生巡,此處需要修改
}
location /socket.io/ {
proxy_pass http://localhost:5000/socket.io/; # 如果coco安裝在別的服務(wù)器,請?zhí)顚懰膇p
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location /guacamole/ {
proxy_pass http://localhost:8081/; # 如果guacamole安裝在別的服務(wù)器见妒,請?zhí)顚懰膇p
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
access_log off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
6.3 重啟 Nginx
? nginx -t //檢查配置文件是否正確孤荣,如果沒有錯誤,繼續(xù)下一步
? service nginx restart
6.4 開始使用 Jumpserver
? cd /opt/jumpserver
? ./jms status //運行jumpserver
? cd /opt/coco
? ./cocod status //運行coco
服務(wù)全部啟動后徐鹤,訪問 http://192.168.244.144
默認(rèn)賬號: admin 密碼: admin
然后到Jumpserver 會話管理-終端管理 接受 Coco Guacamole 等應(yīng)用的注冊
測試coco
? ssh -p 2222 admin@192.168.31.57
? sftp -P 2222 admin@192.168.31.57
密碼: admin
如果能登陸代表部署成功
# sftp默認(rèn)上傳的位置在資產(chǎn)的 /tmp 目錄下
# windows拖拽上傳的位置在資產(chǎn)的 Guacamole RDP上的 G 目錄下
使用:
使用這里我因為沒有郵件服務(wù)器垃环,所以我不會說如何創(chuàng)建用戶,只會講如何添加資產(chǎn)返敬,添加資產(chǎn)的管理用戶和系統(tǒng)用戶遂庄,
需要條件:
- 一臺配置好的jumpserver
- 一臺可用的 Linux、Windows資產(chǎn)設(shè)備(我這里用的是我內(nèi)網(wǎng)的一臺樹莓派 ip:192.168.31.204)
設(shè)置:
點擊系統(tǒng)設(shè)置 ? 基本設(shè)置
修改 URL 的 localhost 為你的實際 url 地址劲赠,否則郵件收到的地址將為 localhost
修改完 url 地址后需要重啟 jumpserver 服務(wù)
? cd /opt/jumpserver
? ./jms restart
然后后面的郵件設(shè)置涛目,因為我沒有SMTP服務(wù)器所以我就沒有配置,還有添加用戶凛澎,密碼是需要通過郵件服務(wù)器接受密碼霹肝,所以我這里就不介紹如何添加用戶了,只介紹如何添加資產(chǎn)和配置資產(chǎn)權(quán)限。和添加管理用戶和系統(tǒng)用戶塑煎,何為管理用戶沫换,管理用戶就是資產(chǎn)的root,系統(tǒng)用戶就是你登錄資產(chǎn)或者切換使用的用戶最铁,他可以是資產(chǎn)中已經(jīng)存在的用戶讯赏,也可以是root,或者使用jumpserver的用戶推送功能冷尉,給系統(tǒng)推送用戶漱挎,你可以給他分配權(quán)限。
創(chuàng)建資產(chǎn):
創(chuàng)建資產(chǎn)需要先創(chuàng)建管理用戶雀哨,然后把資產(chǎn)分配給管理用戶
節(jié)點不能重名磕谅,右擊節(jié)點可以添加、刪除和重命名節(jié)點雾棺,以及進(jìn)行資產(chǎn)相關(guān)的操作
注:如果有 linux 資產(chǎn)和 windows 資產(chǎn)膊夹,建議先建立 Linux 節(jié)點與 Windows 節(jié)點,不然授權(quán)時不好處理捌浩。jumpserver還能自動檢測資產(chǎn)的硬件信息
創(chuàng)建管理用戶
# 管理用戶是資產(chǎn)上的 root割疾,或擁有 NOPASSWD: ALL sudo 權(quán)限的用戶,Jumpserver 使用該用戶來推送系統(tǒng)用戶嘉栓、獲取資產(chǎn)硬件信息等
# 如果使用ssh私鑰管理資產(chǎn)宏榕,需要先在資產(chǎn)上設(shè)置拓诸,這里舉個例子供參考(本例登錄資產(chǎn)使用root為例)
(1). 在資產(chǎn)上生成 root 賬戶的公鑰和私鑰
? ssh-keygen -t rsa # 默認(rèn)會輸入公鑰和私鑰文件到 ~/.ssh 目錄
(2). 將公鑰輸出到文件 authorized_keys 文件,并修改權(quán)限
? cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
? chmod 400 ~/.ssh/authorized_keys
(3). 打開RSA驗證相關(guān)設(shè)置
? vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
(4). 重啟 ssh 服務(wù)
? service ssh restart
(5). 上傳 ~/.ssh 目錄下的 id_rsa 私鑰到 jumpserver 的管理用戶中
? scp ./id_rsa kevin@192.168.31.57:/home/kevin
# 這樣就可以使用 ssh私鑰 進(jìn)行管理服務(wù)器
# 名稱可以按資產(chǎn)樹來命名麻昼。用戶名root奠支。密碼和 SSH 私鑰必填一個
創(chuàng)建系統(tǒng)用戶
# 系統(tǒng)用戶是 Jumpserver 跳轉(zhuǎn)登錄資產(chǎn)時使用的用戶,可以理解為登錄資產(chǎn)用戶
# 系統(tǒng)用戶的 Sudo 欄設(shè)定用戶的 sudo 權(quán)限
# 這里簡單舉幾個例子
Sudo /bin/su # 當(dāng)前系統(tǒng)用戶可以免sudo密碼執(zhí)行sudo su命令
Sudo /usr/bin/git,/usr/bin/php,/bin/cat,/bin/more,/bin/less,/usr/bin/tail
# 當(dāng)前系統(tǒng)用戶可以免sudo密碼執(zhí)行g(shù)it php cat more less tail
Sudo !/usr/bin/yum # 禁止執(zhí)行 yum 權(quán)限
# 此處的權(quán)限應(yīng)該根據(jù)使用用戶的需求匯總后定制抚芦,原則上給予最小權(quán)限即可
還可以配置登錄模式倍谜,是選擇手動登錄還是自動登錄,還有優(yōu)先級叉抡,優(yōu)先級越高的會作為系統(tǒng)的默認(rèn)用戶
創(chuàng)建資產(chǎn)
點擊頁面左側(cè)的“資產(chǎn)管理”菜單下的“資產(chǎn)列表”按鈕尔崔,查看當(dāng)前所有的資產(chǎn)列表。
點擊頁面左上角的“創(chuàng)建資產(chǎn)”按鈕褥民,進(jìn)入資產(chǎn)創(chuàng)建頁面季春,填寫資產(chǎn)信息。
IP 地址和管理用戶要確保正確消返,確保所選的管理用戶的用戶名和密碼能"牢靠"地登錄指定的 IP 主機上载弄。
資產(chǎn)的系統(tǒng)平臺也務(wù)必正確填寫。公網(wǎng) IP 信息只用于展示撵颊,可不填宇攻,Jumpserver 連接資產(chǎn)使用的是 IP 信息。
資產(chǎn)創(chuàng)建信息填寫好保存之后倡勇,可測試資產(chǎn)是否能正確連接
注:被連接資產(chǎn)需要python組件逞刷,且版本大于等于2.6,Ubuntu等資產(chǎn)默認(rèn)不允許root用戶遠(yuǎn)程ssh登錄妻熊,請自行處理
如果資產(chǎn)不能正常連接亲桥,請檢查管理用戶的用戶名和密鑰是否正確以及該管理用戶是否能使用 SSH 從 Jumpserver 主機正確登錄到資產(chǎn)主機上
創(chuàng)建授權(quán)規(guī)則
準(zhǔn)遵循規(guī)則:資產(chǎn)授權(quán)給個人,節(jié)點授權(quán)給用戶組固耘,一個授權(quán)只能選擇一個系統(tǒng)用戶