8.Linux 用户和组管理(从零开始学)

!!!在开启一天的学习的时候,先做好快照,过程中如果出现意外的报错,解决不了的就立即恢复快照,作为初学者,省时省力,不要过于纠结哪里错了,浪费时间!!!

1.用户和组介绍

1.1 用户介绍

用户帐户是系统安全的基础。 系统上的每个进程(运行程序)都以特定用户身份运行。 每个文件都有一个特定用户作为其所有者。 文件所有权有助于系统对文件用户实施访问控制。正在运行的进程关联的用户确定该进程可访问的文件和目录。用户使用username标识并使其更易于使用。在内部,系统通过分配给它们的唯一标识号,用户ID或UID来区分用户帐户。 如果用户使用用户帐户,则通常会为其分配一个密码,用户在登录时将使用该密码来证明他们是实际的授权用户。

用户帐户主要有三种类型:

  • superuser:用于管理系统,用户名称为root,UID为0,对系统具有完全访问权限。
  • system users:系统具有系统用户帐户,由提供支持服务的进程使用。 这些进程或守护进程通常不需要以超级用户身份运行。 它们是非特权帐户,用户保护自己文件和其他资源。系统用户帐户不用于交互方式登录系统。
  • regular users:大多数用户拥有常规用户帐户,用于日常工作。

1.2 passwd 文件

/etc/passwd 文件保存操作系统登录用户信息。每行包含一个登录用户信息,以冒号分隔七个域。

格式:

[fengkai@centos7 ~ 20:10:43]$ man 5 passwd
·····
              account:password:UID:GID:GECOS:directory:shell
              (帐号:密码:用户ID:组ID:一般的信息:目录:shell)
·····

示例:

[fengkai@centos7 ~ 20:24:38]$ grep fengkai /etc/passwd
fengkai:x:1000:1000:fengkai:/home/fengkai:/bin/bash

解释如下:

  • name:用户登录名(fengkai)

  • password:用户密码,以x表示

  • UID:用户ID(1000)

  • GID:用户主组ID(1000)

  • GECOS:用户描述信息,通常为用户的真实姓名(冯凯)

  • directory:用户主目录,启动shell时的工作目录,默认位于/home/username(/home/fengkai)

  • shell:用户打开终端时运行的程序,默认是shell。(/bin/bash)

对于system user,它的shell是/sbin/nologin。

示例:

[fengkai@centos7 ~ 20:22:09]$ grep postfix /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin

1.3 group 文件

组是用户的集合,组中用户继承组权限。与用户一样,组具有组名称以使其更易于使用。系统通过分配给它们的唯一标识号,组ID或GID来区分组。

/etc/group 文件保存操作系统组信息。每行包含一个组信息,以冒号分隔4个域。格式:

[fengkai@centos7 ~ 20:26:41]$ man group
·····
              group_name:passwd:GID:user_list

       字段描述如下:

       group_name
              组名

       password
              (加密的)组密码.如果该字段为空,则不需要密码.

       GID    组的数字标识.

       user_list
              组内所有成员的用户名,以逗号分隔.
·····

示例:

[fengkai@centos7 ~ 20:30:46]$ grep wheel /etc/group
wheel:x:10:fengkai

解释如下:

  • group_name:组名称(wheel)
  • password:组密码,用x表示
  • GID:组ID,唯一表示组(10)
  • user_list:作为补充的成员(fengkai)

1.4 组的类型

  • 主要组:每个用户只有一个主要组,/etc/passwd 文件中的GID编号定义。 默认情况下,用户创建的新文件组所有者为用户的主要组。通常,在创建新的常规用户时,会创建一个与该用户同名的新组。该组用作新用户的主要组,该用户是此用户专用组的唯一成员,有助于简化文件权限管理。
  • 补充组:用户还可以拥有补充组。 补充组的成员资格由/etc/group文件确定。 根据用户的任何组是否具有访问权限,授予用户访问权限的权限。例如,如果用户user01具有主要组user01和补充组wheel和webadmin,则该用户可以读取这三个组中任何一个组可读的文件。
# 查看用户信息
[fengkai@centos7 ~ 20:31:52]$ id
uid=1000(fengkai) gid=1000(fengkai) 组=1000(fengkai),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

# 查看用户 uid
[fengkai@centos7 ~ 20:33:51]$ id -u fengkai
1000

1.5 综合练习

1.哪一项表示在最基本的层面上标识用户的编号? a. 主要用户 b. UID c. GID d. 用户名

B

2.哪一项表示提供用户命令行提示符的程序? a. 主 shell b. 主目录 c. 登录 shell d. 命令名称

C

3.哪一项目或文件表示本地组信息的位置? a. 主目录 b. /etc/passwd c. /etc/GID d. /etc/group

D

4.哪一项目或文件表示用户个人文件的位置? a. 主目录 b. 登录 shell c. /etc/passwd d. /etc/group

A

5.哪一项表示在最基本的层面上标识组的编号? a. 主要组 b. UID c. GID d. groupid

C

6.哪一项目或文件表示本地用户帐户信息的位置? a. 主目录 b. /etc/passwd c. /etc/UID d. /etc/group

B

7./etc/passwd 文件的第四个字段是什么? a. 主目录 b. UID c. 登录 shell d. 主要组

D

2.本地用户管理

2.1 whoami 命令

查看当前终端中登录的用户。

[fengkai@centos7 ~ 20:34:04]$ whoami
fengkai

2.2 who 和 w 命令

查看当前系统中所有终端上登录的用户,以及用户登录的时间。

[root@centos7 ~ 20:43:49]# who
fengkai  pts/0        2026-07-17 19:51 (10.1.8.1)
fengkai  :0           2026-07-17 19:51 (:0)
root     pts/1        2026-07-17 20:43 (10.1.8.1)
[root@centos7 ~ 20:43:54]# w
 20:43:56 up  1:04,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
fengkai  pts/0    10.1.8.1         19:51    1:24   0.57s  0.57s -bash
fengkai  :0       :0               19:51   ?xdm?   1:09   0.27s /usr/libexec/gn
root     pts/1    10.1.8.1         20:43    4.00s  0.02s  0.00s w

2.3 users 命令

查看当前系统中所有终端上登录的用户名。

[fengkai@centos7 ~ 20:44:25]$ users
fengkai fengkai root

2.4 useradd 命令

作用:创建用户

# 用户1
[root@centos7 ~ 20:48:56]# useradd user01
[root@centos7 ~ 20:49:17]# grep user01 /etc/passwd
user01:x:1002:1002::/home/user01:/bin/bash

# 用户2
[root@centos7 ~ 20:49:33]# useradd -u 8888 -d /opt/user02 -c "user for software manage" -g wheel -s /sbin/nologin user02
# -u uid
# -d 用户的家目录
# -c 描述信息
# -g 用户的主组
# -s 用户shell程序

[root@centos7 ~ 20:49:59]# grep user02 /etc/passwd
user02:x:8888:10:user for software manage:/opt/user02:/sbin/nologin
[root@centos7 ~ 20:50:19]# ls -d /opt/user02/
/opt/user02/

# 创建一个没有密码的账户,该用户在图形化界面中可以直接登录
[root@centos7 ~ 20:50:50]# useradd -p '' tom
[root@centos7 ~ 20:51:27]# grep tom /etc/passwd
tom:x:8889:8889::/home/tom:/bin/bash

新用户家目录中的文件来源于 /etc/skel/ 目录。

[root@centos7 ~ 20:51:31]# ls -a ~tom
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@centos7 ~ 20:52:35]# ls -a /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla

创建用户的时候,用户属性默认参数配置在 /etc/login.defs 文件。

[root@centos7 ~ 20:52:44]# vim /etc/login.defs
·····
MAIL_DIR        /var/spool/mail
UMASK           022
HOME_MODE       0700

PASS_MAX_DAYS   99999
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7

# Min/max values for automatic uid selection in useradd
UID_MIN                  1000
UID_MAX                 60000
# System accounts
SYS_UID_MIN               201
SYS_UID_MAX               999

# Min/max values for automatic gid selection in groupadd
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999

CREATE_HOME     yes
USERGROUPS_ENAB yes
...

2.5 usermod 命令

作用:修改用户属性。

[root@centos7 ~ 20:55:44]# grep user02 /etc/passwd
user02:x:8888:10:user for software manage:/opt/user02:/sbin/nologin
[root@centos7 ~ 20:57:18]# usermod user02 -u 1008 -md /home/user02 -s /bin/bash 
# -m 移动家目录到新的位置

[root@centos7 ~ 20:58:09]# grep user02 /etc/passwd
user02:x:1008:10:user for software manage:/home/user02:/bin/bash
[root@centos7 ~ 20:58:11]# ls -d /home/user02/
/home/user02/

[root@centos7 ~ 20:59:09]# su - user02
[user02@centos7 ~ 20:59:32]$

# 添加补充组,如果没有-a选项,则代表将补充组设置为user01,原先的补充组就被覆盖了。
[root@centos7 ~ 21:02:05]# id user01
uid=1002(user01) gid=1002(user01) 组=1002(user01)
[root@centos7 ~ 21:03:03]# id user02
uid=1008(user02) gid=10(wheel) 组=10(wheel)

[root@centos7 ~ 21:03:05]# usermod -aG user01 user02

[root@centos7 ~ 21:03:34]# id user01
uid=1002(user01) gid=1002(user01) 组=1002(user01)
[root@centos7 ~ 21:03:45]# id user02
uid=1008(user02) gid=10(wheel) 组=10(wheel),1002(user01)

2.6 userdel 命令

# 正常删除
[root@centos7 ~ 21:03:46]# useradd user03
[root@centos7 ~ 21:06:12]# userdel user03

# 强制删除
[root@centos7 ~ 21:06:18]# userdel user02
userdel: user user02 is currently used by process 2474
[root@centos7 ~ 21:06:36]# id user02
uid=1008(user02) gid=10(wheel) 组=10(wheel),1002(user01)


# 尽量不要强制删除,要找到无法删除的原因
[root@centos7 ~ 21:06:47]# userdel -f user02
userdel: user user02 is currently used by process 2474
[root@centos7 ~ 21:07:37]# id user02
id: user02: no such user

2.7 综合练习

1.创建 operator1 用户

[root@centos7 ~ 21:11:52]# useradd operator1

2.使用 id 验证 operator1 用户信息

[root@centos7 ~ 21:13:56]# id operator1
uid=8890(operator1) gid=8890(operator1) 组=8890(operator1)

3.查看 /etc/passwd 中对应条目

[root@centos7 ~ 21:14:08]# grep operator1 /etc/passwd
operator1:x:8890:8890::/home/operator1:/bin/bash

4.密码设置为 redhat

[root@centos7 ~ 21:22:33]# passwd operator1 
更改用户 operator1 的密码 。
# 输入redhat
新的 密码:
无效的密码: 密码少于 8 个字符
# 输入redhat
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

# 虽然密码少于8个字符,但是还是生效可以登陆的
[fengkai@centos7 ~ 21:19:28]$ su - operator1
密码:
上一次登录:五 7月 17 21:23:57 CST 2026:0 上
[operator1@centos7 ~ 21:24:22]$ 

5.修改 operator1 用户uid为1088

[root@centos7 ~ 21:28:10]# id operator1
uid=8890(operator1) gid=8890(operator1) 组=8890(operator1)

# 通过修改usermod属性,有报错就pkill掉operator1
[root@centos7 ~ 21:30:09]# usermod operator1 -u 1088
usermod: user operator1 is currently used by process 3102
[root@centos7 ~ 21:31:22]# pkill -u operator1

[root@centos7 ~ 21:32:06]# usermod -u 1088 operator1
[root@centos7 ~ 21:32:13]# id operator1
uid=1088(operator1) gid=8890(operator1) 组=8890(operator1)

6.修改 operator1 用户描述信息为"Operator One"

[root@centos7 ~ 21:32:27]# grep operator1 /etc/passwd
operator1:x:1088:8890::/home/operator1:/bin/bash
# 使用 usermod -c 命令用""将Operator One放进去
[root@centos7 ~ 21:41:51]# usermod -c "Operator One" operator1
[root@centos7 ~ 21:42:21]# grep operator1 /etc/passwd
operator1:x:1088:8890:Operator One:/home/operator1:/bin/bash

7.将 wheel 组作为补充组添加给 operator1 用户

[root@centos7 ~ 22:12:05]# grep operator1 /etc/group
operator1:x:8890:

[root@centos7 ~ 22:13:35]# usermod -aG wheel operator1

8.查看 /etc/group 中对应条目

[root@centos7 ~ 22:14:56]# grep operator1 /etc/group
wheel:x:10:fengkai,operator1
operator1:x:8890:

9.删除 operator1 用户

[root@centos7 ~ 22:14:58]# userdel operator1
[root@centos7 ~ 22:17:29]# id operator1
id: operator1: no such user
[root@centos7 ~ 22:18:44]# ls  /home/
fengkai  laowang  operator1  tom  user01  user02  user03

3.综合案例

手动创建一个用户

# 1 添加账户(注意1005和其他的用户有没有冲突)
[root@centos7 ~ 17:22:02]# vim /etc/passwd
# 最后一行添加如下内容,注意uid要在原有的基础上增加1
zhangsan:x:1005:1005::/home/zhangsan:/bin/bash


# 2 添加组(注意1005和其他的用户有没有冲突)
[root@centos7 ~ 17:28:03]# vim /etc/group
# 最后一行添加如下内容
zhangsan:x:1005:

# 3 添加密码
[root@centos7 ~ 17:29:05]# vim /etc/shadow
# 最后一行添加如下内容(密码为加密之后的redhat)
zhangsan:$6$FgUNKn74yoEDbcXD$pxDk9AEhsxkJGYi76Rv91zLy5LRns8olgAyGuNssQYG07ypaidhuX0gHAU4hrNi9Zp9A7vtMEvbyzCQ0e/gbk1::0:99999:7:::

# 4 准备家目录
[root@centos7 ~ 17:30:26]# cp -r /etc/skel/ /home/zhangsan
# 修改zhangsan家目录所属有zhangsan用户和组
[root@centos7 ~ 17:31:00]# chown zhangsan:zhangsan /home/zhangsan
[root@centos7 ~ 17:31:26]# ll -d /home/zhangsan/
drwxr-xr-x. 3 laoma laoma 78 7月  18 17:30 /home/zhangsan/

# 测试
[root@centos7 ~]# ssh zhangsan@localhost

bash 提示符变为初始字符

提示符如下: bash-4.2$

模拟:

[root@centos7 ~ 19:26:28]# mv /etc/bashrc{,.ori}
[root@centos7 ~ 19:26:59]# bash
bash-4.2# 

原因:nologin shell打开的时候执行 /etc/bashrc 配置。

恢复:

[root@centos7 ~ 19:37:13]# ls -l /etc/bashr*
-rw-r--r--. 1 root root 2998 7月  17 11:13 /etc/bashrc
[root@centos7 ~ 19:37:53]# mv /etc/bashrc{,.ori}
[root@centos7 ~ 19:38:22]# bash
bash-4.2# 
bash-4.2# mv /etc/bashrc{.ori,}
bash-4.2# bash

误删用户家目录

故障:

[root@centos7 ~ 19:46:05]# ssh laowang@localhost
laowang@localhost's password: 
Last login: Sun Jul 19 19:45:15 2026 from localhost
Could not chdir to home directory /home/laowang: No such file or directory
-bash-4.2$ 

模拟:

[root@centos7 ~ 19:45:45]# rm -fr /home/laowang/

解决

[root@centos7 ~ 19:48:57]# cp -r /etc/skel/ /home/laowang
[root@centos7 ~ 19:49:20]# chown laowang:laowang /home/laowang/
[root@centos7 ~ 19:49:38]# ssh laowang@localhost
laowang@localhost's password: 
Last login: Sun Jul 19 19:48:11 2026 from localhost
[laowang@centos7 ~ 19:49:47]$ 

没有权限切换家目录

故障

[fengkai@centos7 ~ 19:52:10]$ su -l laowang
密码:
上一次登录:日 7月 19 19:49:47 CST 2026从 localhostpts/1 上
su: 警告:无法更改到 /home/laowang 目录: 权限不够
-bash: /home/laowang/.bash_profile: 权限不够
-bash-4.2$ 

模拟

[laowang@centos7 ~ 19:51:17]$ chmod u=- /home/laowang/

# laowang这个用户对文件的权限全都没有了,为d---,后面文件管理会学习看文件权限
[laowang@centos7 ~ 19:51:58]$ ll -d /home/laowang/
d---r-xr-x. 5 laowang laowang 107 7月  19 19:49 /home/laowang/

解决

[root@centos7 ~ 19:53:45]# chown -R laowang:laowang /home/laowang/
[root@centos7 ~ 19:54:18]# chmod u=rwx /home/laowang/

# laowang这个用户对文件的权限恢复了,为drwxr,后面文件管理会学习看文件权限
[root@centos7 ~ 19:54:36]# ll -d /home/laowang/
drwxr-xr-x. 5 laowang laowang 107 7月  19 19:49 /home/laowang/

4.本地组管理

4.1 groupadd 命令

# 创建名称为 admin 的组
[root@centos7 ~ 19:55:26]# groupadd admin

# 创建名称为sysadmin的组,组id为2000
[root@centos7 ~ 20:20:10]# groupadd sysadmin -g 2000

# 验证
[root@centos7 ~ 20:20:40]# grep admin /etc/group
printadmin:x:997:
admin:x:1002:
sysadmin:x:2000:

4.2 groupmod 命令

# 修改组名称
[root@centos7 ~ 20:20:58]# groupmod --new-name admins admin

# 修改组id
[root@centos7 ~ 20:22:40]# groupmod -g 2002 admins 

# 验证
[root@centos7 ~ 20:22:58]# grep 'admins' /etc/group
admins:x:2002:

4.3 groupdel 命令

[root@centos7 ~ 20:25:08]# grep sysadmin /etc/group
sysadmin:x:2000:
[root@centos7 ~ 20:25:32]# groupdel sysadmin 
[root@centos7 ~ 20:25:42]# grep sysadmin /etc/group

4.4 groupmem 命令

[root@centos7 ~ 20:25:43]# groupmems --help
用法:groupmems [选项] [动作]

选项:
  -g, --group groupname         更改组 groupname,而不是用户的组(只 root)
  -R, --root CHROOT_DIR         chroot 到的目录

动作:
  -a, --add username            将用户 username 添加到组成员中
  -d, --delete username         从组的成员中删除用户 username
  -h, --help                    显示此帮助信息并推出
  -p, --purge                   从组中移除所有成员
  -l, --list                    列出组中的所有成员

# 添加成员
[root@centos7 ~ 20:26:50]# groupmems -g admins -a laowang
[root@centos7 ~ 20:27:33]# groupmems -g admins -l
laowang 
[root@centos7 ~ 20:27:39]# id laowang
uid=1001(laowang) gid=1001(laowang) 组=1001(laowang),2002(admins)

# 删除成员
[root@centos7 ~ 20:27:54]# groupmems -g admins -d laowang
[root@centos7 ~ 20:28:50]# groupmems -g admins -l

# 清空组中所有成员
[root@centos7 ~ 20:29:10]# groupmems -g admins -a laowang
[root@centos7 ~ 20:29:14]# groupmems -g admins -l
laowang 
[root@centos7 ~ 20:29:15]# groupmems -g admins -p
[root@centos7 ~ 20:29:21]# groupmems -g admins -l

4.5 综合测试

1.创建develop组,组id为2000

[root@centos7 ~ 20:31:23]# grep develop /etc/group
develop:x:2000:

2.修改develop组名称为developers,组id为3000

[root@centos7 ~ 20:32:14]# groupmod --new-name developers develop 
[root@centos7 ~ 20:34:47]# groupmod -g 3000 developers 
[root@centos7 ~ 20:36:07]# grep developers /etc/group
developers:x:3000:

3.创建developer1用户,并添加到组developers

[root@centos7 ~ 20:36:25]# useradd developer1
[root@centos7 ~ 20:38:20]# groupmems -g developers -a developer1
[root@centos7 ~ 20:39:13]# groupmems -g developers -l
developer1 

4.将developer1用户从组developers中删除

[root@centos7 ~ 20:39:26]# groupmems -g developers -d developer1
[root@centos7 ~ 20:40:06]# groupmems -g developers -l

5.删除组developers和用户developer1

[root@centos7 ~ 20:40:35]# grep developers /etc/group
developers:x:3000:
[root@centos7 ~ 20:41:49]# grep developer1 /etc/passwd
developer1:x:1002:1002::/home/developer1:/bin/bash
[root@centos7 ~ 20:42:03]# groupdel developer
developer1  developers  
[root@centos7 ~ 20:42:03]# groupdel developers
[root@centos7 ~ 20:43:13]# userdel developer1 
[root@centos7 ~ 20:43:36]# grep developer1 /etc/passwd
[root@centos7 ~ 20:43:39]# grep developers /etc/group

5.管理用户密码

5.1 shadow 文件

/etc/shadow 文件保存操作系统登录用户密码信息。

每行包含一个登录用户信息,以冒号分隔九个域。

示例:

[root@centos7 ~ 20:43:46]# grep laowang /etc/shadow
laowang:$6$EgSH3D67$/MTtdA5lpVfCRvaWdmp8/no0zkqn6Mxhoj.daO8p/WKCcszSyAkOqhy9g0UCj52mua.3q8hJuZ7vJFFFcNo1f/:20653: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:保留域。

5.2 chage 命令

# 查看用户密码信息
[root@centos7 ~ 20:45:11]# chage -l laowang
最近一次密码修改时间					:7月 19, 2026
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数	:7

# 修改用户密码要求
[root@centos7 ~ 20:46:12]# chage -M 100 laowang 
[root@centos7 ~ 20:46:45]# chage -l laowang 
最近一次密码修改时间					:7月 19, 2026
密码过期时间					:10月 27, 2026
密码失效时间					:从不
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:100
在密码过期之前警告的天数	:7

[root@centos7 ~ 20:46:59]# chage -m 10 laowang 
[root@centos7 ~ 20:47:23]# chage -l laowang 
最近一次密码修改时间					:7月 19, 2026
密码过期时间					:10月 27, 2026
密码失效时间					:从不
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:10
两次改变密码之间相距的最大天数		:100
在密码过期之前警告的天数	:7

[root@centos7 ~ 20:47:31]# chage -d 0 laowang 
# 验证
[root@centos7 ~ 20:48:07]# ssh laowang@localhost
laowang@localhost's password: 
You are required to change your password immediately (root enforced)
Last login: Sun Jul 19 19:52:17 2026
WARNING: Your password has expired.
You must change your password now and login again!
更改用户 laowang 的密码 。
为 laowang 更改 STRESS 密码。
(当前)UNIX 密码:

# 设置用户密码过期时间是过去的一个时间,以便确保用户密码过期,登录时强制用户更改密码
# 设置为1,确保密码很久未改动
[root@centos7 ~ 20:48:50]# chage -d 1 laowang 

# 设置用户账户过期时间是过去的一个时间,以便锁定用户账户
[root@centos7 ~ 20:49:25]# chage -E 1970-1-1 laowang 

# 切换用户报错
[fengkai@centos7 ~ 20:44:46]$ su -l laowang
密码:
您的帐户已失效;请与系统管理员取得联系
su: 用户帐户已失效

5.3 usermod -p 更改用户密码

# 更改laoma的密码与laowang一致
[root@centos7 ~ 20:51:41]# grep fengkai /etc/shadow
fengkai:$6$EgSH3D67$/MTtdA5lpVfCRvaWdmp8/no0zkqn6Mxhoj.daO8p/WKCcszSyAkOqhy9g0UCj52mua.3q8hJuZ7vJFFFcNo1f/:20648:0:99999:7:::
[root@centos7 ~ 20:51:45]# usermod -p '$6$EgSH3D67$/MTtdA5lpVfCRvaWdmp8/no0zkqn6Mxhoj.daO8p/WKCcszSyAkOqhy9g0UCj52mua.3q8hJuZ7vJFFFcNo1f/' laowang

# 删除用户密码 
[root@centos7 ~ 20:52:25]# usermod -p '' laowang

5.4 usermod -s 限定用户shell

# 默认情况下,root用户可以切换到任何用户而且不需要密码
[root@centos7 ~ 20:58:22]# su -l laowang
上一次登录:日 7月 19 20:58:37 CST 2026pts/2 上
[laowang@centos7 ~ 20:59:40]$ exit
登出

# 更改用户shell为 /sbin/nologin
[root@centos7 ~ 20:59:43]# usermod -s /sbin/nologin laowang
[root@centos7 ~ 21:01:41]# su -l laowang
上一次登录:日 7月 19 20:59:40 CST 2026pts/0 上
This account is currently not available.


# 将用户shell改为/bin/bash
[root@centos7 ~ 21:02:01]# usermod -s /bin/bash laowang
[root@centos7 ~ 21:02:18]# su -l laowang
上一次登录:日 7月 19 21:02:01 CST 2026pts/0 上

5.5 usermod -L 锁定用户密码

等效于passwd -l

[root@centos7 ~ 21:05:02]# usermod -L laowang

# 输入正确的密码也无法登录
[fengkai@centos7 ~ 20:58:51]$ su -l laowang
密码:
su: 鉴定故障

5.6 usermod -U 解锁用户密码

等效于passwd -u

[root@centos7 ~ 21:06:32]# usermod -U laowang

# 输入正确的密码登录
[fengkai@centos7 ~ 21:05:46]$ su -l laowang
密码:
上一次登录:日 7月 19 21:05:30 CST 2026pts/0 上
最后一次失败的登录:日 7月 19 21:05:45 CST 2026pts/2 上
最有一次成功登录后有 1 次失败的登录尝试。

5.7 passwd -d 删除密码

# 删除用户密码即可
[root@centos7 ~ 21:06:41]# passwd -d laowang 
清除用户的密码 laowang。
passwd: 操作成功

[fengkai@centos7 ~ 21:07:52]$ su -l laowang
上一次登录:日 7月 19 21:06:45 CST 2026pts/2 上
[laowang@centos7 ~ 21:07:55]$

用户登录的时候,输入用户名即可登录。

5.8 设置账户过期

等效于passwd -e

# 设置账户过期时间为过去的某一个日期
[root@centos7 ~ 21:07:45]# usermod -e 2024-7-18 laowang

# 或者
[root@centos7 ~ 21:07:45]# chage -E 2024-7-18 laowang 

5.9 增加一个 uid 为 0 的用户

方法一

[root@centos7 ~ 21:07:45]# vim /etc/passwd
# 将自己的用户id该为0,此时fengkai用户可以行使root权限了
fengkai:x:0:1000:fengkai:/home/fengkai:/bin/bash

方法二

# 新加用户直接设置,只为测试,实际千万不要随意给新用户root权限
[root@centos7 ~ 21:12:19]# useradd -o -u 0 fengkai
[root@centos7 ~ 21:12:39]# id fengkai
uid=0(root) gid=0(root) 组=0(root)

fengkai 和 root 账户是两个不同的账户,但是fengkai用户获得了root账户权限。

5.10 综合测试

1.添加用户 test,设置密码与fengkai用户一致。(不允许使用passwd命令)

[root@centos7 ~ 21:19:51]# useradd test
[root@centos7 ~ 21:19:54]# grep fengkai /etc/shadow
fengkai:$6$EgSH3D67$/MTtdA5lpVfCRvaWdmp8/no0zkqn6Mxhoj.daO8p/WKCcszSyAkOqhy9g0UCj52mua.3q8hJuZ7vJFFFcNo1f/:20648:0:99999:7:::
[root@centos7 ~ 21:20:11]# usermod -p '$6$EgSH3D67$/MTtdA5lpVfCRvaWdmp8/no0zkqn6Mxhoj.daO8p/WKCcszSyAkOqhy9g0UCj52mua.3q8hJuZ7vJFFFcNo1f/' test 

#登陆测试,密码123
[fengkai@centos7 ~ 21:17:28]$ su -l test
密码:
[test@centos7 ~ 21:20:53]$ 

2.设置test用户密码: - 首次登录必须修改密码 - 3天内不允许修改 - 100天后过期

[root@centos7 ~ 21:27:08]# chage -d 0 -m 3 -M 100 test
[root@centos7 ~ 21:27:35]# chage -l test 
最近一次密码修改时间					:密码必须更改
密码过期时间					:密码必须更改
密码失效时间					:密码必须更改
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:3
两次改变密码之间相距的最大天数		:100
在密码过期之前警告的天数	:7

3.禁止test用户登录系统,至少使用2种方法。

# 设置过期的日期为过去的某个日期
[root@centos7 ~ 21:28:24]# chage -E 2024-7-19 test

[root@centos7 ~ 21:29:34]# usermod -e 2024-7-19 test 

#锁定用户
[root@centos7 ~ 21:30:10]# usermod -L test 

6.其他 shell

# 查看系统中 shell 清单
[root@centos7 ~ 21:30:30]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

[root@centos7 ~ 21:32:08]# ll /bin/sh /usr/bin/sh
lrwxrwxrwx. 1 root root 4 7月  14 10:26 /bin/sh -> bash
lrwxrwxrwx. 1 root root 4 7月  14 10:26 /usr/bin/sh -> bash

# 新增 tmux shell
[root@centos7 ~ 21:32:55]# yum install -y tmux
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                     | 3.6 kB     00:00     
epel                                                     | 4.3 kB     00:00     
extras                                                   | 2.9 kB     00:00     
updates                                                  | 2.9 kB     00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 tmux.x86_64.0.1.8-4.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package         架构              版本                   源               大小
================================================================================
正在安装:
 tmux            x86_64            1.8-4.el7              base            243 k

事务概要
================================================================================
安装  1 软件包

总下载量:243 k
安装大小:558 k
Downloading packages:
tmux-1.8-4.el7.x86_64.rpm                                  | 243 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : tmux-1.8-4.el7.x86_64                                       1/1 
  验证中      : tmux-1.8-4.el7.x86_64                                       1/1 

已安装:
  tmux.x86_64 0:1.8-4.el7                                                       

完毕!

# 新增 c shell
[root@centos7 ~ 21:33:12]# yum install -y tcsh
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
软件包 tcsh-6.18.01-17.el7_9.1.x86_64 已安装并且是最新版本
无须任何处理
[root@centos7 ~ 21:33:53]# ll /bin/csh /usr/bin/csh
lrwxrwxrwx. 1 root root 4 7月  14 10:29 /bin/csh -> tcsh
lrwxrwxrwx. 1 root root 4 7月  14 10:29 /usr/bin/csh -> tcsh

tmux 控制键 ctrl+b:

  • c,新建一个会话
  • N,切换到N号会话,例如数字1,切换到1号会话。
Sibelius(以前称为 Sibelius | First—了解更多)采用直观的基于任务的界面,可引导您完成整个乐谱创建流程,因此您可以快速进入界面来立即开始作曲。可以从屏幕乐谱、键盘、指板窗口或者您的 MIDI 或计算机键盘输入音符。Sibelius 将负责处理所有音符布局、方向休止符细节。音乐制谱软件 - Avid Sibelius Ultimate 2018 中文多语特别版音乐制谱软件 – Avid Sibelius Ultimate 2018 中文多语特别版增强您的乐曲支持多达 16 个乐器分谱(五线谱),您可以创作丰富的多层乐曲。但是,它不只是音符。通过在 MIDI 设备上弹奏弦或键入后缀元素可以增加弦符号吉他弦图。将吉他谱转成乐谱,然后再转回。并轻松添加歌词、标题、文字图形来完善乐谱。快速创作精美的乐谱更多时间可以花在作曲(而非修改)上。在您作曲时,磁性布局 (Magnetic Layout) 能自动为乐谱中每个音符分配适当的间隙并避免出现拥挤,从而制作出美观的乐谱,可将作曲的时间缩短一半。而且无论什么时候您更改总谱,动态分谱 (Dynamic Parts) 都能自动创建并更新单独的乐器分谱。将音乐转换为乐谱Sibelius 随附有两个伴奏应用,允许您将录制、演奏、打印手写的音乐转换为乐谱。利用 AudioScore Lite,对着麦克风演唱或单音乐器演奏,就可以输入音符。利用 PhotoScore & NotateMe Lite,可将打印的、PDF JPEG 活页乐谱转换为可编辑的乐谱,即便是手写的乐谱也能做到。清晰地听到您音乐的每一个细节利用附带的 10 GB 高品质采样乐器音色库,您可以回放乐曲,以聆听使用全套乐器演奏时的音色。Espressivo 功能增添了更人性化的感觉,因此您的乐谱听起来会与预期一样。您也可以使用 VST AU 虚拟乐器及音效。获得灵感遇到作曲障碍?不必发愁。查看乐谱入门 (Score Starter) 灵感中心 (Ideas Hub) 来快速启迪您的创造力。使用 40 个特定流派的乐谱入门模板开始作曲。然后在灵感中心 (Ideas Hub) 找到更多灵感,那里提供了 300 种音色库想法任您选择,可以加快您的创作流程。您甚至可以捕捉自己的灵感,留待将来使用。分享您的作品使用 Sibelius | Cloud Sharing 轻松在线分享多达 20 个乐谱,以及邀请他人查看弹奏您的音乐。想要分享更多乐谱?通过 Avid 云高级计划扩展您的存储空间。您也可以通过 MusicXML 协作,打印乐谱,以及将您的音乐导出为 MIDI 或 PDF 文件。通过 iPad 排练演奏已经拥有 iPad?导出您的乐谱用于 Avid Scorch,它是一个 iOS 应用,可将您的 iPad 转变为交互式乐谱架乐谱库,供排练演奏。iPad 上有了 Avid Scorch 之后,通过对乐谱移调、更改乐器,甚至与吉他谱之间相互转换,能够查看乐谱并按照您的乐器进行改编。根据需要获取更新帮助Sibelius 可通过低成本的按月或按年订阅来获取,也可以购买永久授权来获取软件的永久使用权。在您的有效订阅期或可续订的“1 年期软件更新 + 支持计划”(购买永久授权时附带)内,上述两种形式都可获取所有最新的 Sibelius 版本标准支持。深入了解 Sibelius | Ultimate需要更多先进的制谱布局功能?Sibelius | Ultimate 非常适合专业作曲家、编曲家、抄谱员、制版师教育工作者,提供了更多的制谱工具、乐器声音、无限的五线谱、排印工具,以及定制乐谱的每一个元素的功能。六月更完美地处理装饰音节省重要的乐谱准备时间,并在同一员工的多种语音之间使装饰音完美保持一致,且无需手动修复间距冲突。由于对 Sibelius 处理装饰音的方式进行了改进,您现在可以将任意值的装饰音添加到任意语音中的任意节奏,实现完美一致,从而使您可以更快创建更美观的乐谱。四月同时进行多个文本更改需要在乐谱的多个分谱中添加或更新表达式文本?选择多个分谱或音符,并一次性向所有乐器添加或编辑表达式文本。您可以按照相同的方法添加或编辑技巧文本其他文本类型。更快对乐谱制版对于制版师来说,现在可以花更少的时间来修复音符间距,花更多的时间来完善出色乐谱。由于对自动调整多种语音中重叠音符的间距的方式进行了改进,现在作曲时,Sibelius 可生成更易于辨识更准确的音符,因此您可以更快地创作更精美的乐谱。直接在乐谱上添加注释利用“批注”功能,可以直接在乐谱上绘图,以及向他人传达编辑、说明反馈,从而简化协作审核流程。所有
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值