Skip to content
Eternal Center

Eternal Center

  • Single-Node (单节点)
    • System (系统)
    • Service (服务)
    • Database (数据库)
    • Container (容器)
    • Virtualization (虚拟化)
  • Multi-Node (多节点)
    • Cluster (集群)
    • Big Data (大数据)
    • Cloud Computing (云计算)
    • Batch Processing (批量处理)
  • Approach (方式方法)
    • Languages (语言)
    • Ideas (思路)
    • Programing (编程)
    • Project (项目)
  • Eternity (永恒)
    • News (消息)
    • Creations (创作)
    • Classics (经典)
    • Legends (传说)
    • Chronicle (编年史)
    • FNIOS (宇宙公民开源学院)

Category: System User & System Privilege (系统用户 & 系统权限)

Posted on June 17, 2022November 22, 2024

[内容] Linux sudo 命令安全的加强

内容一:修改 sudoers 配置文件的方法

# vim /etc/sudoers

或者:

# visudo

内容二:设置 sudoers 配置文件的参数

2.1 指定命令路径

Defaults secure_path="<command>"

(补充:例如这里的 值可以是 /usr/local/sbin)

2.2 设置不需要终端就可以执行 sudo 命令

Defaults !requiretty

或者:

# Defaults requiretty

(补充:如果不设置此参数则直接远程执行 sudo 命令时可能会报错 “you must have a tty to run sudo”)

2.3 设置存储 sudo 命令日志的文件

Defaults logfile="<file>"

(补充:这里的 <file> 值一般会设置为 /var/log/sudo.log)

2.4 让 sudo 使用伪终端执行命令,避免后台进程使用 sudo 命令

Defaults use_pty

2.5 让 sudo 使用伪终端执行命令,避免后台进程使用 sudo 命令,同时可以对应地记录所有用户的输入和输出

2.5.1 让 sudo 使用伪终端执行命令,避免后台进程使用 sudo 命令,同时可以对应地记录所有用户的输入和输出
Defaults log_input, log_output 

(补充:如果存在会话序列号,则会话序列号会默认存储在 /var/log/sudo-io 文件中)

2.5.2 自定义记录所有用户的输入和输出参数存储会话序列号的文件
iolog_dir=<file>

2.6 设置执行 sudo 命令时进行提示

2.6.1 设置执行 sudo 命令时进行提示
Defaults lecture="<value>"

(补充:这里的 <value> 值可以是 always (一直提示),once (用户首次执行 sudo 命令时提示),never (从来不提示))

2.6.2 设置执行 sudo 命令时,存放自定义提示内容的文件
Defaults lecture_file="<file>"

(补充:如果没有此参数的话,则会提示默认内容)

2.7 设置自定义执行 sudo 命令后输错密码的提示

Defaults badpass_message="<prompt>"

2.8 设置执行 sudo 命令时可以输错命令的次数

Defaults passwd_tries=<time>

(补充:默认值为 3)

2.9 增加执行 sudo 命令时,系统输入密码时的等待时间

Defaults passwd_timeout=<time>

2.10 当用户执行 sudo 命令输错密码后羞辱用户

Defaults insults
Posted on June 17, 2022November 22, 2024

[步骤] Linux sudo 日志的开启

步骤一:开启 sudo 日志

# vim /etc/sudoers

或者:

# visudo

添加以下内容:

......
Defaults logfile="/var/log/sudo.log"

步骤二:显示 sudo 日志

2.1 退出后重新登录

(步骤略)

2.2 显示 sudo 日志

# cat /var/log/sudo.log
Posted on June 11, 2022July 9, 2023

[工具] Shell 显示可以无密码登录系统的用户 (以 1 行的形式显示)

介绍

基本信息

作者:朱明宇
名称:显示可以登录系统的用户 (以 1 行到形式显示)
作用:显示可以登录系统的用户 (以 1 行到形式显示)

使用方法

1. 给此脚本添加执行权限
2. 执行此脚本

脚本

#!/bin/bash

userlist=
n=`cat /etc/passwd | wc -l`
i=1

while [ $i -le $n ]
do
	line=`sed -n "$[i]p" /etc/passwd`
	echo $line | egrep "nologin$|false$" &> /dev/null
	if [ $? -ne 0 ];then
                userlist="$userlist `echo $line | awk -F: '{print $1}'`"
	fi
	let i++
done

echo $userlist
Posted on June 10, 2022November 22, 2024

[排错] 解决 Linux 执行 crontab -e 命令时报错 “You (……) are not allowed to use this program (crontab)”

解决方法

如果在系统中没有 /etc/cron.deny 配置文件,在 /etc/cron.allow 配置文件中添加要使用 crontab -e 命令的用户

# vim /etc/cron.allow

添加以下内容:

......
zhumingyu

(补充:这里以添加用户 zhumingyu 为例)

如果在系统中没有 /etc/cron.allow 配置文件,在 /etc/cron.allow 配置文件中删除要使用 crontab -e 命令的用户

# vim /etc/cron.allow

删除以下内容:

......
zhumingyu
......

(补充:这里以删除用户 zhumingyu 为例)

Posted on June 8, 2022July 9, 2023

[内容] Linux 某个所属组里有哪些用户的显示

方法一:通过 /etc/group 配置文件显示某个附属所属组里有哪些用户

# cat /etc/group

(注意:此方法并不能显示出把这些所属组当作主要所属组的用户)

方法二:通过 /etc/passwd 配置文件和 id 命令等显示主要所属组和附属所属组

# for i in `cat /etc/passwd | egrep -v "nologin$|false$|half|sync|shutdown|halt" | awk -F: '{print $1}'`; do id $i; done | sort -k2

(补充:可以通过肉眼比对此命令的输出结果来判断其主要所属组和附属所属组)

Posts pagination

Previous page Page 1 … Page 5 Page 6 Page 7 … Page 10 Next page

Aspiration (愿景):

Everyone can achieve self-achievement and self-happiness fairly

每个人都能公平地实现自我成就和自我幸福

Logo (徽标):

Additional Information (其他信息):

About     Manual     Clone     Contact
Disclaimer     Friendly Links     Donation

关于     手册     克隆     联系
免责声明     友情链接     捐赠

Search Inside Website (站内搜索)

Search Outside Website (站外搜索):

Google         Wikipedia         Bing

Eternal URL (永恒网址):

https://eternity.eternalcenter.com Will be last access method / 将是最后的访问方式

Proudly powered by LNMP Proudly powered by WordPress