Liunx基础命令:用户和组管理

目录

一、用户管理

1. 查看系统用户信息

1.1 查看当前登录系统用户信息(判断用户是否存在)

1.2 查看当前登录系统用户名

2. 创建用户

案例

总结

3. 修改用户

案例

3.1 修改用户密码

案例

总结

4. 删除用户

案例

二、组管理

1. 查看组信息

案例

2. 创建组

案例

3. 修改组

案例

4. 删除组

案例

总结

三、用户与组的关系

1. 用户添加附加组/组添加用户

1.1 用户添加附加组

案例

1.2 组添加用户

案例

2. 添加多个用户到组

案例

3. 从组删除用户

案例

四、用户提权

1. 方案一

1.1 用户添加到wheel组

案例

1.2 创建拥有管理权限的用户

案例

2. 方案二

案例


一、用户管理

1. 查看系统用户信息

        cat /etc/passwd

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...

该文件中以“ : ”为分隔符:

  • 用户名:root
  • 密码占位符:x
  • UID(用户ID):0
  • GID(组ID):0
  • 用户描述,空表示没有:root
  • 家目录:/root
  • 登录shell:/bin/bash(/bin/bash为可登录,nologin为不可登录)

1.1 查看当前登录系统用户信息(判断用户是否存在)

        id

        id 用户名

1.2 查看当前登录系统用户名

        whoami

[root@localhost ~]# whoami    #查看当前系统用户名
root
[root@localhost ~]# id   #当前登录系统用户为root,id后不跟用户名默认为root
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@localhost ~]# id yy    #判断yy用户不存在
id: yy: no such user

2. 创建用户

语法结构:

        useradd [参数] 用户名

                [常用参数]:

                                -u:指定UID(UID应是唯一值,未被使用)

                                -g:指定GID(GID应已存在)

                                -c:指定描述字段

                                -d :指定家目录

                                -M:不创建家目录

                                -s:指定登录shell

案例

    1.创建用户yy:

[root@localhost ~]# useradd yy
[root@localhost ~]# tail -2 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
yy:x:1000:1000::/home/yy:/bin/bash
[root@localhost ~]# useradd -M yy    #用户yy已存在,不能再次创建
useradd: user 'yy' already exists

    2.创建用户hhh,指定uid为91并且不创建家目录:

[root@localhost ~]# useradd -u 91 -M hhh
[root@localhost ~]# tail -2 /etc/passwd
yy:x:1000:1000::/home/yy:/bin/bash
hhh:x:91:1001::/home/hhh:/bin/bash
[root@localhost ~]# id hhh   #用户hhh的uid为指定91
uid=91(hhh) gid=1001(hhh) groups=1001(hhh)
[root@localhost ~]# ls /home    #用户hhh没有创建家目录
yy

3.创建用户yyyy,指定uid为93,gid为1000,家目录为/home/yyy,描述为yy_son:

[root@localhost ~]# useradd -u 93 -g 1000 -d /home/yyy -c yy_son yyyy
[root@localhost ~]# tail -3 /etc/passwd
yy:x:1000:1000::/home/yy:/bin/bash
hhh:x:91:1001::/home/hhh:/bin/bash
yyyy:x:93:1000:yy_son:/home/yyy:/bin/bash
[root@localhost ~]# id yyyy    #用户yyyy的uid为指定93,gid为指定1000即与用户yy同组
uid=93(yyyy) gid=1000(yy) groups=1000(yy)
[root@localhost ~]# ll -d /home/yyy    #用户yyyy家目录为/home/yyy
drwx------. 2 yyyy yy 62 Oct 26 10:25 /home/yyy

4.创建用户a,分别验证uid与家目录存在,gid不存在的状态:

[root@localhost ~]# useradd -u 1000 a    #uid已经存在不能创建用户a
useradd: UID 1000 is not unique
[root@localhost ~]# useradd -g 11111 a    #gid不存在不能创建用户a
useradd: group '11111' does not exist
[root@localhost ~]# useradd -d /home/yy a    #家目录/home/yy已经存在,但用户a创建成功
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@localhost ~]# tail -4 /etc/passwd    #用户yy与用户a在同一个家目录/home/yy
yy:x:1000:1000::/home/yy:/bin/bash
hhh:x:91:1001::/home/hhh:/bin/bash
yyyy:x:93:1000:yy_son:/home/yyy:/bin/bash
a:x:1001:1002::/home/yy:/bin/bash
[root@localhost ~]# su - a    #从root用户登录到普通用户a失败
Last login: Thu Oct 26 16:02:22 CST 2023 on pts/1
su: warning: cannot change directory to /home/yy: Permission denied
-bash: /home/yy/.bash_profile: Permission denied
-bash-4.2$ exit    #退回到root用户
logout
[root@localhost ~]# su - yy
[yy@localhost ~]$ exit    #从用户yy退回到root用户
exit
[root@localhost ~]# ll -d /home/yy    #查看家目录/home/yy的所属者和所属组为yy,所以用户yy能够成功登录
drwx------. 2 yy yy 83 Oct 26 16:02 /home/yy
[root@localhost ~]# chown a.a /home/yy    #修改家目录/home/yy的所属者和所属组为a
[root@localhost ~]# ll -d /home/yy
drwx------. 2 a a 83 Oct 26 10:53 /home/yy
[root@localhost ~]# su - yy    #再次从root用户切换到普通用户yy失败
Last login: Thu Oct 26 16:02:40 CST 2023 on pts/1
su: warning: cannot change directory to /home/yy: Permission denied
-bash: /home/yy/.bash_profile: Permission denied
-bash-4.2$ exit
logout
-bash: /home/yy/.bash_logout: Permission denied
[root@localhost ~]# su - a    #再次从root用户切换到普通用户a成功
Last login: Thu Oct 26 16:02:50 CST 2023 on pts/1
[a@localhost ~]$

5. 创建用户b,指定用户b不能被登录:

[root@localhost ~]# useradd -s /sbin/nologin b
[root@localhost ~]# tail -5 /etc/passwd
yy:x:1000:1000::/home/yy:/bin/bash
hhh:x:91:1001::/home/hhh:/bin/bash
yyyy:x:93:1000:yy_son:/home/yyy:/bin/bash
a:x:1001:1002::/home/yy:/bin/bash
b:x:1002:1003::/home/b:/sbin/nologin
[root@localhost ~]# su - b    #从root用户切换到用户b失败
Last failed login: Thu Oct 26 15:18:32 CST 2023 on pts/0
There was 1 failed login attempt since the last successful login.
This account is currently not available.

总结

  • 如果指定uid的值,那么uid是唯一值未被创建过;

  • 如果指定gid的值,那么gid的值要存在;

  • 如果未指定uid的值,那么用户uid的值与gid值相等;

  • 如果指定创建家目录已经存在,那么需要更改家目录所属者和所属组的权限;

  • 不能创建相同的用户名;

  • 创建用户时还创建了用户对应的邮件文件,/var/mail目录存储用户邮箱。

3. 修改用户

语法结构:

        usermod [参数] 修改的内容 用户名

                常用参数:                 

                                -l:修改用户名(新用户名 旧用户名)

                                -u:修改UID

                                -g:修改GID

                                -c:修改描述字段

                                -d:修改家目录

                                -s:修改登录shell

案例

1.修改用户yy为nick:

[root@localhost ~]# usermod -l nick yy
[root@localhost ~]# tail -5 /etc/passwd
hhh:x:91:1001::/home/hhh:/bin/bash
yyyy:x:93:1000:yy_son:/home/yyy:/bin/bash
a:x:1001:1002::/home/yy:/bin/bash
b:x:1002:1003::/home/b:/sbin/nologin
nick:x:1000:1000::/home/yy:/bin/bash

2.修改用户yyyy为ada,修改uid为92,描述为This is a explain,登录shell为/bin/nologin:

[root@localhost ~]# usermod -u 92 -c "This is a explain" -s /bin/nologin -l ada yyyy
[root@localhost ~]# tail -5 /etc/passwd
hhh:x:91:1001::/home/hhh:/bin/bash
a:x:1001:1002::/home/yy:/bin/bash
b:x:1002:1003::/home/b:/sbin/nologin
nick:x:1000:1000::/home/yy:/bin/bash
ada:x:92:1000:This is a explain:/home/yyy:/bin/nologin

3.修改用户b的gid为1002,家目录为/max:

[root@localhost ~]# usermod -g 1002 -d /max b
[root@localhost ~]# tail -5 /etc/passwd
hhh:x:91:1001::/home/hhh:/bin/bash
a:x:1001:1002::/home/yy:/bin/bash
b:x:1002:1002::/max:/sbin/nologin
nick:x:1000:1000::/home/yy:/bin/bash
ada:x:92:1000:This is a explain:/home/yyy:/bin/nologin

3.1 修改用户密码

语法结构:

        passwd 用户名    ---->交互式

        echo 密码|passwd --stdin 用户名    ---->非交互式

案例

1.为用户a设置密码,创建用户lynn并设置密码:

[root@localhost ~]# passwd a    #交互式方式设置用户a密码
Changing password for user a.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo 123|passwd --stdin lynn    #为不存在的用户lynn设置密码失败
passwd: Unknown user name 'lynn'.
[root@localhost ~]# useradd lynn    #创建用户lynn
[root@localhost ~]# echo 123|passwd --stdin lynn    #非交互式方式设置用户lynn密码
Changing password for user lynn.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su - lynn    #从root用户登录到用户lynn不需要密码
[lynn@localhost ~]$ su - a    #普通用户lynn登录到普通用户a需要输入用户a的密码
Password: 
Last login: Thu Oct 26 16:06:31 CST 2023 on pts/1
[a@localhost root]$ su - root    #普通用户a登录到root用户需要输入root用户的密码    
Password: 
Last login: Thu Oct 26 15:58:43 CST 2023 from 172.29.11.62 on pts/1
[root@localhost ~]# 

2.删除用户a的密码:

[root@localhost ~]# passwd a -d    #删除用户a密码
Removing password for user a.
passwd: Success
[root@localhost ~]# su - lynn    #从root用户登录用户lynn不需要密码
Last login: Thu Oct 26 16:09:45 CST 2023 on pts/1
[lynn@localhost root]$ su - a    #用户lynn登录用户a不需要密码
Last login: Thu Oct 26 16:10:00 CST 2023 on pts/1
[a@localhost root]$

3.设置用户a密码为随机数,并查看用户密码:

[root@localhost ~]# echo $RANDOM|passwd --stdin a    #$RANDOM产生随机数
Changing password for user a.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# tail -5 /etc/shadow    #查看用户a和用户lynn密码已被加密
a:$6$gZZbji8b$Yrn9I/XNILt7QLcqlGtBsfhU8PCTYygKHbVeh93R4Xv6KknmSj1Oov23zzRvao75t9q6YclEc8OGa.KRo3zL4/:19656:0:99999:7:::
b:!!:19656:0:99999:7:::
nick:!!:19656:0:99999:7:::
ada:!!:19656:0:99999:7:::
lynn:$6$/kX3Cbsc$xlQOeKymxrPxCLt3fk.vbTGRcVZauojTIvcl97I9V2h1sbZL1tcNQzFDNU4V4Kme2gPgfUVPsGBxEOsEipB72.:19656:0:99999:7:::
总结
  • 不存在用户不能设置密码;
  • 不用用户是否存在都会修改密码;
  • root用户切换任何用户都不需要密码,普通用户切换任何用户都需要密码。

4. 删除用户

语法结构:

        userdel [参数] 用户名

                常用参数:

                              -r:清理与用户相关文件

案例

1.使用-r参数删除用户b:

[root@localhost ~]# userdel -r b
userdel: group b not removed because it is not the primary group of user b.
userdel: /max not owned by b, not removing
[root@localhost ~]# tail -5 /etc/passwd    #用户b信息被移除
hhh:x:91:1001::/home/hhh:/bin/bash
a:x:1001:1002::/home/yy:/bin/bash
nick:x:1000:1000::/home/yy:/bin/bash
ada:x:92:1000:This is a explain:/home/yyy:/bin/nologin
lynn:x:1003:1004::/home/lynn:/bin/bash
[root@localhost ~]# ls /var/mail/    #用户b邮箱被移除
a  ada  lynn  nick

2.不使用-r参数删除用户nick:

[root@localhost ~]# userdel nick
[root@localhost ~]# tail -5 /etc/passwd    #用户b信息未移除
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
hhh:x:91:1001::/home/hhh:/bin/bash
a:x:1001:1002::/home/yy:/bin/bash
ada:x:92:1000:This is a explain:/home/yyy:/bin/nologin
lynn:x:1003:1004::/home/lynn:/bin/bash
[root@localhost ~]# ls /var/mail/    #用户b邮箱未移除
a  ada  lynn  nick
[root@localhost ~]# ls /home/    #用户b家目录未移除
b  lynn  yy  yyy

二、组管理

1. 查看组信息

语法结构:

        groups 用户名 == cat /etc/group

案例

1.查看用户hhh和用户a的组,并修改用户a的组为1001(即与用户hhh同组):

[root@localhost ~]# tail -4 /etc/group
hhh:x:1001:
a:x:1002:
b:x:1003:
lynn:x:1004:
[root@localhost ~]# groups hhh
hhh : hhh
[root@localhost ~]# groups a
a : a
[root@localhost ~]# usermod -g 1001 a
[root@localhost ~]# groups hhh
hhh : hhh
[root@localhost ~]# groups a
a : hhh

2. 创建组

语法结构:

        groupadd [参数] 组名

                常用参数:

                                -g:指定GID(与useradd指定GID相反)

案例

1.创建组group1:

[root@localhost ~]# groupadd group1
[root@localhost ~]# tail -3 /etc/group
b:x:1003:
lynn:x:1004:
group1:x:1005:

2.创建组group2,指定gid为11111:

[root@localhost ~]# groupadd -g 11111 group2
[root@localhost ~]# tail -3 /etc/group
lynn:x:1004:
group1:x:1005:
group2:x:11111:

3. 修改组

语法结构:

        groupmod [参数] 组名

                常用参数:

                                -g:指定GID

                                -n:修改组名(新组名 旧组名)

案例

1.修改用户hhh的GID为2222,并将组名hhh修改为group3:

[root@localhost ~]# tail -7 /etc/group
yy:x:1000:
hhh:x:1001:
a:x:1002:
b:x:1003:
lynn:x:1004:
group1:x:1005:
group2:x:11111:
[root@localhost ~]# groupmod -g 2222 -n group3 hhh
[root@localhost ~]# tail -7 /etc/group
yy:x:1000:
a:x:1002:
b:x:1003:
lynn:x:1004:
group1:x:1005:
group2:x:11111:
group3:x:2222:

4. 删除组

语法结构:

        groupmod 组名

案例

1.删除组group2:

[root@localhost ~]# tail -3 /etc/group
group1:x:1005:
group2:x:11111:
group3:x:2222:
[root@localhost ~]# groupdel group2
[root@localhost ~]# tail -3 /etc/group
lynn:x:1004:
group1:x:1005:
group3:x:2222:

2.删除组group3:

[root@localhost ~]# groupdel group3    #组group3删除失败
groupdel: cannot remove the primary group of user 'hhh'
[root@localhost ~]# userdel -r hhh    #删除用户hhh成功
userdel: hhh home directory (/home/hhh) not found
[root@localhost ~]# groupdel group3    #再删除组group3成功
[root@localhost ~]# tail -3 /etc/group
b:x:1003:
lynn:x:1004:
group1:x:1005:

总结

        useradd语句创建的用户自动生成的组不能使用groupdel删除,如果想要删除该组就直接删除用户,即用户的属性组不能删除。

三、用户与组的关系

1. 用户添加附加组/组添加用户

1.1 用户添加附加组

语法结构:       

        gpasswd -a 用户名 组名        #参数-a添加用户到组

案例

1.创建用户user-1及组group-1,为用户user-1添加附加组group-1(即user-1有两个组):

[root@localhost ~]# useradd user-1   #创建用户user-1
[root@localhost ~]# groupadd group-1    #创建组group-1
[root@localhost ~]# id user-1    #查看用户user-1的组信息
uid=1005(user-1) gid=1008(user-1) groups=1008(user-1)
[root@localhost ~]# gpasswd -a user-1 group-1    #为用户user-1添加附加组group-1
Adding user user-1 to group group-1
[root@localhost ~]# id user-1    #用户user-1成功添加到group-1组
uid=1005(user-1) gid=1008(user-1) groups=1008(user-1),1007(group-1)

1.2 组添加用户

语法结构:       

        usermod -aG 组名 用户名       #参数-a添加用户到组需要与G一起使用是为用户添加附加组,参数-G单独使用是修改用户的附加组

案例

1.创建用户user-2,并添加到组group-1:

[root@localhost ~]# useradd user-2
[root@localhost ~]# tail -4 /etc/group    #查看组group-1信息
group1:x:1005:
group-1:x:1007:user-1
user-1:x:1008:
user-2:x:1006:
[root@localhost ~]# usermod -aG group-1 user-2
[root@localhost ~]# tail -4 /etc/group
group1:x:1005:
group-1:x:1007:user-1,user-2
user-1:x:1008:
user-2:x:1006:
[root@localhost ~]# id user-2    #用户user-2与用户user-1同时拥有两个组
uid=1006(user-2) gid=1006(user-2) groups=1006(user-2),1007(group-1)
[root@localhost ~]# id user-1
uid=1005(user-1) gid=1008(user-1) groups=1008(user-1),1007(group-1)

2. 添加多个用户到组

语法结构:       

        gpasswd -M 用户名,用户名... 组名       #参数-M设置组列表成员

案例

1.创建用户user-3和组group-2,将用户user-1、user-2、user-3添加到组group-2:

[root@localhost ~]# useradd user-3    #创建用户user-3
[root@localhost ~]# groupadd group-2    #创建组group-2
[root@localhost ~]# tail -1 /etc/group    #查看组group-2信息
group-2:x:1010:
[root@localhost ~]# gpasswd -M user-1,user-2,user-3 group-2
[root@localhost ~]# tail -1 /etc/group
group-2:x:1010:user-1,user-2,user-3

3. 从组删除用户

语法结构:       

        gpasswd -d 用户名 组名       #参数-d从组中删除用户

案例

1.将用户user-1从group-1组删除:

[root@localhost ~]# tail -5 /etc/group    #查看组group-1中的用户
group-1:x:1007:user-1,user-2
user-1:x:1008:
user-2:x:1006:
user-3:x:1009:
group-2:x:1010:user-1,user-2,user-3
[root@localhost ~]# gpasswd -d user-1 group-1
Removing user user-1 from group group-1
[root@localhost ~]# tail -5 /etc/group
group-1:x:1007:user-2
user-1:x:1008:
user-2:x:1006:
user-3:x:1009:
group-2:x:1010:user-1,user-2,user-3

四、用户提权

        超级管理员root用户useradd创建的用户为普通用户,如果服务器需要做一些高级操作时,普通用户权限往往显示权限被拒绝,此时就需要用到root权限。如果想要普通用户拥有root用户的所有权限,则可以将普通用户提升为管理员用户,即可执行管理员命令。

1. 方案一

什么是wheel(轮子)组?

        wheel组用来归纳一些特殊的系统用户,是root用户所在组,普通用户添加到该组就成了管理员组内的用户,并拥有了root用户的相关权限。一般会禁止普通用户随意使用su命令登录root用户

1.1 用户添加到wheel组

语法结构:       

        usermod -aG wheel 用户名

==    gpasswd -a 用户名 wheel

案例

1.将user-1命令添加到wheel组,有权限创建用户user-1.1:

[root@localhost ~]# echo 123 |passwd --stdin user-1    #为用户user-1创建密码为123
Changing password for user user-1.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su - user-1    #root用户登录到用户user-1
[user-1@localhost ~]$ sudo useradd user-1.1     #用户user-1创建用户user-1.1没有权限

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for user-1: 
user-1 is not in the sudoers file.  This incident will be reported.
[user-1@localhost ~]$ exit    #登录到root用户
logout
You have mail in /var/spool/mail/root
[root@localhost ~]# gpasswd -a user-1 wheel    #将用户user-1添加到wheel组
Adding user user-1 to group wheel
[root@localhost ~]# su - user-1    #再次登录到用户user-1
Last login: Mon Oct 30 11:11:26 CST 2023 on pts/0
[user-1@localhost ~]$ sudo useradd user-1.1    #添加sudo命令创建用户user-1.1成功
[sudo] password for user-1:
[user-1@localhost ~]$ echo 123|passwd --stdin user-1.1    #为用户user1.1创建密码为123
Only root can do that.
[user-1@localhost ~]$ sudo su - user-1.1    #切换到用户user-1.1成功
Last failed login: Mon Oct 30 11:16:21 CST 2023 on pts/0
There were 2 failed login attempts since the last successful login.
[user-1.1@localhost ~]$ exit    #退回到user-1用户
logout
[user-1@localhost ~]$ 

1.2 创建拥有管理权限的用户

语法结构:

        useradd -G wheel 用户名

案例

1.创建管理员user-4:

[root@localhost ~]# useradd -G wheel user-4    #创建管理员用户user-4
[root@localhost ~]# id user-4    #查看user-4用户组
uid=1009(user-4) gid=1012(user-4) groups=1012(user-4),10(wheel)
[root@localhost ~]# echo 123|passwd --stdin user-4    #为user-4用户创建密码123
Changing password for user user-4.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su - user-4   #登录到user-4用户
Last login: Mon Oct 30 11:26:43 CST 2023 on pts/0
[user-4@localhost ~]$ sudo useradd user-4.1    #创建用户user-4.1

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for user-4: 
[user-4@localhost ~]$ echo 123|passwd --stdin user-4.1    #为用户user-4.1创建密码123
Only root can do that.
[user-4@localhost ~]$ sudo su - user-4.1    #登录到用户user-4.1
Last failed login: Mon Oct 30 11:28:34 CST 2023 on pts/0
There was 1 failed login attempt since the last successful login.
[user-4.1@localhost ~]$

2. 方案二

        用户添加到sudo命令的配置文件。

案例

1.将user-2添加到sudo配置文件,登录到user-2创建user-2.1用户:

[root@localhost ~]# echo 123|passwd --stdin user-2    #为用户user-2创建密码123
Changing password for user user-2.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su - user-2    #登录到用户user-2
Last login: Mon Oct 30 11:37:38 CST 2023 on pts/0
[user-2@localhost ~]$ sudo useradd user-2.1    #创建用户user-2.1失败

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for user-2: 
user-2 is not in the sudoers file.  This incident will be reported.
[user-2@localhost ~]$ exit
logout
You have new mail in /var/spool/mail/root
[root@localhost ~]# visudo    #将用户user-2添加到sudo文件
[root@localhost ~]# su - user-2
Last login: Mon Oct 30 11:38:23 CST 2023 on pts/0
[user-2@localhost ~]$ sudo useradd user-2.1    #创建用户user-2.1成功
[sudo] password for user-2: 
[user-2@localhost ~]$ sudo su - user-2.1    #登录到用户user-2.1成功
[user-2.1@localhost ~]$

        visudo配置文件中填写信息:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Que_art

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值