日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【最佳实践】瀚高数据库安全版v4.5.8非root用户运行的安装配置

發布時間:2023/12/20 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【最佳实践】瀚高数据库安全版v4.5.8非root用户运行的安装配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

瀚高數據庫安全版v4.5.8非root用戶運行配置

大家都知道的瀚高數據庫安全版都是使用root安裝并以root來運行的,之所以是默認只能用root安裝是因為有些特殊環境下必須使用root。拋開這些特殊環境,我們也可以讓它運行在普通用戶下。

操作系統:Centos 7.9,架構:x86_64

瀚高數據庫:安全版v4.5.8

(說明:以下每一節的命令操作,均可以復制粘貼直接執行)

Here we go! >>

01. 安裝軟件

登錄 root 用戶,將安全版安裝包上傳到 Centos 目錄下,執行以下命令校驗安裝包完整性:

md5sum -c hgdb-see-4.5.8-db43858.x86_64.rpm.md5

得到結果:hgdb-see-4.5.8-db43858.x86_64.rpm: OK

然后再安裝:

rpm -ivh hgdb-see-4.5.8-db43858.x86_64.rpm

02. 用戶和組

創建一個組highgo:

/usr/sbin/groupadd highgo

創建一個新用戶highgo:

/usr/sbin/useradd -m -g highgo highgo -c "Highgo DataBase Server" echo "666666" | passwd --stdin highgo

說明:-c 后面說明的是用戶的用途。

03. 相關目錄和權限

創建以下目錄并設置相應的權限,便于highgo用戶能夠繼續操作和運行:

mkdir -p /data/highgo/data mkdir -p /data/highgo/hgdbbak/archive chown -R highgo:highgo /data/highgo chown -R highgo:highgo /opt/highgo ln -sf /data/highgo/data /opt/highgo/hgdb-see-4.5.8/data

說明

  • 這里的/data目錄一般是指大容量磁盤的掛載目錄。如果目錄名不是data,需要修改很多地方,詳情咨詢瀚高工程師,指導下進行修改;
  • 在/data目錄下創建highgo目錄,用于存儲瀚高數據庫數據等。在之下又創建了data和hgdbbak目錄,分別用于數據庫實例數據和備份數據;
  • 最后我們把數據的實際目錄data在安裝目錄“/opt/highgo/hgdb-see-4.5.8/”下做了一個軟鏈接。
  • 04. 環境變量

    配置用戶highgo的環境變量:

    cat >> /home/highgo/.bash_profile <<EOF ################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb start ################## export HG_BASE=/opt/highgo export HGDB_HOME=/opt/highgo/hgdb-see-4.5.8 export PGPORT=5866 export PGDATABASE=highgo export PATH=\$HGDB_HOME/bin:\$PATH export PGDATA=\$HGDB_HOME/data ################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb end #################### EOF

    說明:全部復制執行即可,不要只復制里面的 export 命令行,如果真要這么做,請把$前面的\去掉。

    切換到用戶highgo下:

    su - highgo

    此時用戶highgo的環境變量會生效,后面的操作開始在highgo下執行。

    05. 設置初始密碼文件

    這里的密碼文件是方便初始化initdb時候使用的,不用多次輸入密碼了,如:

    echo "Hello@123456" > /tmp/5866 echo "Hello@123456" >> /tmp/5866 echo "Hello@123456" >> /tmp/5866

    注意:這里的密碼不是最終密碼,后面我們改有效期的時候會更換掉。

    06. 初始化數據庫簇

    接下來我們就需要初始化了,一般國產環境初始化命令如下所示:

    initdb -A sm3 -e sm4 -c "echo 12345678" -D $PGDATA --pwfile=/tmp/5866 -E 'UTF8'

    說明

  • 參數-A后面指定的是數據庫用戶密碼加密方式,一般是國密sm3,或者通常使用的md5;
  • 參數-e后面指定的是數據加密方式,如果不想加密,可以去掉-e sm4 -c "echo 12345678"部分;
  • 參數--pwfile指定的就是上面我們設置的初始密碼文件路徑了。
  • 07. SSL 證書

    SSL 證書是數據庫啟動需要的文件,創建命令如下:

    hg_sslkeygen.sh /opt/highgo/hgdb-see-4.5.8/data

    08. 免密登錄文件

    創建免密登錄文件:

    cat > ~/.pgpass <<EOF host:port:database:user:password localhost:5866:*:sysdba:Hello@123456 localhost:5866:*:syssao:Hello@123456 localhost:5866:*:syssso:Hello@123456 EOF

    修改權限:

    chmod 0600 ~/.pgpass

    說明:免密登錄文件一般在定時備份時使用比較方便,以及psql命令行登錄時也可以免密登錄。

    09. 客戶端驗證

    需要設置一下,否則只能本機訪問數據庫服務,命令如下:

    cat >> $PGDATA/pg_hba.conf <<EOF ################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb start ################## # IPv4 local connections: host all all 0.0.0.0/0 sm3 ################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb end #################### EOF

    說明

  • 上面設置允許所有可達主機訪問該數據庫;
  • 密碼加密方式是sm3,根據需要可以改為其他的加密方式;
  • 可以更細粒度來設置這里從而達到安全訪問的要求。
  • 10. 啟動數據庫

    接下來,我們就可以啟動數據庫了,命令如下:

    pg_ctl start

    11. 標準參數設置

    以下是常用參數設置,可以根據需要進行微調:

    psql highgo sysdba <<EOF alter system set listen_addresses = '*'; alter system set max_connections = 2000; alter system set work_mem='16MB'; alter system set shared_buffers = '1GB'; alter system set checkpoint_completion_target = 0.8; alter system set log_destination = 'csvlog'; alter system set logging_collector = on; alter system set log_directory = 'hgdb_log'; alter system set log_filename = 'highgodb_%d.log'; alter system set log_rotation_age = '1d'; alter system set log_rotation_size = 0; alter system set log_truncate_on_rotation = on; alter system set log_statement = 'ddl'; alter system set log_connections=on; alter system set log_disconnections=on; alter system set checkpoint_timeout='30min'; alter system set maintenance_work_mem='1GB'; alter system set archive_mode = on; alter system set archive_timeout = '30min'; alter system set archive_command = 'cp %p /data/highgo/hgdbbak/archive/%f'; alter system set log_line_prefix = '%m [%p] %a %u %d %r %h'; alter system set nls_length_semantics = 'char'; EOF

    注意:根據實際物理內存,修改shared_buffers為物理內存的1/4。

    重啟生效:

    pg_ctl restart

    12. 密碼有效期

    所有用戶默認密碼有效期是7天,需要執行以下命令來改為永久:

    psql highgo syssso <<EOF select set_secure_param('hg_idcheck.pwdvaliduntil','0'); alter user current_user password 'Hello@123' valid until 'infinity'; \c - sysdba alter user current_user password 'Hello@123'; \c - syssao alter user current_user password 'Hello@123'; EOF

    記得將免密文件中的舊密碼也替換了:

    sed -i 's/Hello@123456/Hello@123/g' /home/highgo/.pgpass

    重啟生效:

    pg_ctl restart

    13. 改善性能

    以下參數影響數據庫性能,執行命令關掉來改善,如下:

    psql highgo syssso <<EOF select set_secure_param('hg_macontrol','min'); select set_secure_param('hg_rowsecure','off'); select set_secure_param('hg_showlogininfo','off'); select set_secure_param('hg_clientnoinput','0'); select set_secure_param('hg_idcheck.pwdpolicy','high'); EOF

    重啟生效:

    pg_ctl restart

    14. 關閉審計功能

    該功能默認是開啟的,但會占用資源。如沒有必要,可以考慮關掉。需要提前溝通好有些測評(等保分保)需要開啟。關閉命令如下:

    psql highgo syssao <<EOF select set_audit_param('hg_audit','off'); EOF

    重啟生效:

    pg_ctl restart

    15. 安裝授權

    安全版默認是一個月的試用期,若要延長使用,可以聯系瀚高商務申請延長授權,聯系電話400-708-8006。

    拿到授權文件后,安裝步驟如下:

    (1)修改授權文件權限:

    chmod 0600 hgdb_0_t.lic

    (2)查看確認授權信息:

    hg_lic -c -F hgdb_0_t.lic

    (3)安裝授權文件:

    hg_lic -l -F hgdb_0_t.lic

    結果:

    loading succeeded. The new license is an trial version and will expire until 2023-06-30 23:59:59

    注意:這種授權安裝方式是瀚高數據庫安全版v4.5.8開始啟用的新方法,后面版本不能使用這種方式。

    16. 服務設置

    如果不適用root用戶運行,自動配置的服務單元不能自啟動,需要做出變更。

    切回root用戶,執行以下命令,更換服務單元文件:

    cat > /usr/lib/systemd/system/hgdb-see-4.5.8.service <<EOF ################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb start ################## [Unit] Description=hgdb Requires=network.target local-fs.target After=network.target local-fs.target[Service] Type=forkingUser=highgo Group=highgoEnvironment=PGDATA=/opt/highgo/hgdb-see-4.5.8/dataOOMScoreAdjust=-1000ExecStart=/opt/highgo/hgdb-see-4.5.8/bin/pg_ctl start -D \${PGDATA} ExecStop=/opt/highgo/hgdb-see-4.5.8/bin/pg_ctl stop -D \${PGDATA} ExecReload=/opt/highgo/hgdb-see-4.5.8/bin/pg_ctl reload -D \${PGDATA} TimeoutSec=60[Install] WantedBy=multi-user.target graphical.target ################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb end #################### EOF

    重載服務單元:

    systemctl enable hgdb-see-4.5.8

    啟動數據庫服務:

    systemctl start hgdb-see-4.5.8

    << There you go!

    總結

    以上是生活随笔為你收集整理的【最佳实践】瀚高数据库安全版v4.5.8非root用户运行的安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。