3.1-3.9用户及用户组

本文详细介绍Linux系统中用户及用户组的管理方法,包括用户配置文件解析、用户及用户组的创建与删除、用户权限调整等内容,并深入探讨sudo命令的应用及root远程登录限制等高级配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

3.1 用户配置文件和密码配置文件

3.2 用户组管理

选项

实例

实例

3.8 sudo命令

做命令别名


3.1 用户配置文件和密码配置文件

cat /etc/passwd    用户密码文件、核心文件,每个增加一个用户就会增加一行 

[root@linux-01 test]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
test:x:1000:1000::/home/test:/bin/bash
gem:x:1001:1001::/home/gem:/bin/bash

 

    每个用户一行  用 分开八段

第一段:用户名 

    二段: 密码

    三段: uid (把普通用户那一行中第三段数字改为0,就会拥有root权限)

    四段:gid

    五段: 空  (用户注释信息)

    六段:用户家目录位置

   七段: 用户的shell   /bin/bash  /sbin/nologin  

                root:x:0:0:root:/root:/bin/bash
                bin:x:1:1:bin:/bin:/sbin/nologin

/etc/shadow  专门放密码 与/etc/passwd  一一对应 

root:$6$HANSsrYq13mzlpuL$dPtrJa2.JJULagyn.KGy04l1WFPgwhN2aGu6jUyxZ5Zu52RJBmZw0y0m3BVJraHDtNsI7NzD49siPiVh.u3er1::0:99999:7:::
bin:*:17632:0:99999:7:::
daemon:*:17632:0:99999:7:::
adm:*:17632:0:99999:7:::
tss:!!:18040::::::
test:!!:18047:0:99999:7:::
gem:!!:18047:0:99999:7:::

 

每个字段的含义是:

·   sp_namp - 指向以 null 结束的用户名的指针                             
#第一段 ,用户名对应/etc/passwd

·   sp_pwdp - 指向 null 结束的密码的指针                                
#第二段 : 用户密码,该账号的真正密码

·   sp_lstchg - 最近更改密码的日期(日期计算方法是从1970年1月1日开始的天数)  
#第三段  :   天数,上次更改密码的日期,

·   sp_min - days before which password may not be changed            
#第四段 : 表示多少天才能更改密码

·   sp_max - days after which password must be changed                
#第五段 :  表示多少天后密码到期

·   sp_warn - days before password is to expire that user is warned of pending password expiration   
#第六段: 表示多少天后即将过期

·   sp_inact - days after password expires that account is considered inactive and disabled   
#第七段: 表示密码已经到期 ,多少天后帐号失效,即锁定

·   sp_expire - days since Jan 1, 1970 when account will be disabled  
#帐号在这个日期前可以使用

·   sp_flag - reserved for future use 
#保留字段

3.2 用户组管理

   group    创建用户时也会创建跟用户名一样的组  

[root@linux-01 ~]# cat  /etc/group   组的密码
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:

[root@linux-01 ~]# cat  /etc/gsshadow    也是组的密码

 

 

groupadd 创建组命令

gid   一般是1000 以上   1000内以被内部占用

新建一个用户组grp1,并设置其组id为1003
 
[root@linux-01 ~]# groupadd -g 1003 grp1   #创建组并指定gid 
[root@linux-01 ~]# tail  /etc/group
ssh_keys:x:997:
sshd:x:74:
postdrop:x:90:
postfix:x:89:
chrony:x:996:
tss:x:59:
slocate:x:21:
test:x:1000:
group:x:1001:
grp1:x:1003:

groupdel   删除组  1

 例:新建一个用户组group1,并设置其组id为505

        [root@linux-01 ~]groupadd -g 505  group1 

3.3 用户管理

useradd  用户创建命令

-u<uid>:指定用户id

useradd(选项)(参数)

选项

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-s<shell>:指定用户登入后所使用的shell;


-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;

、home/user5 没有创建并不不代表没有
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;

-u<uid>:指定用户id。

id aming  查看 用户 uid、gid 、组 

组可以包含 gid  还有扩展组

例:

不让用户test1登录

     usermod -s /sbin/login test1
b.  usermod -s /bin/false test1
d.  usermod test1 -s /bin/false

useradd -u 1006 -g grp2 -d /home/aming11 -s /sbin/nologin user4

 

新建用户使用哪个选项可以不创建用户家目录?

useradd -M  user5

删除用户如何连带它的家目录一并删除?

userdel -r username 

 

3.4 usermod命令

       usermod    更改用户属性

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。

 

usermod(选项)(参数)
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。

 

实例

将test 添加扩展组到group中:

usermod -G group test

[root@linux-01 ~]# id test
uid=1000(test) gid=1003(grp1) 组=1003(grp1)

[root@linux-01 ~]# usermod  -G group,grp1 test
[root@linux-01 ~]# id test 
uid=1000(test) gid=1003(grp1) 组=1003(grp1),1001(group)

 

修改newuser的用户名为newuser1:

usermod -l newuser1 newuser

锁定账号newuser1:

[root@linux-01 ~]# passwd -l user1  #passwd命令锁定用户
锁定用户 user1 的密码 。
passwd: 操作成功

[root@linux-01 ~]# passwd -u user1   #usermod命令解锁用户
解锁用户 user1 的密码。
passwd: 操作成功

[root@linux-01 ~]# usermod -L user1  #usermod命令锁定用户
[root@linux-01 ~]# usermod -U user1  #usermod命令解锁用户

user1:!$6$gRl2XV.c$bHoIOI.uo5OO7zdtL2dbvMXmM62rTCqz1VG03btCzt3H0:18052:0:99999:7:::

# 第二段处带有“!”  代表用户已锁定

lp:*:17632:0:99999:7:::
sync:*:17632:0:99999:7:::

# 第二段处带有“*”  代表用户的密码已锁定

解除对newuser1的锁定:

usermod -U newuser1

3.5 用户密码管理

  echo命令_Linux echo 命令用法详解:输出指定的字符串或者变量 http://man.linuxde.net/echo 

使用echo 命令更改用户密码 

[root@linux-01 ~]# echo "zxasqw"| passwd --stdin user1 
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。

 

实例

用echo命令打印带有色彩的文字:

文字色:

echo -e "\e[1;31mThis is red text\e[0m"
This is red text
  • \e[1;31m 将颜色设置为红色
  • \e[0m 将颜色重新置回

颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

背景色

echo -e "\e[1;42mGreed Background\e[0m"
Greed Background

颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

文字闪动:

echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"

红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐

 

3.6 mkpasswd命令

centos7用户的密码是通过sha-512 方式加密的

这个命令是随机生成 密码的一个工具, 如果没有这个命令,请安装相应的包。

yum   install -y  expect 

mkpasswd 的使用

常用的选项, -l 指定 长度

-d 指定 数字的个数

-c 指定 小写字符个数 -C 指定大写字符个数

-s 指定特殊字符个数

usage: mkpasswd [args] [user]

 where arguments are:

-l #      (length of password, default = 7)

                   指定密码的长度,默认是7位数

-d #      (min # of digits, default = 2)

                   指定密码中数字最少位数,默认是2位

-c #      (min # of lowercase chars, default = 2)

                   指定密码中小写字母最少位数,默认是2位

-C #      (min # of uppercase chars, default = 2)

                   指定密码中大写字母最少位数,默认是2位

-s #      (min # of special chars, default = 1)

                   指定密码中特殊字符最少位数,默认是1位

-v        (verbose, show passwd interaction)

                   这个参数在实验的时候报错,具体不知道。

常用的三个选项

[root@linux-01 ~]# mkpasswd  #默认 9位密码长度
\qepZU99m
[root@linux-01 ~]# mkpasswd -l 12 -s 3  # -s 3 设置特殊符号数量3个 
rgo,g#9ZUv[6
[root@linux-01 ~]# mkpasswd -l 12 -s 0  # -s 0 设置特殊符号数量0个

比如举个例子, 长度 15 位,数字至少 3位, 小写字母至少4 位, 大写字母至少4 位, 特殊字符 至少 2位

[root@localhost ~]# mkpasswd -l 15 -d 3 -c 4 -C 4 -s 2

M50=xniV_Y4gBht

CZ7@lBYa)1gept6

7RaQ7c"gwvX<s6C

jAYW8dGw>pe^42j

 

 

3.7 su命令

     su命令  切换用户

[root@linux-01 ~]# whoami
root
[root@linux-01 ~]# id
uid=0(root) gid=0(root) 组=0(root)

[root@linux-01 ~]# su - user1

[user1@linux-01 ~]$ whoami
user1
[user1@linux-01 ~]$ id
uid=1002(user1) gid=1002(user1) 组=1002(user1)

[user1@linux-01 ~]$ su - root    #管理员切换到用户无须输入密码,用户切换到管理员或者其他用户要输入密码
密码:
上一次登录:一 6月 10 22:27:31 CST 2019从 192.168.96.1pts/0 上
[root@linux-01 ~]# whoami
root

-c, --command <命令>            使用 -c 向 shell 传递一条命令

我们可以使用su临时以其他用户的身份去执行命令,下面做法不对的是?

b. su - username -c "touch /tmp/1.txt"
c. su -c "touch /tmp/1.txt" - username
d. su -c "touch /tmp/1.txt" username 

[root@linux-01 ~]# su - -c "touch /tmp/user1.111" user1   # 以user1 的身份创建一个文件
[root@linux-01 ~]# ls -lt /tmp/ |head
总用量 0
-rw-rw-r-- 1 user1 user1  0 6月  10 23:03 user1.111

 

 

3.8 sudo命令

sudo  普通用户临时执行命令以指定用户的身份执行 一般都普通用户授权root 用户的身份

使用 visudo 命令 打开sudo的配置文件(不建议用vi 打开)

找到

显示行号命令    :set nu 

 

   #93行添加加入规则
 91 ## Allow root to run any commands anywhere 
 92 root      ALL=(ALL)       ALL
 93 user1     ALL=(ALL)       /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
[user1@linux-01 ~]$ sudo命令的使用^c
[user1@linux-01 ~]$ sudo /usr/bin/ls /root 

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] user1 的密码:
anaconda-ks.cfg

 

切换时不用输入密码

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
user1    ALL=(ALL)       /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
user2    ALL=(ALL)      NOPASSWD: /usr/bin/ls, /usr/bin/cat

 

结果:
[root@linux-01 ~]# su - user2
上一次登录:二 6月 11 22:03:13 CST 2019pts/0 上
[user2@linux-01 ~]$ sudo /usr/bin/ls /root/
anaconda-ks.cfg

使用sudo做命令别名

 

做命令别名
 26 ## Networking     
 27 # Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
 28 Cmnd_Alias USTEST_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/cat  # 添加新的命令别名


 ## Allow root to run any commands anywhere
 92 root    ALL=(ALL)       ALL
 93 user1    ALL=(ALL)       /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
 94 user2    ALL=(ALL)      NOPASSWD: /usr/bin/ls, /usr/bin/cat
 95 user3    ALL=(ALL)      USTEST_CMD    
结果:

[root@linux-01 ~]# su - user3
[user3@linux-01 ~]$ sudo ls /root/
[sudo] user3 的密码:
anaconda-ks.cfg

例:配置sudo时,下面相关的说法哪些是不对的?

a. 可以针对组来配置sudo权限

b. 在sudo配置文件中,我们可以定义host、user以及命令的别名

c. 如果不想输入密码,只需在命令前面加“NOPASSWD:”即可

d. %wheel 表示wheel组,这个组并不是系统的用户组

3.9 限制root远程登录

 

使

用 visudo  编辑添加别名和规则

     19 ## rather than USERALIAS
     20 # User_Alias ADMINS = jsmith, mikem
     21 User_Alias TEUSS = user1,user2        #添加用户组别名

     91 ## Allow root to run any commands anywhere
     92 root    ALL=(ALL)       ALL
     93 TEUSS   ALL=(ALL)       NOPASSWD: /usr/bin/su    #添加规则
      
[root@linux-02 ~]# vi /etc/ssh/sshd_config    # 编辑ssh服务文件
     #使用 ‘/’ 搜索 Root 
     37 #LoginGraceTime 2m
     38 #PermitRootLogin yes   修改>>38 PermitRootLogin no       


[root@linux-02 ~]# systemctl restart sshd.service  # 重启ssh服务

 

 

 

 测试1:xhell连接

测试2linux互联:
[root@linux-01 ~]# ssh root@192.168.96.136
root@192.168.96.136's password: 
Permission denied, please try again.     #尝试登陆root用户许可被拒绝, 
root@192.168.96.136's password: 

[root@linux-01 ~]# ssh user1@192.168.96.136   
user1@192.168.96.136's password: 
Last login: Wed Jun 12 11:18:06 2019 from 192.168.96.135  # 登陆用户别名组内的用户 成功
[user1@linux-02 ~]$ ls /root 
ls: 无法打开目录/root: 权限不够
[user1@linux-02 ~]$ sudo su -
上一次登录:三 6月 12 11:02:13 EDT 2019pts/0 上
最后一次失败的登录:三 6月 12 11:18:49 EDT 2019从 192.168.96.135ssh:notty 上
最有一次成功登录后有 3 次失败的登录尝试。        # 切换到root用户 成功
[root@linux-02 ~]# w
 11:20:27 up  1:17,  2 users,  load average: 0.01, 0.02, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.96.1     10:29   10:43   0.08s  0.03s -bash
user1    pts/1    192.168.96.135   11:19    3.00s  0.10s  0.03s sshd: user1 [priv]
[root@linux-02 ~]# logout


[root@linux-01 ~]# ssh user3@192.168.96.136
user3@192.168.96.136's password: 
Last login: Wed Jun 12 10:59:22 2019
[user3@linux-02 ~]$ whoami
user3
[user3@linux-02 ~]$ sudo su -
[sudo] user3 的密码:
user3 不在 sudoers 文件中。此事将被报告。   # 非别名组内的用户不能切换到 root用户 

 

C:\Users\涂大钧\.jdks\corretto-17.0.14\bin\java.exe -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=58848:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath D:\AAAAA\笔记\reids7\target\classes;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-jdbc\3.5.3\spring-boot-starter-jdbc-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter\3.5.3\spring-boot-starter-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot\3.5.3\spring-boot-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-autoconfigure\3.5.3\spring-boot-autoconfigure-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-logging\3.5.3\spring-boot-starter-logging-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\ch\qos\logback\logback-classic\1.5.18\logback-classic-1.5.18.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\ch\qos\logback\logback-core\1.5.18\logback-core-1.5.18.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\logging\log4j\log4j-to-slf4j\2.24.3\log4j-to-slf4j-2.24.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\logging\log4j\log4j-api\2.24.3\log4j-api-2.24.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\slf4j\jul-to-slf4j\2.0.17\jul-to-slf4j-2.0.17.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\yaml\snakeyaml\2.4\snakeyaml-2.4.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\zaxxer\HikariCP\6.3.0\HikariCP-6.3.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-jdbc\6.2.8\spring-jdbc-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-beans\6.2.8\spring-beans-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-tx\6.2.8\spring-tx-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\lettuce\lettuce-core\6.2.4.RELEASE\lettuce-core-6.2.4.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-common\4.1.122.Final\netty-common-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-handler\4.1.122.Final\netty-handler-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-resolver\4.1.122.Final\netty-resolver-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-buffer\4.1.122.Final\netty-buffer-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-transport-native-unix-common\4.1.122.Final\netty-transport-native-unix-common-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-codec\4.1.122.Final\netty-codec-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-transport\4.1.122.Final\netty-transport-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\projectreactor\reactor-core\3.7.7\reactor-core-3.7.7.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-data-redis\3.5.3\spring-boot-starter-data-redis-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-redis\3.5.1\spring-data-redis-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-keyvalue\3.5.1\spring-data-keyvalue-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-commons\3.5.1\spring-data-commons-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-oxm\6.2.8\spring-oxm-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-aop\6.2.8\spring-aop-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-context-support\6.2.8\spring-context-support-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\commons\commons-pool2\2.12.1\commons-pool2-2.12.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-annotations\2.19.1\jackson-annotations-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\guava\guava\20.0\guava-20.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\classmate\1.7.0\classmate-1.7.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\slf4j\slf4j-api\2.0.17\slf4j-api-2.0.17.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-context\6.2.8\spring-context-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\redis\clients\jedis\4.3.1\jedis-4.3.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\json\json\20220320\json-20220320.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\code\gson\gson\2.13.1\gson-2.13.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\errorprone\error_prone_annotations\2.38.0\error_prone_annotations-2.38.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-web\3.5.3\spring-boot-starter-web-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-json\3.5.3\spring-boot-starter-json-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-databind\2.19.1\jackson-databind-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-core\2.19.1\jackson-core-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.19.1\jackson-datatype-jdk8-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.19.1\jackson-datatype-jsr310-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.19.1\jackson-module-parameter-names-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-tomcat\3.5.3\spring-boot-starter-tomcat-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-core\10.1.42\tomcat-embed-core-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.42\tomcat-embed-el-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.42\tomcat-embed-websocket-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-web\6.2.8\spring-web-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\micrometer\micrometer-observation\1.15.1\micrometer-observation-1.15.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\micrometer\micrometer-commons\1.15.1\micrometer-commons-1.15.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-webmvc\6.2.8\spring-webmvc-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-expression\6.2.8\spring-expression-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\projectlombok\lombok\1.18.38\lombok-1.18.38.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\xml\bind\jakarta.xml.bind-api\4.0.2\jakarta.xml.bind-api-4.0.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\activation\jakarta.activation-api\2.1.3\jakarta.activation-api-2.1.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\net\bytebuddy\byte-buddy\1.17.6\byte-buddy-1.17.6.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-core\6.2.8\spring-core-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-jcl\6.2.8\spring-jcl-6.2.8.jar com.sky.reids7.Reids7Application . ____ _ __ _ _ /\\ / ___&#39;_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | &#39;_ | &#39;_| | &#39;_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) &#39; |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.5.3) 2025-07-16 15:14:43.418 [main] INFO com.sky.reids7.Reids7Application- Starting Reids7Application using Java 17.0.14 with PID 23168 (D:\AAAAA\笔记\reids7\target\classes started by 涂大钧 in D:\AAAAA\笔记\reids7) 2025-07-16 15:14:43.419 [main] INFO com.sky.reids7.Reids7Application- No active profile set, falling back to 1 default profile: "default" 2025-07-16 15:14:43.881 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Multiple Spring Data modules found, entering strict repository configuration mode 2025-07-16 15:14:43.883 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2025-07-16 15:14:43.902 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Finished Spring Data repository scanning in 8 ms. Found 0 Redis repository interfaces. 2025-07-16 15:14:44.273 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer- Tomcat initialized with port 8080 (http) 2025-07-16 15:14:44.282 [main] INFO org.apache.catalina.core.StandardService- Starting service [Tomcat] 2025-07-16 15:14:44.283 [main] INFO org.apache.catalina.core.StandardEngine- Starting Servlet engine: [Apache Tomcat/10.1.42] 2025-07-16 15:14:44.323 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]- Initializing Spring embedded WebApplicationContext 2025-07-16 15:14:44.323 [main] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext- Root WebApplicationContext: initialization completed in 879 ms 2025-07-16 15:14:44.488 [main] WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;orderController&#39;: Injection of resource dependencies failed 2025-07-16 15:14:44.495 [main] INFO org.apache.catalina.core.StandardService- Stopping service [Tomcat] 2025-07-16 15:14:44.506 [main] INFO org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger- Error starting ApplicationContext. To display the condition evaluation report re-run your application with &#39;debug&#39; enabled. 2025-07-16 15:14:44.518 [main] ERROR org.springframework.boot.SpringApplication- Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;orderController&#39;: Injection of resource dependencies failed at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1459) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at com.sky.reids7.Reids7Application.main(Reids7Application.java:10) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;orderService&#39;: Injection of resource dependencies failed at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1459) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:468) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:606) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:577) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:739) at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:272) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:369) ... 19 common frames omitted Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name &#39;redisTemplate&#39; defined in class path resource [org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.class]: Unsatisfied dependency expressed through method &#39;redisTemplate&#39; parameter 0: Error creating bean with name &#39;redisConnectionFactory&#39; defined in class path resource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: HEXPIRE at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1375) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1205) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:468) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:606) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:577) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:739) at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:272) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:369) ... 33 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;redisConnectionFactory&#39; defined in class path resource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: HEXPIRE at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1826) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1683) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1628) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 49 common frames omitted Caused by: java.lang.NoSuchFieldError: HEXPIRE at org.springframework.data.redis.connection.lettuce.LettuceConnection$TypeHints.<clinit>(LettuceConnection.java:1163) at org.springframework.data.redis.connection.lettuce.LettuceConnection.<clinit>(LettuceConnection.java:112) at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.start(LettuceConnectionFactory.java:938) at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.afterPropertiesSet(LettuceConnectionFactory.java:1009) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1873) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1822) ... 59 common frames omitted 进程已结束,退出代码为 1
最新发布
07-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值