Linux 账户管理命令简单使用

本文记录了 Linux 系统中账户管理的相关命令,包括添加账户(useradd)、删除账户(userdel)、强制登出(pkill)等命令的使用方法。

前言

在购买腾讯云的服务器并搭建个人网站后,我才算是真正的开始学习 Linux 命令。

我最开始使用的是 CentOS 7 系统,在官方停止维护之后就更换为了 Debian 系统。

但不论是 CentOS 7 系统还是 Debian 系统,其账户管理的命令都是一样的。


本文使用 Hyper-V 中的 Debian 系统作为演示环境,具体系统信息如下:

root@hyper-debian:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Tips : 文中命令默认以 root 账户执行,因此省略 sudo 命令。

添加账户

Linux 上可以添加普通账户、管理员账户、服务账户等多种类型的账户,这些账户的创建都可以使用 useradd 命令完成。

普通账户

普通账户无法安装系统软件、修改配置文件,一般只能修改和管理该账户所拥有的文件。

  1. 执行以下命令可以添加名为 newuser 的账户:
    useradd -m -s /bin/bash newuser
    
    • 参数 -m : 创建账户家目录 /home/newuser
    • 参数 -s /bin/bash : 指定账户登录的 Shell 为 /bin/bash
  2. 新账户必须使用 passwd 命令设置密码,否则无法登录:
    passwd newuser
    

管理员账户

管理员账户可以通过 sudo 命令临时获取 root 账户的权限,以此执行系统级管理和维护系统任务。

  1. 执行以下命令可以添加名为 adminuser 的管理员账户:
    useradd -m -s /bin/bash -G sudo adminuser
    
    • 参数 -m : 创建账户家目录 /home/adminuser
    • 参数 -s /bin/bash : 指定账户登录的 Shell 为 /bin/bash
    • 参数 -G sudo : 将账户组指定为 sudo
  2. 新账户必须使用 passwd 命令设置密码,否则无法登录:
    passwd adminuser
    

若是 CentOS 7 系统,则应使用 -G wheel 参数,例如: useradd -m -s /bin/bash -G wheel adminuser
若为已有账户添加管理员权限,则应使用 -aG sudo 参数,例如: usermod -aG sudo newuser

服务账户

服务账户又称为系统账户,是专门用于运行系统后台程序或后台服务的账户。

  1. 执行以下命令可以添加名为 serviceuser 的服务账户:
    useradd -r -s /sbin/nologin serviceuser
    
    • 参数 -r : 创建服务账户并且不创建账户家目录
    • 参数 -s /bin/bash : 指定账户登录的 Shell 为 /sbin/nologin 从而阻止人工登录

服务账户禁止人工登录,因此不需要设置密码。

删除账户

Linux 系统中使用 userdel 命令删除账户。

  1. 执行以下命令可以删除名为 newuser 的账户:
    userdel -r newuser
    
    • 参数 -r : 同时删除账户家目录和邮件池文件
  2. 可以查看 /etc/passwd 文件确认 newuser 账户是否已删除:
    cat /etc/passwd | grep newuser
    

    如果没有任何输出则表示该账户已删除。

强制登出

强制登出能终止已登录会话的 Shell 进程,常用且推荐的方法是 pkill 命令。

  1. 执行以下命令查看已登录 Shell 会话的账户信息:
    w
    

    类似输出如下:

    root@hyper-debian:~# w
     01:15:40 up  5:27,  3 users,  load average: 0.00, 0.00, 0.00
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1     -                19:49    5:26m  0.03s   ?    -bash
    hyper    pts/0    172.26.68.46     19:50    0.00s  0.09s  0.03s sshd: hyper [priv]
    hyper    pts/1    172.26.68.46     01:15   12.00s  0.00s   ?    -bash
    
  2. 使用 pkill 命令和 -t 参数可以终止对应 TTY 账户的 Shell 进程:
    pkill -9 -t pts/1
    

总结

Linux 账户管理命令基本上就是这些,另外账户组管理、权限管理等命令不属于此类别。

我个人习惯直接使用 root 账户进行系统管理和维护,所以不会主动创建管理员账户。

服务账户一般是安装程序时由程序自行添加,例如 MySQL 、 Nginx 等服务所使用的账户。

普通账户一般会用来运行特定的程序,或者是使用该账户登录系统后再切换为 root 账户。

参考链接

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇