建设网站的步骤,北京最大专业网站建设,长沙装修公司招聘信息,游戏代理0加盟费loginctl loginctl用途loginctl安装开启loginctl服务session操作user操作管理用户服务 loginctl - Control the systemd login manager
Redhat/centos平台使用loginctl管理登录用户与session
loginctl用途
控制 systemd 登录管理器管理当前登录的用户和session
loginctl安装… loginctl loginctl用途loginctl安装开启loginctl服务session操作user操作管理用户服务 loginctl - Control the systemd login manager
Redhat/centos平台使用loginctl管理登录用户与session
loginctl用途
控制 systemd 登录管理器管理当前登录的用户和session
loginctl安装
loginctl [OPTIONS...] {COMMAND} [NAME...]查看所属的rpm包
[rootblog ~]# whereis loginctl
loginctl: /usr/bin/loginctl /usr/share/man/man1/loginctl.1.gz[rootblog ~]# rpm -qf /usr/bin/loginctl
systemd-239-18.el8_1.4.x86_64如果找不到loginctl命令可以用yum安装
[rootblog ~]# yum install systemd查看版本和帮助
[rootnode-137 ~]# loginctl --version
systemd 219
PAM AUDIT SELINUX IMA -APPARMOR SMACK SYSVINIT UTMP LIBCRYPTSETUP GCRYPT GNUTLS ACL XZ LZ4 -SECCOMP BLKID ELFUTILS KMOD IDN[rootblog ~]# loginctl --help 开启loginctl服务
loginctl在使用时需要systemd-logind.service开启
[rootredis local]# loginctl list-sessions
Failed to list-sessions: Unit systemd-logind.service is masked.
[rootredis local]# systemctl start systemd-logind.service
Failed to start systemd-logind.service: Unit systemd-logind.service is masked.#如果服务被mask,需要先取消mask再start[rootredis local]# systemctl unmask systemd-logind.service
Removed /etc/systemd/system/systemd-logind.service.
[rootredis local]# systemctl start systemd-logind.servicesession操作
列出本机所有的session 只执行loginctl 和loginctl list-sessions效果一样list-sessions是 loginctl的默认操作
[rootnode-137 ~]# loginctlSESSION UID USER SEAT31 1000 yurq15 0 root14 0 root30 1000 yurq4 sessions listed.可以看到同一个用户可以开启多个session
显示一个session的详细信息
[rootnode-137 ~]# loginctl show-session 30
Id30
User1000
Nameyurq
TimestampFri 2023-11-24 13:16:25 CST
TimestampMonotonic12800340928
VTNr0
Remoteyes
RemoteHost192.168.17.1
Servicesshd
Scopesession-30.scope
Leader5648
Audit30
Typetty
Classuser
Activeyes
Stateclosing
IdleHintno
IdleSinceHint0
IdleSinceHintMonotonic0
LockedHintno显示一个session的状态: session-status: session状态指定一个session id,可以看到这个session开启的进程等信息
[rootnode-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 (uid0)
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结束指定的session 杀死指定会话的所有进程、释放所有与此会话相关的资源 terminate-session 结束指定的session
[rootnode-137 ~]# loginctl terminate-session 30
[rootnode-137 ~]# loginctlSESSION UID USER SEAT42 0 root43 0 root2 sessions listed.kill-session 杀死session 与terminate session基本相同,但可以指定发送的信号。如果不加参数则signal为SIGTERM
[rootnode-137 ~]# loginctl kill-session 46如果指定SIGSTOP则session没有退出但用户的终端会停止响应
[rootnode-137 ~]# loginctl kill-session 45 --signalSIGSTOPman参考 -s, --signalWhen 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.查看自己的tty的session
[rootnode-137 ~]# tty
/dev/pts/0
[rootnode-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: rootpts/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 (uid0)
Nov 24 14:42:29 node-137 systemd[1]: Started Session 42 of user root.user操作
列出所有用户
[rootnode-137 ~]# loginctl list-usersUID USER0 root1000 yurq2 users listed.查看当前登录用户的详细信息
[rootnode-137 ~]# loginctl show-user yurq
UID1000
GID1000
Nameyurq
TimestampFri 2023-11-24 13:16:25 CST
TimestampMonotonic12800338419
RuntimePath/run/user/1000
Sliceuser-1000.slice
Display45
Stateactive
Sessions45
IdleHintno
IdleSinceHint0
IdleSinceHintMonotonic0
Lingeryes查看登录用户的状态
[rootnode-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: yurqpts/1└─6646 -bashNov 24 13:16:25 node-137 sshd[5648]: pam_unix(sshd:session): session opened for user yurq by (uid0)
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结束指定用户的所有session
loginctl terminate-user yurq停止用户的终端
[webopblog ~]$ loginctl kill-user webop --signalSIGSTOP管理用户服务
loginctl enable-linger [USER…], disable-linger [USER…]启用/禁止用户逗留(相当于保持登录状态)。 如果指定了用户名或UID 那么系统将会在启动时自动为这些用户派生出用户管理器 并且在用户登出后继续保持运行。 这样就可以允许未登录的用户在后台运行持续时间很长的服务。 如果没有指定任何参数 那么将作用于当前调用者的用户。