[排错] 解决 Red Hat Satellite 发布新版本 Content Views 时报错 “Unable to find content with the ID “……””

报错代码

Unable to find content with the ID "......"

分析

当 Content Views 里包含有问题的软件源时,发布新版本 Content View 时就会报此类错误

解决方法

步骤一:根据报错时出现的 ID 显示出问题的软件名称

# su - postgres -c "psql candlepin -c \"select uuid, content_id, contentUrl, label, type, vendor from cp2_content where content_id = '9210'\""

(补充:这里以显示 ID 9210 的软件名称为例)

步骤二:给服务器系统打一个快照

(步骤略)

步骤三:强制停止出问题的任务

Monitor –> Tasks –> Paused –> “select the task which publish a new Content View version” –> Cancel

(注意:操作前需要确保左上角的组织是否正确)

或者:

步骤三:将出问题的软件源从要布新版本的 Content Views 里删除

Content –> Content Views –> “select the Content View which whill publish a new version” –> Yum Content –> Repository –> “select the repository which is error” –> Remove Repositories

步骤四:重新发布新版本的 Content Views

(步骤略)

[步骤] SFTP 日志的开启 (禁止 SFTP 用户 SSH 登录、限制 SFTP 用户可进入的目录范围和端口分离版)

注意:

在禁止 SFTP 用户 SSH 登录、限制 SFTP 用户可进入的目录和端口分离的情况下开启 SFTP 日志前,要先设置 SFTP 相应的安全项:

正文:

步骤一:开启 SFTP 日志

1.1 开启 SFTP 的登录日志

1.1.1 修改配置文件 /etc/ssh/sshdsftp_config,开启 sshdsftp 的日志功能
# vim /etc/ssh/sshdsftp_config

将部分内容修改如下:

......
LogLevel INFO
......
1.1.2 让修改的配置生效
# systemctl restart sshdsftp.service

1.2 开启 SFTP 的文件日志

1.2.1 修改 /etc/audit/auditd.conf 配置文件,指定 auditd 日志的存放位置
# vim /etc/audit/auditd.conf

将部分内容修改如下:

......
log_file = /var/log/audit/audit.log
......
1.2.2 修改 /etc/audit/rules.d/audit.rules 配置文件,监控用于 SFTP 服务器的目录以及目录下的目录和文件
# vim /etc/audit/rules.d/audit.rules

添加以下内容:

......
-a exit,always -F dir=/sftpuser -F perm=rwxa

(补充:这里以添加 /sftpuser 目录为例)

1.2.2 让修改的配置生效
# service auditd restart

步骤二:显示 SFTP 日志

2.1 显示 SFTP 的登录日志

# cat /var/log/messages | grep systemd-logind


补充:这里会显示
1) 用户
2) 用户的登录时间
3) 用户的退出时间

(注意:普通用户的登录记录也在里面)

2.2 显示 SFTP 的文件日志

# cat /var/log/audit/audit.log


补充:这里会显示
1) 用户
2) 操作的时间
2) 被操作的文件
3) 被操作的动作 (创建、删除和显示)

或者:

# sudo ausearch -i -k user-modify

(补充:这里以显示文件被修改的记录为例)

[命令] Linux 命令 timeout (指定命令执行的时间)

内容一:timeout 命令的格式

# timeout <option> <duration> <command>

内容二:timeout 命令的选项和持续时间的单位

2.1 timeout 命令的选项

1) -k 当达到命令结束的时间没有结束时,再经过指定时间后结束命令
2) –foreground 后台执行命令
3) –help 显示帮助信息
4) -s 或者 –signal=,在超时时发送信号,通过 “kill -l” 命令可以显示信号列表
5) –version 显示版本信息

2.2 timeout 命令的持续时间的单位

1) s,秒 (默认)
2) m,分
3) h,时
4) d,天

内容三:timeout 命令的案例

3.1 案例一:执行 10 秒钟 top 命令

# timeout 10 top

3.2 案例二:执行 1 小时 ping 命令,并在结束命令时发送 SIGKILL 信号

# timeout -s SIGKILL 1h ping eternalcenter.com

3.3 案例三:执行 1 分钟 top 命令,如果 1 分钟后命令没有停止,则再过 10 秒后结束命令

# timeout -k 10s 1m top