Linux用户和组管理 passwd和shadow,groupadd ,useradd,usermod,su,sudo用法

1. /etc/passwd
[ root@niejicai-linux ~]# ls /etc/passwd
/etc/passwd
[ root@niejicai-linux ~]# 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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
pulse:x:498:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:497:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
niejicai:x:500:500:niejicai:/home/niejicai:/bin/bash
hacluster:x:496:493:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
xiaonie:x:501:501::/home/xiaonie:/bin/bash
用户名:密码:uid:gid:用户解析说明:家目录:shell                         7段
                    (普通用户uid从500开始)
由 : 分隔成7个字段
(1) 用户名 规则:大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法 
(2) x 放密码,安全起见放到 /etc/shadow
(3) uid (0-4294967294=2^32-2)  root uid=0 1-499系统保留 普通账户是从500开始
(4) gid  对应 /etc/group
(5) 注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等  用 chfn 更改
(6) 用户家目录
(7) shell  /bin/bash, /bin/false, /sbin/nologin

2./etc/shadow
[ root@niejicai-linux ~]# cat /etc/shadow
如$6$为SHA-512加密;如$5$为SHA-256加密;如$1$为MD5加密
root:$1 $6/9kA2.A$wse8xHHG4ncrGpmyWmoe31:16750:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
shutdown:*:15980:0:99999:7:::
halt:*:15980:0:99999:7:::
mail:*:15980:0:99999:7:::
uucp:*:15980:0:99999:7:::
operator:*:15980:0:99999:7:::
games:*:15980:0:99999:7:::
gopher:*:15980:0:99999:7:::
ftp:*:15980:0:99999:7:::
nobody:*:15980:0:99999:7:::
dbus:!!:16749::::::
usbmuxd:!!:16749::::::
vcsa:!!:16749::::::
rtkit:!!:16749::::::
avahi-autoipd:!!:16749::::::
pulse:!!:16749::::::
haldaemon:!!:16749::::::
ntp:!!:16749::::::
apache:!!:16749::::::
saslauth:!!:16749::::::
postfix:!!:16749::::::
abrt:!!:16749::::::
gdm:!!:16749::::::
sshd:!!:16749::::::
tcpdump:!!:16749::::::
niejicai:$1$vgh46sJv$1HzLg49W/Y.gJZiqAkgKz/:16749:0:99999:7:::
hacluster:!!:16751::::::
xiaonie:!!:16751:0:99999:7:::
使用 : 分隔9个字段
(1)  用户名
(2)  密码,用SHA-512加密过,不可逆
(3) 上次更改密码的日期,例如上次更改密码的日期为2012年1月1日,则这个值就是 ‘365 x (2012-1970) + 10 + 1= 15341’. 
(4) 要过多少天才可以更改密码, 0 不限制
(5 )密码多少天后到期,默认是99999,可以理解为永远不需要改 
(6) 密码到期前的警告期限 
(7) 账号失效期限,到期后过多少天锁定帐号 
(8) 账号的生命周期
(9) 作为保留用的,没有什么意义


3. groupadd 
新增/删除用户和组
groupadd 组名                添加组
groupadd -g gid号  组名   给添加组指定gid号(如不指定,递增创建gid)
groupdel  组名                 (如果组内有用户,不能删除)
[ root@niejicai-linux ~]# groupadd  grp1
[ root@niejicai-linux ~]# tail /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
niejicai:x:500:
haclient:x:493:
xiaonie:x:501:
grp1:x:502:
[ root@niejicai-linux ~]# tail /etc/gshadow
stapusr:!::
stapsys:!::
stapdev:!::
sshd:!::
tcpdump:!::
slocate:!::
niejicai:!::
haclient:!::
xiaonie:!::
grp1:!::
[ root@niejicai-linux ~]# tail /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
niejicai:x:500:
haclient:x:493:
xiaonie:x:501:
grp1:x:502:                               默认也是从500开始
[ root@niejicai-linux ~]# groupadd grp3        增加组
[ root@niejicai-linux ~]# groupdel grp3           删除组
[ root@niejicai-linux ~]# tail  /etc/passwd
abrt:x:173:173::/etc/abrt:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
niejicai:x:500:500:niejicai:/home/niejicai:/bin/bash
hacluster:x:496:493:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
xiaonie:x:501:501::/home/xiaonie:/bin/bash
user1:x:502:503::/home/user1:/bin/bash
user2:x:5505:5505::/home/user2:/bin/bash
user4:x:508:500::/home/user4:/bin/bash
[ root@niejicai-linux ~]# groupdel niejicai
groupdel: cannot remove the primary group of user 'niejicai'  如果组内有用户,是不能删除的。


4. useradd
useradd -u uid号 用户名     指定uid号
useradd -g gid号 用户名     给新建用户指定gid号(gid必须之前就存在)
useradd -G gid号 用户名     添加附属组
useradd -d 路径 用户名       指定家目录
useradd -M 用户名              不建立家目录  (会指定家目录,但没有创建)
     如需要手动创建家目录,需要往家目录拷贝一些文件:
     cp /etc/skel/.b* /home/用户名     手动将环境变量文件拷贝到用户家目录中
useradd -s shell路径 用户名     指定shell
userdel  -r 删除用户的家目录
[ root@niejicai-linux ~]# useradd user10
[ root@niejicai-linux ~]# tail /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
niejicai:x:500:500:niejicai:/home/niejicai:/bin/bash
hacluster:x:496:493:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
xiaonie:x:501:501::/home/xiaonie:/bin/bash
user1:x:502:503::/home/user1:/bin/bash
user2:x:5505:5505::/home/user2:/bin/bash
user4:x:508:500::/home/user4:/bin/bash
user10:x:5506:5507::/home/user10:/bin/bash
[ root@niejicai-linux ~]# useradd -u 505 user20
[ root@niejicai-linux ~]# tail -5 /etc/group
user1:x:503:
user2:x:5505:
grp10:x:5506:
user10:x:5507:
user20:x:505:
[ root@niejicai-linux ~]#  useradd -u 5562 -g 500 user41
[ root@niejicai-linux ~]# tail  /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
niejicai:x:500:500:niejicai:/home/niejicai:/bin/bash
hacluster:x:496:493:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
xiaonie:x:501:501::/home/xiaonie:/bin/bash
user1:x:502:503::/home/user1:/bin/bash
user2:x:5505:5505::/home/user2:/bin/bash
user4:x:508:500::/home/user4:/bin/bash
user10:x:5506:5507::/home/user10:/bin/bash
user20:x:505:505::/home/user20:/bin/bash
user41:x:5562:500::/home/user41:/bin/bash
[ root@niejicai-linux ~]#  useradd -u 5561 -g 500 -G user1,user2  user42
   -G 添加附属组
[ root@niejicai-linux ~]# tail /etc/passwd
niejicai:x: 500:500:niejicai:/home/niejicai:/bin/bash
hacluster:x:496:493:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
xiaonie:x:501:501::/home/xiaonie:/bin/bash
user1:x:502:503::/home/user1:/bin/bash
user2:x:5505:5505::/home/user2:/bin/bash
user4:x:508:500::/home/user4:/bin/bash
user10:x:5506:5507::/home/user10:/bin/bash
user20:x:505:505::/home/user20:/bin/bash
user41:x: 5562:500::/home/user41:/bin/bash
user42:x: 5561:500::/home/user42:/bin/bash
[ root@niejicai-linux ~]# useradd user4
[ root@niejicai-linux ~]# ls /var/spool/mail/
niejicai  user1   user2   user4   user42
root      user10  user20  user41  xiaonie
[ root@niejicai-linux ~]#  userdel  -r user4                             -r把家目录和邮件一块删除
[ root@niejicai-linux ~]# ls /var/spool/mail/
niejicai  user1   user2   user41  xiaonie
root      user10  user20  user42
[ root@niejicai-linux ~]# useradd  -u 508 -g 500 -G user1,505 user4 .
[ root@niejicai-linux ~]# id user4          查看id
uid=508(user4) gid=500(niejicai) groups=500(niejicai),503(user1),505(user20)
[ root@niejicai-linux ~]# userdel  -r user4
[ root@niejicai-linux ~]# useradd -u 508 -g 500  -d /home/user55 user5    创建家目录
[ root@niejicai-linux ~]# ls /home/
niejicai  user10  user20  user42  xiaonie
user1     user2   user41  user55
[ root@niejicai-linux ~]# grep user5 /etc/passwd
user5:x:508:500::/home/user55:/bin/bash
[ root@niejicai-linux ~]#  useradd -u 508 -g 500 -M user4      不创建家目录(会指定家目录,但是没有创建家目录)
[ root@niejicai-linux ~]# tail  /etc/passwd
niejicai:x:500:500:niejicai:/home/niejicai:/bin/bash
hacluster:x:496:493:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
xiaonie:x:501:501::/home/xiaonie:/bin/bash
user1:x:502:503::/home/user1:/bin/bash
user2:x:5505:5505::/home/user2:/bin/bash
user10:x:5506:5507::/home/user10:/bin/bash
user20:x:505:505::/home/user20:/bin/bash
user41:x:5562:500::/home/user41:/bin/bash
user42:x:5561:500::/home/user42:/bin/bash
user4:x:508:500::/home/user4:/bin/bash
[ root@niejicai-linux ~]#  su - user4                                         没有创建家目录的时候,如果su 过去的时候,就会提示报错!
su: warning: cannot change directory to /home/user4: No such file or directory
-bash-4.1$ ^C
-bash-4.1$ mkdir /home/user4
mkdir: cannot create directory `/home/user4': Permission denied
-bash-4.1$ exit
logout
[ root@niejicai-linux ~]#  mkdir /home/user4                         这时候我们时候手工创建,然后通过把系统的/etc/skel/复制过去,然后就恢复正常了
[ root@niejicai-linux ~]# ls -a  /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla
[ root@niejicai-linux ~]#  cp -v /etc/skel/ .b* /home/user4
cp: omitting directory `/etc/skel/'
`.bash_history' -> `/home/user4/.bash_history'
`.bash_logout' -> `/home/user4/.bash_logout'
`.bash_profile' -> `/home/user4/.bash_profile'
`.bashrc' -> `/home/user4/.bashrc'  
[ root@niejicai-linux ~]#  su - user4                                         恢复正常登陆
[ user4@niejicai-linux ~]$ pwd
/home/user4
[ user4@niejicai-linux ~]$ ls -la
total 40
drwxr-xr-x   2 root root  4096 Nov 16 15:01 .
drwxr-xr-x. 11 root root  4096 Nov 16 15:00 ..
-rw-------   1 root root 20013 Nov 16 15:01 .bash_history
-rw-r--r--   1 root root    18 Nov 16 15:01 .bash_logout
-rw-r--r--   1 root root   176 Nov 16 15:01 .bash_profile
-rw-r--r--   1 root root   176 Nov 16 15:01 .bashrc
[ user4@niejicai-linux ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
[ user4@niejicai-linux ~]$ cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
[ user4@niejicai-linux ~]$ useradd -u 508 -g 500 -s /sbin/nologin user6
普通用户不给它登陆

5. usermod     更改用户
  -u            更改用户的uid
-s              更改shell
-d             更改家目录
 -L              锁定账户
-U              解锁账户
-g              指定gid
-G              添加附属组

[ root@niejicai-linux ~]# usermod -d /home/user444 user4
[ root@niejicai-linux ~]# su - user4
su: warning: cannot change directory to /home/user444: No such file or directory
-bash-4.1$ exit
logout
[ root@niejicai-linux ~]# mv /home/user4 /home/user444
[ root@niejicai-linux ~]#  su user4
[ user4@niejicai-linux root]$ logout
bash: logout: not login shell: use `exit'
[ user4@niejicai-linux root]$ exit
exit
[ root@niejicai-linux ~]#  usermod -u 509 user4
[ root@niejicai-linux ~]# tail -l /etc/passwd
niejicai:x:500:500:niejicai:/home/niejicai:/bin/bash
hacluster:x:496:493:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
xiaonie:x:501:501::/home/xiaonie:/bin/bash
user1:x:502:503::/home/user1:/bin/bash
user2:x:5505:5505::/home/user2:/bin/bash
user10:x:5506:5507::/home/user10:/bin/bash
user20:x:505:505::/home/user20:/bin/bash
user41:x:5562:500::/home/user41:/bin/bash
user42:x:5561:500::/home/user42:/bin/bash
user4:x:509:500::/home/user444:/bin/bash
[ root@niejicai-linux ~]#  id user4
uid=509(user4) gid=500(niejicai) groups=500(niejicai)

6. chfn   (了解,几乎用不到)。
[ root@niejicai-linux ~]# chfn user4
Changing finger information for user4.
Name []: user4
Office []: ddddddddddd
Office Phone []: aaaaaaaaaaa
Home Phone []: 111111111111111
Finger information changed.
[ root@niejicai-linux ~]# tail  -4 /etc/passwd
user20:x:505:505::/home/user20:/bin/bash
user41:x:5562:500::/home/user41:/bin/bash
user42:x:5561:500::/home/user42:/bin/bash
user4:x:509:500:user4, ddddddddddd,aaaaaaaaaaa, 111111111111111:/home/user444:/bin/bash
7. 创建、修改用户密码
passwd  
创建密码的规则:长度大于10;含大小写字母数字以及特殊字符 ;不规则性;不要带有自己名字、公司名字、自己电话、自己生日等。
mkpasswd  生成密码的工具,安装 expect包    (了解)
[ root@niejicai-linux ~]# yum install -y expect
[ root@niejicai-linux ~]# mkpasswd -l 20 -s 0
gssmskt4gvdwMviwqs7U
Keepass介绍
keepass (记住密码) 必须要去官网下载
Keepass官网地址:  http://www.keepass.info  
首先创建一个新的密码库文件 
增加一个group
创建一个entry
修改entry信息
获取entry密码

8.su
[ root@niejicai-linux ~]#   su user4                           简单的切换,不加减号,不是当前用户的环境变量
[ user4@niejicai-linux root]$ pwd
/root
[ user4@niejicai-linux root]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[ root@niejicai-linux ~]# su -c "touch /tmp/user4.txt" - user4
[ root@niejicai-linux ~]# ls -l /tmp/user4.txt
-rw-r--r-- 1 user4 niejicai 0 Nov 16 22:21 /tmp/user4.txt
[ root@niejicai-linux ~]# su -c "touch /tmp/user4.tx9t" user4
[ root@niejicai-linux ~]# ls -l /tmp/user4.txt*
-rw-r--r-- 1 user4 niejicai 0 Nov 16 22:21 /tmp/user4.txt
[ root@niejicai-linux ~]# ls -l /tmp/user4*
-rw-r--r-- 1 user4 niejicai 0 Nov 16 22:22 /tmp/user4.tx9t
-rw-r--r-- 1 user4 niejicai 0 Nov 16 22:21 /tmp/user4.txt

加减号,是当前用户的环境变量
[ root@niejicai-linux ~]# su - user4    
[ user4@niejicai-linux ~]$ pwd
/home/user444

9.sudo
visudo 编辑/etc/sudoers 配置文件  没有命令需安装 yum install -y sudo
[ root@niejicai-linux ~]#  visudo
## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
##      user    MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL                        /bin/ls这个一定要写绝对路径
user4   ALL=(root)      /bin/ls               user4用户临时拥有root的身份,去执行的 ls 这条命令 。    
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, S

在没有添加这条命令之前user4   ALL=(root)      /bin/ls  ,去测试一下,结果如下
[ root@niejicai-linux ~]# su - user4
[ user4@niejicai-linux  ~]$ sudo /bin/ls /root/
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 user4:
user4 is not in the sudoers file.  This incident will be reported.

添加了这条命令之后,再去测试一下结果如下:
[ root@niejicai-linux ~]# su - user4
[ user4@niejicai-linux ~]$ sudo /bin/ls /root/
[sudo] password for user4:
12     4.txt  999.txt             jicai
234    5.txt  anaconda-ks.cfg     niejicailinux.txt
2.txt  6.txt  install.log
3.txt  7.txt  install.log.syslog
[ root@niejicai-linux  ~]#  visudo
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
user4   ALL=(root)     NOPASSWD:  /bin/ls, /bin/su     不需要密码,到可以登录,
user4 以root用户的身份去执行 ls ,su命令,登录的时候不需要密码。
xiaonie  ALL=(root)   NOPASSWD:  /bin/ls, /bin/su
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
测试如下:
[ root@niejicai-linux ~]# su - user4
[ user4@niejicai-linux ~]$ sudo /bin/su -
[ root@niejicai-linux ~]# exit
logout
[ user4@niejicai-linux ~]$ sudo su -

10.sudo -i 也可以登录到root ?
sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。

su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。

sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。
其实,还有几个类似的用法:
sudo /bin/bash   : 这个命令也会切换到root的bash下,但不能完全拥有root的所有环境变量,比如PATH,可以拥有root用户的权限。这个命令和 sudo -s 是等同的。
sudo -s : 如上
sudo su  : 这个命令,也是登录到了root,但是并没有切换root的环境变量,比如PATH。
sudo su - :  这个命令,纯粹的切换到root环境下,可以这样理解,先是切换到了root身份,然后又以root身份执行了 su - ,这个时候跟使用root登录没有什么区别。这个结果貌似跟sudo -i 的效果是一样的,但是也有不同,sudo 只是临时拥有了root的权限,而su则是使用root账号登录了linux系统。

所以,我们再来总结一下:
sudo su -  约等于  sudo -i 
sudo -s  完全等于  sudo  /bin/bash  约等于 sudo su 
sudo 终究被一个"临时权限的帽子"扣住,不能等价于纯粹的登录到系统里。

11.怎么设置,不给root远程登陆呢!
有时为了特殊需求,只允许普通账户登陆Linux,而不允许root账户登陆,而普通账户登陆后,然后再su 到root下是可以的。打开sshd的配置文件 
vim /etc/ssh/sshd_config  加入一行:
PermitRootLogin no

重启sshd服务: service  sshd restart
测试如下:
[root@niejicai-linux ~]# vim /etc/ssh/sshd_config
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no     去掉注释 保存既可以,
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
测试远程root登录不上去!!!

11.用户登录的时候,远远的缩短了输入密码的时间:
[ root@niejicai-linux ~]# vim /etc/ssh/sshd_config
#ShowPatchLevel no
UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
[ root@niejicai-linux ~]# /etc/init.d/sshd restart
Stopping sshd:                                           [  OK  ]
Starting sshd:                                           [  OK  ]
测试: login as: root
root@192.168.100.218's password:     反应就很快了。
Last login: Mon Nov 16 22:29:36 2015 from 192.168.100.219












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值