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 (系统用户)

Posted on March 27, 2025March 27, 2025

[命令] Linux 命令 loginctl 的使用 (查看和管理所有 SSH 登录会话\进程)

内容一:查看所有 SSH 登录会话\进程

# loginctl -a
SESSION   UID USER         SEAT TTY  
     27  1001 mingyuzhu      pts/0

(
补充:从输出结果可以看出
1) 会话\进程的 SESSION 号码为 27
2) 创建会话\进程的用户 UID 是 1001
3) 创建会话\进程的用户是 mingyuzhu
4) 创建会话\进程的 SEAT TTY 是 pts/0
)

内容二:关闭某个 SSH 登录会话\进程

# loginctl terminate-session 27

(补充:这里以关闭 SESSION 号码是 27 的会话\进程为例)

内容三:批量关闭某个用户通过 SSH 登录的所有会话\进程

3.1 批量关闭某个用户通过 SSH 登录的所有会话\进程 (显示输出结果)

# loginctl -a | grep mingyuzhu| awk '{print "loginctl terminate-session  "$1;system("loginctl terminate-session "$1"")}'

3.2 批量关闭某个用户通过 SSH 登录的所有会话\进程 (不显示输出结果)

# loginctl -a | grep mingyuzhu| awk '{print "loginctl terminate-session  "$1;system("loginctl terminate-session "$1"")}' > /dev/null

或者:

# loginctl -a | grep mingyuzhu| `awk '{print "loginctl terminate-session  "$1;system("loginctl terminate-session "$1"")}'`
Posted on March 20, 2025March 20, 2025

[步骤] Linux audit 日志的查看 (判断哪个文件是被哪个用户修改过)

步骤一:查看在 audit 日志中文件被修改的日志编号

# cat /var/log/audit/audit.log | grep test.txt
......
type=PATH msg=audit(1532475291.426:18858423)......
......

(
补充:
1) 这里以查看在 audit 日志中文件 test.txt 被修改的记录为例
2) 从这里的输出结果可以看到此次的修改记录中日志的编号是 18858423
)

步骤二:在 audit 日志中查看和此日志编号相同的的日志里记录的 PPID

# cat /var/log/audit/audit.log | grep ppid | grep 18858423
......
...... ppid=6027281 ......
......

(
补充:
1) 这里以查看在 audit 日志中和日志编号 18858423 相同的的日志里记录的 PPID 为例
2) 这里的日志编号 18858423 是在步骤一中查到的
3) 从这里的输出结果可以看到和此日志编号相同的日志里记录的 PPID 是 6027281
)

步骤三:在系统日志中查看哪个用户登录系统时生成的是此 PPID

# cat /var/log/messages | grep terminal=ssh  | grep 6027281

(
补充:
1) 这里以查看在系统日志中哪个用户登录系统时生成的是 PPID 6027281 为例
2) 这里的 PPID 6027281 是在步骤二中查到的
)

Posted on February 11, 2025February 11, 2025

[步骤] Linux su 命令使用的限制 (只让某些用户使用 su 命令) (RockyLinux & RHEL 版)

步骤一:创建可以使用 su 命令的组

# gourpadd whocansu

(补充:这里以创建组 whocansu 为例)

步骤二:将需要使用 su 命令的用户添加到可以使用 su 命令的组里

# usermod -a -G whocansu zhumingyu

或者:

# usermod -aG whocansu zhumingyu

(补充:这里以将用户 zhumingyu 添加到 whocansu 组为例)

步骤三:设置着只让某个组队用户可以使用 su 命令

# vim /etc/pam.d/su

在此行下面:

......
# Uncomment the following line to require a user to be in the "wheel" group.
......

将以下内容

......
# auth required pam_wheel.so use_uid
......

修改为:

......
auth required pam_wheel.so use_uid group=whocansu
......

(补充:这里以只允许组 whocansu 可以使用 su 命令为例)

(
注意:
1) 此时如果用户有 sudo su 权限的话,那么依旧可以通过 sudo su 命令切换到 root
2) RockyLinux & RHEL 的 /etc/pam.d/su 文件里的每行都有严格的顺序,如果顺序错误,则所有用户都将不能再使用 su 命令,包括 sudo su 命令
)

Posted on January 20, 2025February 11, 2025

[步骤] Linux su 命令使用的限制 (只让某些用户使用 su 命令) (openSUSE & SLES 版)

步骤一:创建可以使用 su 命令的组

# gourpadd whocansu

(补充:这里以创建组 whocansu 为例)

步骤二:将需要使用 su 命令的用户添加到可以使用 su 命令的组里

# usermod -a -G whocansu zhumingyu

或者:

# usermod -aG whocansu zhumingyu

(补充:这里以将用户 zhumingyu 添加到 whocansu 组为例)

步骤三:设置着只让某个组队用户可以使用 su 命令

# vim /etc/pam.d/su

添加以下内容:

#%PAM-1.0
auth required pam_wheel.so use_uid group=whocansu
......

(补充:这里以只允许组 whocansu 可以使用 su 命令为例)

(注意:此时如果用户有 sudo su 权限的话,那么依旧可以通过 sudo su 命令切换到 root)

Posted on November 21, 2024April 8, 2025

[内容] Linux 用户属于哪个软件的判断思路

方法一:通过 /etc/passwd 中记录的用户描述判断

# cat /etc/passwd | grep <user>

(补充:以冒号 “:” 为分隔符,第 5 列是这个用户的描述)

方法二:通过 /etc/passwd 中记录的家目录判断

2.1 查看这个用户的家目录

# cat /etc/passwd | grep <user>

(补充:以冒号 “:” 为分隔符,第 6 列是这个用户的家目录)

2.2 确认这个家目录属于哪个软件

# rpm -qf <homedirectory>

方法三:通过此用户所拥有的目录或文件判断

3.1 查看这个用户的 UID

# cat /etc/passwd | grep <user>

(补充:以冒号 “:” 为分隔符,第 3 列是这个用户的 UID)

(注意:这里需要记住 UID,因为下个步骤需要使用)

3.2 查找属于这个 UID 的文件

# find / -uid <UID>

(
注意:
1) 这里的 UID,必须和上个步骤输出命令后显示的 UID 一致
2) 这里需要记住查找到的文件,因为下个步骤需要使用
)

3.3 确认属于这个 UID 的文件属于哪个软件

# rpm -qf <file>

(注意:这里的文件,必须和上个步骤输出命令后显示的文件一致)

方法四:通过目前系统的进程判断

# ps -aux | grep <user>

方法五:通过系统日志判断

# cat /var/log/messages | grep <user>

方法六:通过 rpm 命令查找此用户是被哪个软件安装时附带创建的

# rpm -q --scripts `rpm -qa`  | grep -E '<user>|useradd'

方法七:有时候删错用户时,会删除失败,并提示此账号正在被哪个进程使用,此时可以通过此进程确定此用户属于哪个软件 (注意:此方法请勿使用)

7.1 删除某个认为没有用的用户 (注意:此步骤请勿使用)

# userdel -r usbmux
userdel: user usbmux is currently used by process 222

(
补充:
1) 这里以删除 usbmux 用户为例
2) 从输出结果可以看到,此时这个用户正在被 222 进程使用
)

7.2 通过进程查找此进程是由哪个文件使用的

# ps -aux | grep 222
......
nscd       222  0.0  0.2 825757  4393 ?        Ssl  Oct29   3:13 /usr/sbin/nscd
......

(
补充:
1) 这里以查看使用进程 222 的文件为例
2) 从输出结果可以看到,此时在使用进程 222 的文件是 /usr/sbin/nscd
)

7.3 查看此文件是属于哪个软件的

# rpm -qf /usr/sbin/nscd

(补充:这里以查看 /usr/sbin/nscd 文件是属于哪个软件为例)

Posts pagination

Page 1 Page 2 … Page 8 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