linux安全配置规范

一、    概述

1.1 适用范围

本配置规范适用于凝思操作系统,主要涉及LINUX操作系统安全配置方面的基本要求,用于指导LINUX操作系统安全加固工作,落实信息安全等级保护等保三级系统操作系统安全配置,为主机安全配置核查提供依据。

1.2 实施策略 

序号

配置类别

配置项名称

实施策略

1

身份鉴别

口令复杂度策略

合规

2

身份鉴别

登录失败账户锁定策略

合规

3

身份鉴别

口令最长生存期策略

合规

4

身份鉴别

SSH 登录配置

合规

5

访问控制

多余账户锁定策略

合规

6

访问控制

共享账号检查

合规

7

访问控制

系统关键目录权限控制

合规

8

访问控制

用户缺省权限控制

合规

9

访问控制

禁止Control-Alt-Delete键盘关闭命令

10

安全审计

是否开启日志审计

11

安全审计

安全日志完备性要求

合规

12

安全审计

统一远程日志服务器配置

合规

13

安全审计

日志文件权限控制

不合规 rwrwx-r

15

资源控制

字符操作界面账户定时退出

合规

16

资源控制

root 账户远程登录账户限制

不合规

17

入侵防范

关闭不必要的服务

合规

二、    基本安全配置

本规范主要依据等级保护三级主机安全配置要求相关规范,明确SUSE LINUX操作系统安全配置的基本要求,分为身份鉴别、访问控制、安全审计、资源控制和入侵防范5个方面。

安全配置项详细描述配置要求及依据,结合LINUX操作系统配置文件,明确实现安全配置项涉及的系统配置参数和配置方法,并明确对应配置项的手工检查所对应的检查项。

2.1 身份鉴别

2.1.1 口令复杂度策略

安全配置编号

操作系统—LINUX—配置-1

安全配置名称

操作系统口令复杂度策略

配置要求内容

口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。

配置要求依据

1、《信息系统等级保护基本要求》

主机安全---身份鉴别

b) 应对登录操作系统和数据库系统的用户进行身份标识和鉴别;

c) 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,系统的静态口令应在8位以上并由字母、数字、符号等混合组成并每三个月更换口令。

涉及的系统配置项

涉及系统文件:/etc/pam.d/passwd

涉及参数:

Minlen //密码最小长度要求;

Lcredit //小写字符数量

Ocredit //特殊字符数量

安全配置方法

以root账户登录系统

修改/etc/pam.d/passwd文件:

#vi /etc/pam.d/passwd

确保下面行未被注释,如没有,请添加:

password required /lib64/security/pam_cracklib.so retry=5 minlen=8 difok=1 | credit=1 ucredit =1 dcredit =1 ocredit=1 reject_username

检查方法

以root账户登录系统

查看/etc/pam.d/passwd文件中是否存在口令复杂度策略配置

# cat /etc/pam.d/passwd //检查口令策略文件

//minlen=8 最小长度为8位

//lcredit=2 口令中最少应包含的字母字符数量为2个

//ocredit=1 口令中最少应包含的非字母数字字符数量为1个

2.1.2 登录失败账户锁定策略

安全配置编号

操作系统—LINUX—配置-2

安全配置名称

多次登录失败锁定策略

配置要求内容

系统应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号,root 用户不适用该项配置。

配置要求依据

《信息系统等级保护基本要求》

主机安全---身份鉴别

d)  应启用登录失败处理功能,可采取结束会话、限制登录间隔、限制非法登录次数和自动退出等措施

涉及的系统配置项

涉及系统文件:/etc/pam.d/sshd   /etc/pam.d/login  /etc/pam.d/kde

涉及参数:

audit deny //允许的账户登录重试次数

安全配置方法

修改/etc/pam.d/sshd   /etc/pam.d/login  /etc/pam.d/kde,增加一行

auth required /lib64/security/pam_tally.so per_user unlock_time=300 onerr=succeed audit deny=5

检查方法

以root账户登录SUSE Linux系统

#cat /etc/pam.d/login

查看是否有锁定配置;

备注

2.1.3 口令最长生存期策略

安全配置编号

操作系统—LINUX—配置-3

安全配置名称

口令最长生存期策略

配置要求内容

要求操作系统的账户口令的最长生存期不长于 90 天。

配置要求依据

《信息系统等级保护基本要求》
主机安全---身份鉴别

c) 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,系统的静态口令应在7位以上并由字母、数字、符号等混合组成并每三个月更换口令;

涉及的系统配置项

涉及系统文件:/etc/login.defs

涉及参数:

PASS_MAX_DAYS //密码最长使用期限

PASS_MIN_DAYS //密码最短使用期限

PASS_WARN_AGE //系统在密码过期指定天数前发出修改密码的警告信息给用户

安全配置方法

对未创建的用户进行设置:

查看 /etc/login.defs,修改PASS_MAX_DAYS值为小于等于90

#vi /etc/login.defs

PASS_MAX_DAYS 90 //密码最长使用期限为90天

PASS_MIN_DAYS 0 //密码最短使用期限为0天

PASS_WARN_AGE 10 //密码到期10天前提醒

对已创建的用户进行设置:

chage –M  90 用户名

检查方法

查看/etc/login.defs 文件中”PASS_MAX_DAYS”值小于等于90为符合;

查看用户口令过期时间的命令:chage –l 用户名

备注

2.1.4 SSH 登录配置

安全配置编号

操作系统—LINUX—配置-4

安全配置名称

SSH 登录配置

配置要求内容

系统应配置使用SSH 等加密协议进行远程登录维护,并安全配置SSHD的设置。不使用 TELENT 进行远程登录维护。

配置要求依据

《信息系统等级保护基本要求》
主机安全---身份鉴别 e)主机系统应对与之相连的服务器或终端设备进行身份标识和鉴别 当对服务器进行远程管理时,应采取加密措施,防止鉴别信息在网络 传输过程中被窃听。

涉及的系统配置项

安全配置方法

检查方法

netstat –ano | grep

备注

2.2 访问控制

2.2.1 多余账户锁定策略

安全配置编号

操作系统—LINUX—配置-5

安全配置名称

多余账户锁定策略

配置要求内容

应锁定与设备运行、维护等工作无关的账号。

配置要求依据

《信息系统等级保护基本要求》

主机安全---访问控制

e)应及时删除多余的、过期的账户,避免共享账户的存在。

涉及的系统配置项

涉及系统文件:/etc/password

涉及参数:无

安全配置方法

以root账户登录SUSE Linux系统

锁定用户方法一:

修改/etc/password文件,将需要锁定的用户的shell域后添加nologin;

#vi /etc/passwd

test:x:1000:100:SUSE-LINUX:/home/test:/bin/bash/nologin

锁定用户方法二:

在超级权限的账户下使用”passwd”命令

#passwd –l username //锁定账户;

#passwd –d username//解锁用户;

解锁用户后需重新设置密码,且/etc/passwd文件内容不会发生变化。该操作比较麻烦,不推荐使用。

一般情况下,需要锁定的用户:rocky/news/games

检查方法

以root账户登录系统

# cat /etc/password

查看多余账户的shell域为nologin/flase为符合;

备注

2.2.2 共享账号检查

安全配置编号

操作系统--LINUX--配置-6

安全配置名称

共享账号检查

配置要求内容

系统需按照实际用户分配账号;
应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享。

配置要求依据

《信息系统等级保护基本要求》
主机安全---访问控制
e)应及时删除多余的、过期的账户,避免共享账户的存在。

涉及的系统配置项

安全配置方法

以root账户登录系统

如需建立用户,参考如下:

#useradd username //创建账号

#passwd username //设置密码

使用该命令为不同的用户分配不同的账号,设置不同的口令及权限信息等。

检查方法

以root账户登录系统

#cat /etc/passwd

输出所有用户信息后,与管理员确认是否有共享账号情况存在。

备注

2.2.3 系统关键目录权限控制

安全配置编号

操作系统—LINUX—配置-7

安全配置名称

关键目录权限控制

配置要求内容

根据安全需要,配置某些关键目录其所需的最小权限;

重点设置password、shadow、group、service、login.defs、xinetd.conf、security、ssh_config文件权限。

当前主流版本的linux系统在默认情况下即对重要文件做了必要的权限设置,在日常管理和操作过程中应避免修改此类文件权限,除此以外,应定期对权限进行检查及复核,确保权限设置正确。

配置要求依据

《信息系统等级保护基本要求》
主机安全---访问控制
应启用访问控制功能,依据安全策略控制用户对资源的访问。

涉及的系统配置项

涉及系统文件:/etc/passwd,/etc/shadow,/etc/group,/etc/services,/etc/login.def,/etc/xinetd.conf,/etc/security,/etc/ssh/ssh_config

涉及参数:无

安全配置方法

以root账户登录系统

通过chmod命令对目录的权限进行实际设置。

 /etc/passwd 所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/passwd

 /etc/shadow 只有root可读写 –rw-------

配置命令:chmod 600 /etc/shadow;

 /etc/group 必须所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/group;

 /etc/services必须所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/service;

 /etc/login.defs必须所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/login.defs;

 /etc/xinetd.conf只有root可读写–rw-------

配置命令:chmod 600 /etc/xinetd.conf;

 /etc/security只有root可读写 –rw-------

配置命令:chmod 600 /etc/security;

 /etc/ssh/ssh_config只有root可读写 –rw-------

配置命令:chmod 600 /ssh/ssh_config;

检查方法

以root账户登录SUSE Linux系统

查看关键目录的用户对应权限参考命令

# ls –l /etc/passwd //查看passwd文件是否为644权限

# ls –l /etc/shadow //查看shadow文件是否为600权限

# ls –l /etc/group //查看group文件是否为644权限

# ls –l /etc/service //查看service文件是否为644权限

# ls –l /etc/login.defs //查看login.defs是否为644权限

# ls –l /etc/xinetd.conf //查看xinetd.conf文件是否为600权限

# ls –l /etc/security //查看security文件是否为600权限

# ls -l /ssh/ssh_config //查看ssh_config文件是否为600权限

备注

在UNIX类系统中777是最高权限,4是读,2是写,1是执行,加起来等于7,三个7分别代表系统用户,本组用户和其他用户的权限。

2.2.4 用户缺省权限控制

安全配置编号

操作系统—LINUX—配置-8

安全配置名称

用户缺省权限控制

配置要求内容

控制用户缺省访问权限,当在创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限,防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。全局默认设置umask值应为027或更小权限。

配置要求依据

《信息系统等级保护基本要求》
主机安全---访问控制
b)应根据管理用户的角色(如:系统管理员、安全管理员、安全审计员等)分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限。

涉及的系统配置项

涉及系统文件:.profile

涉及参数:

Umask //用户创建文件的默认权限

安全配置方法

以root账户登录系统

单独针对用户设置

可修改用户home目录下的.profile脚本文件,在文件末尾增加一条行:umask 027

全局默认设置:

修改/etc目录下的 profile脚本文件,在文件末尾增加一条行:umask 027

检查方法

以root账户登录系统

查看全局默认umask值

# cat /etc/profile | grep umask

查看特定用户umask值

# cat $home/.profile | grep umask

备注

umask系统默认设置一般为022,新创建的文件默认权限755(777-022=755);导致其他用户有执行权利。

在UNIX类系统中777是最高权限,4是读,2是写,1是执行,加起来等于7,三个7分别代表系统用户,本组用户和其他用户的权限。

2.2.5 禁止Control-Alt-Delete键盘关闭命令

安全配置编号

操作系统—LINUX—配置-9

安全配置名称

禁止Control-Alt-Delete键盘关闭命令

配置要求内容

禁止Control-Alt-Delete键盘关闭命令,使得在控制台直接按ctl-alt-del不能重新启动计算机。

配置要求依据

建议禁用此类危险操作,规避恶意操作或误操作带来的风险

涉及的系统配置项

涉及系统文件:/etc/inittab

涉及参数:无

安全配置方法

以root账户登录SUSE Linux系统

在“/etc/inittab” 文件中注释掉下面这行(使用#):ca::ctrlaltdel:/sbin/shutdown -t3 -r now 改为:#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

输入如下命令使改动生效:# /sbin/init q

检查方法

以root账户登录SUSE Linux系统

#cat /etc/inittab 确认如下行是否被注释:

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

备注

2.3 安全审计

2.3.1 是否开启日志审计

安全配置编号

操作系统—LINUX—配置-10

安全配置名称

是否开启日志审计

配置要求内容

系统应配置完备日志记录,记录对与系统相关的安全事件。

配置要求依据

主机安全---安全审计

涉及的系统配置项

涉及系统文件:/etc/init.d/auditd

安全配置方法

手动开启审计功能:

/etc/init.d/auditd start

检查方法

以root账户登录系统,检查审计功能是否开启

ps –ef |grep auditd

 备注

2.3.1 安全日志完备性要求

安全配置编号

操作系统—LINUX—配置-10

安全配置名称

安全日志完备性要求

配置要求内容

系统应配置完备日志记录,记录对与系统相关的安全事件。

配置要求依据

主机安全---安全审计

b) 审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用、账号的分配、创建与变更、审计策略的调整、审计系统功能的关闭与启动等系统内重要的安全相关事件。

c) 审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等

涉及的系统配置项

涉及系统文件:/etc/syslog.conf,/usr/lib/acct/accton

涉及参数:

LASTLOG_ENAB //登录日志

安全配置方法

以root账户登录SUSE Linux系统

修改配置文件,记录与设备相关的安全事件

#vi /etc/syslog.conf

配置如下类似语句:

*.err /var/log/errors

authpriv.info /var/log/authpriv_info

*.info /var/log/info

auth.none /var/log/auth_none

修改配置文件,记录用户登录信息

#vi /etc/login.defs

修改LASTLOG_ENAB的属性:

LASTLOG_ENAB yes

开启系统记账功能

通过设置日志文件可以对每个用户的每一条命令进行纪录,这一功能默认是不开放的,为了打开它,需要执行/usr/lib/acct目录下的accton文件,格式如下

#/usr/lib/acct/accton /var/adm/pact

开启acct服务:

#chkconfig acct on

执行读取命令

#lastcomm [user name]

检查方法

以root账户登录SUSE Linux系统

确认已配置设备安全日志

#cat /etc/syslog.conf

确认已配置记录用户登录信息

#cat /etc/login.defs | grep LASTLOG_ENAB

确认开启系统记账功能

#chkconfig --list | grep acct

备注

2.3.2 统一远程日志服务器配置

安全配置编号

操作系统—LINUX—配置-11

安全配置名称

统一远程日志服务器配置

配置要求内容

当前系统应配置远程日志功能,将需要重点关注的日志内容传输到日志服务器进行备份。

配置要求依据

主机安全---安全审计
f)应保护审计记录,避免受到未预期的删除、修改或覆盖等,保存时间不少于半年。

涉及的系统配置项

涉及系统文件:/etc/syslog.conf

安全配置方法

以root账户登录系统

修改配置文件

#vi /etc/syslog.conf

增加syslog服务器配置:

*.* @logserver

保存退出后重新启动syslog服务:

# services syslogd restart

检查方法

以root账户登录系统

查看syslog.conf中是否配置了远程日志服务器

#cat /etc/syslog.conf

*.* @ logserver

备注

可以将”*.*”替换为实际需要的日志信息。比如:*.err / *.info 等等;可以将此处192.168.0.1替换为实际的IP或域名。

2.3.3 日志文件权限控制

安全配置编号

操作系统-- LINUX --配置-12

安全配置名称

日志文件权限控制

配置要求内容

系统应合理配置日志文件权限,控制对日志文件读取、修改和删除等操作。

配置要求依据

主机安全---访问控制

应启用访问控制功能,依据安全策略控制用户对资源的访问。

涉及的系统配置项

涉及系统文件:/var/log

安全配置方法

以root权限账户登录系统

修改文件权限:

配置日志文件权限,如下命令:

chmod 600 /var/log/authpriv_info

chmod 644 /var/log/errors

chmod 644 /var/log/info

chmod 644 /var/log/auth_none

检查方法

以root权限账户登录系统

#ls –l /var/log

查看的目录下日志文件的权限,syslog messages的权限应为644,如下所示:

-rw-r—r-- 1 root root errors

-rw-r—r-- 1 root bin info

-rw-r—r-- 1 root bin auth_none

authpriv_info的权限应为600,如下所示:

-rw------- 1 root root authpriv_info

备注

2.4 资源控制

2.4.1 字符操作界面账户定时退出

安全配置编号

操作系统--LINUX--配置-14

安全配置名称

字符操作界面账户定时退出

配置要求内容

对于具备字符交互界面的系统,应配置定时帐户自动登出,超时时间为300秒。如不使用字符交互界面,该配置可忽略。

配置要求依据

主机安全---资源控制

b) 应根据安全策略设置登录终端的操作超时锁定。

涉及的系统配置项

涉及系统文件:/etc/profile,

涉及参数:TMOUT //超时时间

安全配置方法

对于bash用户:

在/etc/profile中增加export TMOUT=600

#vi /etc/profile

export TMOUT=600

针对tcsh用户:

在/etc/csh.cshrc中增加set –r autologout=10

检查方法

cat /etc/profile| grep TMOUT

cat /etc/csh.cshrc

备注

仅适用于使用字符界面操作的系统。

2.4.2 root 账户远程登录限制

安全配置编号

操作系统—LINUX—配置-15

安全配置名称

root账户远程登录账户限制

配置要求内容

限制具备超级管理员权限的用户远程登录。

远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作;既要限制远程telent登录;又要限制ssh登录。

配置要求依据

主机安全---资源控制
a) 应通过设定终端接入方式、网络地址范围条件限制登录;

涉及的系统配置项

安全配置方法

以root账户登录系统

禁止root远程登录:

# vi /etc/ssh/sshd_config

PermitRootLogin no

重启使之生效, /etc/init.d/sshd restart

检查方法

cat /etc/ssh/sshd_config | grep PermitRootLogin

备注

2.5 入侵防范

2.5.1 关闭不必要的服务

安全配置编号

操作系统—LINUX—配置-17

安全配置名称

关闭不必要的网络和系统服务

配置要求内容

根据每台机器的不同角色,关闭不需要的系统服务。如无特殊需要,应关闭lpd,telnet,routed,sendmail,

bluetooth,identd,xfs,rlogin,rwho,rsh,rexec服务。

配置要求依据

主机安全---入侵防范
c) 操作系统应遵循最小安装的原则,仅安装需要的组件和应用程序,并通过设置升级服务器、系统软件预防性维护服务等方式保持系统补丁及时得到更新。

涉及的系统配置项

安全配置方法

检查方法

netstat -ano

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python刘诗诗

写在前面 刘诗诗在电视剧《一念关山》中饰演了女主角任如意,这是一个极具魅力的女性角色,她既是一位有着高超武艺和智慧的女侠士,也曾经是安国朱衣卫前左使,身怀绝技且性格坚韧不屈。剧中,任如意因不满于朱衣卫的暴行…

P1948 [USACO08JAN] Telephone Lines S

Here 典中之典!! 解题思路 可选k条边代价为0如何决策? 将到当前位置选择了几条代价为0的边放入状态,即若当前状态选的边数小于,则可以进行决策,是否选择当前边,若选,则&#xff0c…

基于智慧灯杆的智慧城市解决方案(2)

功能规划 智慧照明功能 智慧路灯的基本功能仍然是道路照明, 因此对照明功能的智慧化提升是最基本的一项要求。 对道路照明管理进行智慧化提升, 实施智慧照明, 必然将成为智慧城市中道路照明发展的主要方向之一。 智慧照明是集计算机网络技术、 通信技术、 控制技术、 数据…

uniapp:小程序数字键盘功能样式实现

代码如下&#xff1a; <template><view><view><view class"money-input"><view class"input-container" click"toggleBox"><view class"input-wrapper"><view class"input-iconone"…

C++ 队列

目录 队列的应用场景 1、429. N 叉树的层序遍历 2、 103. 二叉树的锯齿形层序遍历 3、662. 二叉树最大宽度 4、515. 在每个树行中找最大值 队列的应用场景 广度优先搜索&#xff08;BFS&#xff09;&#xff1a;队列是广度优先搜索算法的核心数据结构。在BFS中&#xff…

C语言:深入补码计算原理

C语言&#xff1a;深入补码计算原理 有符号整数存储原码、反码、补码转换规则数据与内存的关系 补码原理 有符号整数存储 原码、反码、补码 有符号整数的2进制表示方法有三种&#xff0c;即原码、反码和补码 三种表示方法均有符号位和数值位两部分&#xff0c;符号位用0表示“…

Linux:kubernetes(k8s)lable和selecto标签和选择器的使用(11)

通过标签是可以让我们的容器和容器之间相互认识&#xff0c;简单来说一边打了标签&#xff0c;一边使用选择器去选择就可以快速的让他们之间耦合 定义标签有两种办法&#xff0c;一个是文件中&#xff0c;一个是命令行里 我们在前几章编进文件的时候里面都有lable比如 这个就是…

rk3399使用阿里推理引擎MNN使用cpu和gpu进行benchmark,OpenCL效果不佳?

视频讲解 rk3399使用阿里推理引擎MNN使用cpu和gpu进行benchmark&#xff0c;OpenCL效果不佳&#xff1f; 背景 MNN是阿里开源的推理引擎&#xff0c;今天测试一下在rk3399平台上的benchmark怎么样&#xff1f; alibaba/MNN: MNN is a blazing fast, lightweight deep learning…

keycloak18.0.0==前后端分离项目中使用,前端react后端springboot

配置keycloak 启动keycloak18 新建一个realm,名字叫test1 新建两个client&#xff0c;一个用于前端&#xff0c;一个用于后端 第一个 react http://localhost:8081/auth/realms/test1/react/ 第二个 backend-service 在两个client下分别创建role testRole backend-servic…

可免费使用的AI平台汇总 + 常用赋能科研的AI工具推荐

赋能科研&#xff0c;AI工具助你飞跃学术巅峰&#xff01;(推荐收藏) 文章目录 赋能科研&#xff0c;AI工具助你飞跃学术巅峰&#xff01;(推荐收藏)一、可免费使用的AI平台汇总1. ChatGPT2. New Bing3. Slack4. POE5. Vercel6. 其他平台7. 特定功能平台8. 学术资源平台9. 中文…

编曲学习:钢琴编写 人性化、逻辑预制 工程音频导出

第8课 钢琴编写 人性化、逻辑预制 工程音频导出小鹅通-专注内容付费的技术服务商https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65e30339e4b064a8cfe56001?course_id=course_2XLKtQnQx9GrQHac7OPmHD9tqbv 音乐创作中,有思路时可以不套学习到的公式,没有思路时可以套…

Java零基础-包机制讲解

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…

数据库--

数据库 你对数据库的理解 有什么数据库及数据库分类&#xff1f; 关系型数据mysql&#xff0c;Oracle&#xff0c;SQL Server&#xff0c;DB2&#xff0c;postgreSQL 非关系型数据MongoDB&#xff0c;Cassandra&#xff08;卡三zhe&#xff09;&#xff0c;redis&#xff0c;Hb…

离线数仓(六)【ODS 层开发】

前言 1、ODS 层开发 ODS层的设计要点如下&#xff1a; &#xff08;1&#xff09;ODS层的表结构设计依托于从业务系统同步过来的数据结构&#xff08;JSON/CSV/TSV&#xff09;。 &#xff08;2&#xff09;ODS层要保存全部历史数据&#xff0c;故其压缩格式应选择高压缩比的…

C++程序设计-第六/七/八章 运算符重载/包含与继承/虚函数和多态性【期末复习|考研复习】

前言 总结整理不易&#xff0c;希望大家点赞收藏。 给大家整理了一下C程序设计中的重点概念&#xff0c;以供大家期末复习和考研复习的时候使用。 C程序设计系列文章传送门&#xff1a; 第一章 面向对象基础 第四/五章 函数和类和对象 第六/七/八章 运算符重载/包含与继承/虚函…

训练保存模型checkpoint时报错SyntaxError: invalid syntax

在使用pytorch训练保存checkpoint时&#xff0c;出现如下报错&#xff1a; rootautodl-container-745411b452-c5cebfed:~/kvasir-seg-main# python train_transunet.py --loss_function"IoULoss" --training_augmentation0File "train_transunet.py", lin…

Java多线程实战-实现多线程文件下载,支持断点续传、日志记录等功能

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 前言 1 基础知识回顾 1.1 线程的创建和启动 1.2 线程池的使用 2.运行环境说…

Shell常用脚本:文件或目录一键同步到多台服务器

注意&#xff1a; 将本地文件&#xff0c;同步到【/opt/module/script/xsyncByFileIp.txt】里面的目标机器 xsyncByFile.sh #!/bin/bash# 入参参数个数 argsCount$#if(($argsCount0)); thenecho "同步失败&#xff1a;请输入待同步的文件或者目录" exit; fiecho &q…

Java8中,如何使用jni调用C++的dll

下面是在Java 8中使用JNI调用C的DLL的步骤清单&#xff1a; 编写C代码&#xff0c;创建动态链接库&#xff08;DLL&#xff09;&#xff1a; #include <jni.h> #include <iostream> #include "org_ming_jni_MyNativeImplementation.h" // com_example_…

记一次因为共享缓存导致流水号重复的问题排查过程

背景&#xff1a; 在开发日终应用或者跑批应用的时候&#xff0c;进行每天凌晨跑批或者全天跑批多次进行表数据清理的时候&#xff0c;每次清理都会登记操作明细到日志表&#xff0c;流水号是根据Oracle号段模式获取1000个流水号段放内存里&#xff0c;不够用再从数据库重新获取…