Linux 零基础速查:看完就能上手的基础命令合集5 📅 2026/7/21 23:41:41 Linux 零基础速查看完就能上手的基础命令合集5Linux 用户和组管理passwd 文件/etc/passwd 文件保存操作系统登录用户信息。每行包含一个登录用户信息以冒号分隔七个域。格式name:password:UID:GID:GECOS:directory:shell示例laoma❌1000:1000:software admin:/home/laoma:/bin/bash解释如下name用户登录名password用户密码以x表示UID用户IDGID用户主组IDGECOS用户描述信息通常为用户的真实姓名directory用户主目录启动shell时的工作目录默认位于/home/usernameshell用户打开终端时运行的程序默认是shell。group 文件组是用户的集合组中用户继承组权限。与用户一样组具有组名称以使其更易于使用。系统通过分配给它们的唯一标识号组ID或GID来区分组。/etc/group 文件保存操作系统组信息。每行包含一个组信息以冒号分隔4个域。格式group_name:password:GID:user_list示例[laomacentos7 ~]$ grep wheel /etc/groupwheel❌10:laoma解释如下group_name组名称password组密码用x表示GID组ID唯一表示组user_list作为补充的成员本地用户管理whoami 命令whoami命令可以查看当前终端中登录的用户 [rootCentOS7 ~ 20:43:44]# whoami rootwho命令who命令可以查看当前系统中所有终端上登录的用户以及用户登录的时间。 [gzkCentOS7 ~ 20:46:36]$ who gzk :0 2026-07-19 20:28 (:0) gzk pts/0 2026-07-19 20:28 (10.1.8.1) root pts/1 2026-07-19 20:33 (10.1.8.1)useradd 命令作用是用来创建用户的 [rootCentOS7 ~ 20:49:46]# useradd user01 [rootCentOS7 ~ 20:49:56]# cat /etc/passwd | grep user01 user01:x:1001:1001::/home/user01:/bin/bash 自定义参数添加用户 [rootCentOS7 ~ 20:50:22]# useradd -u 8888 -d /opt/user02 -c user for software manage -g wheel -s /sbin/nologin user02 [rootCentOS7 ~ 20:54:38]# cat /etc/passwd | grep user02 user02:x:8888:10:user for software manage:/opt/user02:/sbin/nologin # -u uid # -d 用户的家目录 # -c 描述信息 # -g 用户的主组 # -s 用户shell程序usermod命令作用是可以用来修改用户的属性 [rootCentOS7 ~ 20:54:48]# usermod user02 -u 1008 -md /home/user02 -s /bin/bash [rootCentOS7 ~ 21:07:58]# cat /etc/passwd | grep user02 user02:x:1008:10:user for software manage:/home/user02:/bin/bash [rootCentOS7 ~ 21:08:19]# ls -d /home/user02 /home/user02 添加补充组如果没有-a选项则代表将补充组设置为user01原先的补充组就被覆盖了。 [rootCentOS7 ~ 21:08:48]# id user02 uid1008(user02) gid10(wheel) 组10(wheel) [rootCentOS7 ~ 21:11:52]# usermod -aG user01 user02 [rootCentOS7 ~ 21:11:58]# id user02 uid1008(user02) gid10(wheel) 组10(wheel),1001(user01)userdel命令userdel命令是用来删除用户的 [rootCentOS7 ~ 21:14:25]# useradd user03 [rootCentOS7 ~ 21:17:37]# id user03 uid1010(user03) gid1010(user03) 组1010(user03) [rootCentOS7 ~ 21:17:44]# cat /etc/passwd | grep user03 user03:x:1010:1010::/home/user03:/bin/bash [rootCentOS7 ~ 21:18:10]# userdel user03 [rootCentOS7 ~ 21:18:19]# cat /etc/passwd | grep user03 [rootCentOS7 ~ 21:18:22]# id user03 id: user03: no such user本地组管理groupadd 命令作用是用来创建用户组的 [rootCentOS7 ~ 21:24:00]# groupadd admin [rootCentOS7 ~ 21:24:11]# cat /etc/group | grep admin printadmin:x:997: admin:x:1010: -g 设置组id [rootCentOS7 ~ 21:24:29]# groupadd sysadmin -g 2000 [rootCentOS7 ~ 21:26:30]# cat /etc/group | grep sysadmin sysadmin:x:2000:groupmod 命令作用是可以用来修改用户组的属性 修改组名称 [rootCentOS7 ~ 21:26:40]# groupmod -n admins admin [rootCentOS7 ~ 21:28:41]# cat /etc/group | grep admins admins:x:1010: 修改组id [rootCentOS7 ~ 21:28:49]# groupmod -g 2002 admins [rootCentOS7 ~ 21:30:00]# cat /etc/group | grep admins admins:x:2002:groupdel 命令作用是可以用来删除用户组 [rootCentOS7 ~ 21:30:03]# cat /etc/group | grep sysadmin sysadmin:x:2000: [rootCentOS7 ~ 21:31:54]# groupdel sysadmin [rootCentOS7 ~ 21:32:00]# cat /etc/group | grep sysadmingroupmem 命令可以对用户组里的用户进行修改 添加成员 [rootCentOS7 ~ 21:35:06]# groupmems -g admins -a gzk [rootCentOS7 ~ 21:35:24]# groupmems -g admins -l gzk [rootCentOS7 ~ 21:35:26]# id gzk uid1000(gzk) gid1000(gzk) 组1000(gzk),2002(admins) 删除成员 [rootCentOS7 ~ 21:35:34]# groupmems -g admins -d gzk [rootCentOS7 ~ 21:36:32]# groupmems -g admins -l [rootCentOS7 ~ 21:36:42]# id gzk uid1000(gzk) gid1000(gzk) 组1000(gzk) 清空组中所有成员 [rootCentOS7 ~ 21:37:51]# groupmems -g admins -a gzk [rootCentOS7 ~ 21:38:18]# groupmems -g admins -a zhangsan [rootCentOS7 ~ 21:38:23]# groupmems -g admins -l gzk zhangsan [rootCentOS7 ~ 21:38:27]# groupmems -g admins -p [rootCentOS7 ~ 21:38:37]# groupmems -g admins -l管理用户密码shadow 文件/etc/shadow 文件保存操作系统登录用户密码信息。示例[rootCentOS7 ~ 21:38:39]# cat /etc/shadow | grep gzkgzk:666XLzba9XNZt6EorVJ$mCrdcHZhB3YfOY9PBDgPo/XEo5sSn9qupAts4B419WsCJ4P0paywNwTm2p/PsDBOz4IvE0nm6vk6Xx/YNdVvh/::0:99999:7:::解释如下login name用户登录名。encrypted password加密的密码。date of last password change上一次密码更改日期以距离1970-1-1过去的天数表示。设置为0强制用户下次登录时更改密码。minimum password age最小密码生命周期。设置为0密码可以随时更改。maximum password age最大密码生命周期。password warning period密码过期前提前多少天告警。设置为0不提示过期。password inactivity period密码过期后非活跃天数在期间密码仍可以使用。account expiration date账户过期时间以距离1970-1-1过去的天数表示。reserved field保留域。chage 命令查看用户密码信息 [rootCentOS7 ~ 21:48:47]# chage -l gzk 最近一次密码修改时间 从不 密码过期时间 从不 密码失效时间 从不 帐户过期时间 从不 两次改变密码之间相距的最小天数 0 两次改变密码之间相距的最大天数 99999 在密码过期之前警告的天数 7 修改用户密码要求 [rootCentOS7 ~ 21:48:52]# chage -M 100 gzk [rootCentOS7 ~ 21:51:40]# chage -l gzk 最近一次密码修改时间 从不 密码过期时间 从不 密码失效时间 从不 帐户过期时间 从不 两次改变密码之间相距的最小天数 0 两次改变密码之间相距的最大天数 100 在密码过期之前警告的天数 7 [rootCentOS7 ~ 21:51:44]# chage -m 10 gzk [rootCentOS7 ~ 21:53:25]# chage -l gzk 最近一次密码修改时间 从不 密码过期时间 从不 密码失效时间 从不 帐户过期时间 从不 两次改变密码之间相距的最小天数 10 两次改变密码之间相距的最大天数 100 在密码过期之前警告的天数 7 将密码失效时间改成现在然后去普通用户重新设置密码 [rootCentOS7 ~ 21:53:27]# chage -d 0 gzk [rootCentOS7 ~ 21:54:40]# chage -l gzk 最近一次密码修改时间 密码必须更改 密码过期时间 密码必须更改 密码失效时间 密码必须更改 帐户过期时间 从不 两次改变密码之间相距的最小天数 10 两次改变密码之间相距的最大天数 100 在密码过期之前警告的天数 7 最后将设置都还原Linux 提权管理大多数时候Linux系统管理员以非特权用户身份登录系统并使用工具暂时获得特权用户root管理系统。su 命令示例1su username 启动一个非登录shell使用当前的环境设置上一个用户示例2su -l username 启动一个登录shell设置了shell环境很多环境变量仍保留为普通用户 [gzkCentOS7 ~ 22:07:36]$ su 密码 [rootCentOS7 gzk 22:07:36]# env | grep gzk HOSTNAMECentOS7.gzk.cloud USERgzk PATH/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/gzk/.local/bin:/home/gzk/bin MAIL/var/spool/mail/gzk PWD/home/gzk LOGNAMEgzk XDG_DATA_DIRS/home/gzk/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share [rootCentOS7 gzk 22:07:36]# exit exit [gzkCentOS7 ~ 22:07:36]$ su -l root 密码 上一次登录日 7月 19 22:07:36 CST 2026pts/0 上 [rootCentOS7 ~ 22:07:36]# env | grep gzk HOSTNAMECentOS7.gzk.cloud添加一个用户设置密码为redhat [rootCentOS7 ~ 22:07:36]# useradd laowang [rootCentOS7 ~ 22:07:36]# echo redhat | passwd --stdin laowang 更改用户 laowang 的密码 。 passwd所有的身份验证令牌已经成功更新。 [rootCentOS7 ~ 22:07:36]# cat /etc/passwd | grep laowang laowang:x:1010:1010::/home/laowang:/bin/bash 切换普通用户使用su命令以laowang用户执行id命令 [gzkCentOS7 ~ 22:07:37]$ su -l laowang -c id 密码 uid1010(laowang) gid1010(laowang) 组1010(laowang) 环境unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [gzkCentOS7 ~ 22:07:37]$ su -l laowang -c cat /etc/hosts 密码 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [gzkCentOS7 ~ 22:07:37]$ su -l laowang -c cat /etc/hosts 原因没有把 cat /etc/hosts 当作整体sudo 命令从根本上说Linux实现了一个非常粗糙的获得权限模型root 可以做任何事情其他用户与系统相关什么也不能做。su 缺点用户必须知道 root 用户密码获取 root 用户所有权限。未记录用户执行命令。无法以 /sbin/nologin 的用户身份运行命令。sudo 优点sudo 允许用户以其他用户身份执行特定命令。sudo 需要用户输入用户自己的密码而非他们想访问的用户密码。sudo 执行的命令会记录在 /var/log/secure 文件中。sudo 语法sudo [-u username] command有sudo权限 [gzkCentOS7 ~ 22:18:46]$ sudo id [sudo] gzk 的密码 uid0(root) gid0(root) 组0(root) 环境unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [gzkCentOS7 ~ 22:18:51]$ id gzk uid1000(gzk) gid1000(gzk) 组1000(gzk),10(wheel) 没sudo权限 [gzkCentOS7 ~ 22:07:37]$ sudo id 我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点 #1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大责任越大。 [sudo] gzk 的密码 gzk 不在 sudoers 文件中。此事将被报告。