loginctl - 控制 systemd 登錄管理器

loginctl

    • loginctl用途
    • loginctl安裝
    • 開啟loginctl服務
    • session操作
    • user操作
    • 管理用戶服務

loginctl - Control the systemd login manager

Redhat/centos平臺使用loginctl管理登錄用戶與session

loginctl用途

  • 控制 systemd 登錄管理器
  • 管理當前登錄的用戶和session

loginctl安裝

loginctl [OPTIONS...] {COMMAND} [NAME...]
  1. 查看所屬的rpm包
[root@blog ~]# whereis loginctl
loginctl: /usr/bin/loginctl /usr/share/man/man1/loginctl.1.gz[root@blog ~]# rpm -qf /usr/bin/loginctl
systemd-239-18.el8_1.4.x86_64
  1. 如果找不到loginctl命令,可以用yum安裝
[root@blog ~]# yum install systemd
  1. 查看版本和幫助
[root@node-137 ~]# loginctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN[root@blog ~]# loginctl --help 

開啟loginctl服務

loginctl在使用時需要systemd-logind.service開啟

[root@redis local]# loginctl list-sessions
Failed to list-sessions: Unit systemd-logind.service is masked.
[root@redis local]# systemctl start systemd-logind.service
Failed to start systemd-logind.service: Unit systemd-logind.service is masked.#如果服務被mask,需要先取消mask再start[root@redis local]# systemctl unmask systemd-logind.service
Removed /etc/systemd/system/systemd-logind.service.
[root@redis local]# systemctl start systemd-logind.service

session操作

  1. 列出本機所有的session
    只執行loginctl 和loginctl list-sessions效果一樣,list-sessions是 loginctl的默認操作
[root@node-137 ~]# loginctlSESSION        UID USER             SEAT31       1000 yurq15          0 root14          0 root30       1000 yurq4 sessions listed.

可以看到:同一個用戶可以開啟多個session

  1. 顯示一個session的詳細信息
[root@node-137 ~]# loginctl show-session 30
Id=30
User=1000
Name=yurq
Timestamp=Fri 2023-11-24 13:16:25 CST
TimestampMonotonic=12800340928
VTNr=0
Remote=yes
RemoteHost=192.168.17.1
Service=sshd
Scope=session-30.scope
Leader=5648
Audit=30
Type=tty
Class=user
Active=yes
State=closing
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
LockedHint=no
  1. 顯示一個session的狀態:
    session-status: session狀態,指定一個session id,可以看到這個session開啟的進程等信息
[root@node-137 ~]# loginctl session-status 30
30 - yurq (1000)Since: Fri 2023-11-24 13:16:25 CST; 1h 30min agoLeader: 5648Remote: 192.168.17.1Service: sshd; type tty; class userState: closingUnit: session-30.scope└─5739 podmanNov 24 13:16:25 node-137 sshd[5648]: pam_unix(sshd:session): session opened for user yurq by (uid=0)
Nov 24 13:16:25 node-137 systemd[1]: Started Session 30 of user yurq.
Nov 24 14:41:58 node-137 sshd[5648]: pam_unix(sshd:session): session closed for user yurq
  1. 結束指定的session
    殺死指定會話的所有進程、釋放所有與此會話相關的資源
    terminate-session 結束指定的session
[root@node-137 ~]# loginctl terminate-session 30
[root@node-137 ~]# loginctlSESSION        UID USER             SEAT42          0 root43          0 root2 sessions listed.
  1. kill-session 殺死session
    與terminate session基本相同,但可以指定發送的信號。如果不加參數,則signal為SIGTERM
[root@node-137 ~]# loginctl kill-session 46

如果指定SIGSTOP,則session沒有退出,但用戶的終端會停止響應

[root@node-137 ~]# loginctl kill-session 45 --signal=SIGSTOP

man參考:

 -s, --signal=When used with kill-session or kill-user, choose which signal to send to selected processes.Must be one of the well known signal specifiers, such as SIGTERM,SIGINT or SIGSTOP. If omitted, defaults to SIGTERM.
  1. 查看自己的tty的session
[root@node-137 ~]# tty
/dev/pts/0
[root@node-137 ~]# loginctl session-status 42
42 - root (0)Since: Fri 2023-11-24 14:42:29 CST; 14min agoLeader: 6526 (sshd)Remote: 192.168.17.1Service: sshd; type tty; class userState: activeUnit: session-42.scope├─6526 sshd: root@pts/0├─6530 -bash├─6765 loginctl session-status 42└─6766 lessNov 24 14:42:29 node-137 sshd[6526]: pam_unix(sshd:session): session opened for user root by (uid=0)
Nov 24 14:42:29 node-137 systemd[1]: Started Session 42 of user root.

user操作

  1. 列出所有用戶
[root@node-137 ~]# loginctl list-usersUID USER0 root1000 yurq2 users listed.
  1. 查看當前登錄用戶的詳細信息
[root@node-137 ~]# loginctl show-user yurq
UID=1000
GID=1000
Name=yurq
Timestamp=Fri 2023-11-24 13:16:25 CST
TimestampMonotonic=12800338419
RuntimePath=/run/user/1000
Slice=user-1000.slice
Display=45
State=active
Sessions=45
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
Linger=yes
  1. 查看登錄用戶的狀態
[root@node-137 ~]# loginctl user-status yurq
yurq (1000)Since: Fri 2023-11-24 13:16:25 CST; 1h 43min agoState: activeSessions: *45Unit: user-1000.slice└─session-45.scope├─6641 sshd: yurq [priv]├─6644 sshd: yurq@pts/1└─6646 -bashNov 24 13:16:25 node-137 sshd[5648]: pam_unix(sshd:session): session opened for user yurq by (uid=0)
Nov 24 13:16:25 node-137 systemd[1]: Created slice User Slice of yurq.
...
Nov 24 14:52:37 node-137 sshd[6643]: pam_unix(sshd:session): session closed for user yurq
  1. 結束指定用戶的所有session
loginctl terminate-user yurq
  1. 停止用戶的終端
[webop@blog ~]$ loginctl kill-user webop --signal=SIGSTOP

管理用戶服務

loginctl enable-linger [USER], disable-linger [USER]

啟用/禁止用戶逗留(相當于保持登錄狀態)。 如果指定了用戶名或UID, 那么系統將會在啟動時自動為這些用戶派生出用戶管理器, 并且在用戶登出后繼續保持運行。 這樣就可以允許未登錄的用戶在后臺運行持續時間很長的服務。 如果沒有指定任何參數, 那么將作用于當前調用者的用戶。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167938.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167938.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167938.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Peter算法小課堂—高精度加法

指針與數組 看看以下代碼&#xff0c;請預測答案 #include <bits/stdc.h> using namespace std; int x[10]{0,1,2,3,4,5,6,7,8,9}; int main(){cout<<x<<endl;cout<<x3<<endl;cout<<*x<<endl;cout<<*(x7)<<endl;cout&…

定制手機套餐---python序列

if __name__ __main__:print("定制手機套餐")print("")#定義電話時長&#xff1a;字典callTimeOptions{1:0分鐘,2:50分鐘,3:100分鐘,4:300分鐘,5:不限量}keyinput("請輸入電話時長的選擇編號&#xff1a;")valuecallTimeOptions.get(key)if val…

代碼隨想錄算法訓練營第五十四天|392.判斷子序列 115.不同的子序列

文檔講解&#xff1a;代碼隨想錄 視頻講解&#xff1a;代碼隨想錄B站賬號 狀態&#xff1a;看了視頻題解和文章解析后做出來了 392.判斷子序列 class Solution:def isSubsequence(self, s: str, t: str) -> bool:dp [[0] * (len(t)1) for _ in range(len(s)1)]for i in ra…

Java 關于批量插入遇到的問題 -sqlserver

序言&#xff1a; 我們在做項目的時候&#xff0c;經常會遇到&#xff0c;對數據的新增動作&#xff0c;如果數據量很少的情況下&#xff0c;單個新增對性能還好&#xff0c;但是一旦涉及到 大數據量&#xff0c;如十萬&#xff0c;百萬&#xff0c;千萬&#xff0c;這個時候如…

RabbitMq使用與整合

MQ基本概念 MQ概述 MQ全稱 Message Queue&#xff08;[kju?]&#xff09;&#xff08;消息隊列&#xff09;&#xff0c;是在消息的傳輸過程中保存消息的容器。多用于分布式系統之間進行通信。 &#xff08;隊列是一種容器&#xff0c;用于存放數據的都是容器&#xff0c;存…

優秀的時間追蹤軟件Timemator for Mac輕松管理時間!

在現代社會&#xff0c;時間管理成為了我們工作和生活中的一大挑戰。如果你經常感到時間不夠用&#xff0c;無法高效地完成任務&#xff0c;那么Timemator for Mac將成為你的得力助手。 Timemator for Mac是一款出色的時間追蹤軟件&#xff0c;它可以幫助你精確記錄和管理你的…

Linux的基本指令 ( 一 )

目錄 前言 Linux基本指令 快速認識五個指令 ls指令 補充內容 pwd指令 補充內容 cd指令 補充內容 重新認識指令 指令的本質 which指令 alias指令 最后 一個文件的三種時間 tree指令及安裝 tree指令 前言 關于Linux操作系統的桌面&#xff0c;在學校教學中我們…

實用高效 無人機光伏巡檢系統助力電站可持續發展

近年來&#xff0c;我國光伏發電行業規模日益壯大&#xff0c;全球領先地位愈發鞏固。為解決光伏電站運維中的難題&#xff0c;浙江某光伏電站與復亞智能達成戰略合作&#xff0c;共同推出全自動無人機光伏巡檢系統&#xff0c;旨在提高發電效率、降低運維成本&#xff0c;最大…

Spark---SparkCore(一)

一、術語與寬窄依賴 1、術語解釋 1、Master(standalone):資源管理的主節點&#xff08;進程&#xff09; 2、Cluster Manager:在集群上獲取資源的外部服務(例如&#xff1a;standalone,Mesos,Yarn) 3、Worker Node(standalone):資源管理的從節點(進程)或者說管理本機資源的…

用Python寫一個瀏覽器集群框架

更多Python學習內容&#xff1a;ipengtao.com 在分布式爬蟲和大規模數據采集的場景中&#xff0c;使用瀏覽器集群是一種有效的方式&#xff0c;可以提高數據采集的速度和效率。本文將介紹如何用Python編寫一個簡單但強大的瀏覽器集群框架&#xff0c;以應對需要使用多個瀏覽器實…

WebGL/threeJS面試題掃描與總結

什么是 WebGL&#xff1f;什么是 Three.js&#xff1f;請解釋three.js中的WebGL和Canvas的區別&#xff1f; WebGL(全寫Web Graphics Library)是一種3D繪圖協議&#xff0c;這種繪圖技術標準允許把JavaScript和OpenGL ES 2.0結合在一起&#xff0c;通過增加OpenGL ES 2.0的一個…

分庫分表、分布式數據庫、MPP

分庫分表、分布式數據庫、MPP的區別嗎&#xff1f; 一、MySQL分庫分表和MySQL分布式集群在性能方面各有優劣&#xff0c;具體取決于應用場景和需求。 MySQL分庫分表&#xff1a; 在分庫分表的場景下&#xff0c;可以將負載分散到多個數據庫實例上&#xff0c;從而提高整體性能…

【模糊測試】課堂筆記

模糊測試 模糊測試過程通常是自動化的。這個過程經典地分為以下幾個階段。 準備&#xff1a;這是第一階段&#xff0c;重點是 SUT 輸入和輸出格式的識別和規范。基于此&#xff0c;規范可以減少生成初始無效模糊數據的可能性并創建有效且精確的輸入。Fuzz Data Generation&am…

思科模擬器操作命令

模式 思科模擬器常見的模式有 用戶模式 能夠操作的命令比較少 特權模式特權模式下面可以操作的比較多 全局模式 接口模式 用戶模式進入特權模式: 命令enable 特權模式進行全局模式命令: configure terminal 退出命令 exit命令&#xff1a;返回上一層&#xff0c;即一步一步…

RocketMQ 消息中間件 知識點匯總

目錄 RocketMQ1、什么是RocketMQ?常用術語:2、為什么需要消息隊列3、什么是異步處理4、什么是服務解耦5、什么是流量控制6、消息隊列兩種模型隊列模型:發布/訂閱模型:總結:7、怎么保證消息不丟失8、如何處理消息被重復消費**出現消息重復的情況:****解決方法:**9、如何保…

流量分析-PhishingEmail_WriteUp

一、題目問題 問題1&#xff1a;黑客的email名稱 問題2&#xff1a;黑客向幾人發送了釣魚郵件 問題3&#xff1a;黑客傳輸的木馬文件名 問題4&#xff1a;下載并運行了木馬文件的人的email名稱和ip地址&#xff0c;用“-”連接 問題5&#xff1a;黑客用于反彈shell的主機i…

什么葡萄酒會適用這種雙重潷析方法呢?

潷析有兩個主要目的&#xff0c;一種是去除陳年或未經過濾的葡萄酒中的沉淀物。雖然沉淀物不會對你造成任何傷害&#xff0c;但當喝葡萄酒滿嘴都是葡萄沉淀物時是一件很糟糕的事。其次&#xff0c;傾析葡萄酒是可以讓葡萄酒“呼吸”與氧氣接觸的&#xff0c;氧氣可以軟化單寧&a…

二維數值型數組例題

1、單位矩陣初始化 題目描述 對用作單位矩陣的數組初始化。單位矩陣在主對角線上的值為1&#xff0c;而其他的地方的值為0&#xff0c;并且主對角線上的行、列下標是一樣的。 輸入要求 輸入一個整數n表示矩陣的行數 輸出要求 輸出n*n的單位矩陣。數據之間以空格間隔&…

LeetCode Hot100 102.二叉樹的層序遍歷

題目&#xff1a; 給你二叉樹的根節點 root &#xff0c;返回其節點值的 層序遍歷 。 &#xff08;即逐層地&#xff0c;從左到右訪問所有節點&#xff09;。 方法&#xff1a;迭代 class Solution {public List<List<Integer>> levelOrder(TreeNode root) {if …

C語言——輸入一個4位正整數,輸出其逆數。

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int i,j 0;int a1,a2,a3,a4;printf("輸入一個4位正整數&#xff1a;\n");scanf("%d",&i);a1 i/1000; a2 i/100%10; a3 i/10%10; a4 i%10; printf("千位a1%d,百位a…