从零开始缓慢深入Linux - 基础指令篇(4)

本文详细介绍了Linux用户和组的概念,包括相关文件如/etc/passwd、/etc/shadow等,以及用户和组管理命令如useradd、passwd等。此外,还探讨了Linux的文件权限和属性,包括UGO权限、特殊权限如suid、sgid,以及文件的隐藏属性和访问控制列表(ACL)。内容适合Linux初学者,帮助理解用户权限和文件管理。

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

Linux用户和组

用户和组的相关文件

文件名作用
/etc/passwd系统中的账号信息
etc/shadow存放密码及其策略相关信息
/etc/group存放用户组的信息
/etc/gshadow存放用户组的密码及其策略相关信息
/etc/default/useradd创建新用户时默认的配置信息
/etc/skel/*Directory containing default files.
/etc/login.defs用户和组默认的配置信息
/etc/shells该文件记录着合法的 shell 版本

/etc/passwd文件

说明:存放用户相关信息,每一行都代表一个用户,有几行就代表有几个账号在你的系统中,每一行都以冒号作为分隔符有7个字段。

rootx00root/root/bin/bash
用户名称密码占位符uidgid说明信息用户家目录用户登录shell

/etc/shadow文件

说明:存放密码及其策略相关信息,以冒号作为分隔符九个字段。`

root省略141260999997
账户名加密后密码最近密码修改的日期密码不可被更动的天数密码需要重新变更的天数密码需要变更期限前的警告天数密码过期后的账号宽限时间账号失效日期保留

/etc/group文件

rootx0root
组名群组密码,一般不设定GID此群组支持的账号名称

/etc/default/useradd文件

[root@www ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100 # 预设的群组
HOME=/home # 默认的家目录所在目录
INACTIVE=-1 # 密码失效日 , 在 shadow 第 7 栏
EXPIRE= # 账号失效日 , 在 shadow 第 8 栏
SHELL=/bin/bash # 预设的 shell /sbin/nologin 将无法登陆
SKEL=/etc/skel #  用户家目录的内容数据参考目录
CREATE_MAIL_SPOOL=yes # 是否主动帮助使用者建立邮件信箱 (mailbox)

/etc/skel/目录

[root@www skel]# ll -a /etc/skel
total 40
drwxr-xr-x. 4 root root 4096 Jan 2 01:58 .
drwxr-xr-x. 125 root root 12288 Mar 21 03:09 ..
-rw-r--r--. 1 root root 18 Jul 9 2013 .bash_logout
-rw-r--r--. 1 root root 176 Jul 9 2013 .bash_profile
-rw-r--r--. 1 root root 124 Jul 9 2013 .bashrc
-rw-r--r--. 1 root root 500 May 7 2013 .emacs
drwxr-xr-x. 2 root root 4096 Jul 14 2010 .gnome2
drwxr-xr-x. 4 root root 4096 Jan 2 01:52 .mozilla

/etc/login.defs文件

[root@www ~]# cat /etc/login.defs
MAIL_DIR           /var/spool/mail 			# 用户默认邮件信箱放置目录
PASS_MAX_DAYS      99999 					# /etc/shadow 第5栏,密码需要重新变更的天数
PASS_MIN_DAYS      0 						# /etc/shadow 第4栏,密码不可被更动的天数
PASS_MIN_LEN       5 						# 密码最短的字符长度,已被pam模块取代,失去效用
PASS_WARN_AGE      7 						# /etc/shadow 第6栏,过期前会警告天数
UID_MIN            500 						# 使用者最小的 UID 不能 <500
UID_MAX            60000 					# 使用者最大的 UID 不能 >60000
GID_MIN            500 						# 自定义组最小的 UID 不能 <500
GID_MAX            60000					# 自定义组最大的 UID 不能 >60000
CREATE_HOME        yes 						# 默认是否主动建立用户家目录
UMASK              077							# 用户家目录建立的umask
USERGROUPS_ENAB    yes						# 使用userdel时,是否会删除初始群组
ENCRYPT_METHOD     SHA512 					# 经过 SHA512 进行加密处理

/etc/shells文件

[root@www skel]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

用户和组的相关命令

用户和组
新建组groupadd
新建用户useradd
修改密码passwd 密码 >8 位字符、小写 / 大写 / 数字 / 特殊符号之间任选 3 位
修改用户属性usermod
修改组属性groupmod
修改密码属性chage
修改 shellchsh
删除用户userdel
作用命令
---------------------
删除组groupdel
查看已存在用户的基本信息id
查看当前用户支持的群组信息groups

新建组:groupadd

groupadd [options] group

# 新建组 test 制定 gid 为 888
[root@www ~]# groupadd -g 888 test

新建用户:useradd

useradd [options] LOGIN

[root@www ~]# useradd -u 888 -g 888 -s /sbin/nologin alice
[root@www ~]# id alice
uid=888(alice) gid=888(test) groups=888(test)
[root@www ~]# tail -n 1 /etc/passwd
alice:x:888:888::/home/alice:/sbin/nologin
[root@www ~]# tail -n 1 /etc/shadow
alice:!!:16880:0:99999:7:0:16881:

设置密码:passwd

passwd [-k][-l] [-u [-f]][-d] [-e][-n mindays] [-x maxdays] [-w] warndays] [-i inactivedays] [-S] [--stdin] [username]

# 给alice用户设置密码
[root@www ~]# passwd alice
Changing password for user alice.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.

# 设置密码失效日期为 7 天
[root@www ~]# passwd -i 7 alice
Adjusting aging data for user alice.
passwd: Success

修改组属性:groupmod

groupmod [options] GROUP

[root@www ~]# groupmod -g 999 test
[root@www ~]# grep test /etc/group
test:x:999:
[root@www ~]# groupmod -n test1 test
[root@www ~]# grep test /etc/group
test1:x:999:

修改用户属性:usermod

usermod [options] LOGIN

[root@www ~]# usermod -g test2 -G test3 alice
[root@www ~]# id alice
uid=888(alice) gid=1000(test2) groups=1000(test2),1001(test3)
[root@www ~]# usermod -s /sbin/nologin alice
[root@www ~]# grep alice /etc/passwd
alice:x:888:1000::/home/alice:/sbin/nologin
[root@www ~]# su - alice
This account is currently not available.

修改密码策略:chage

chage [options] LOGIN

[root@www ~]# chage alice
Changing the aging information for t1
Enter the new value, or press ENTER for the default
Minimum Password Age [0]:
Maximum Password Age [99999]:
Last Password Change (YYYY-MM-DD) [2016-03-20]:
Password Expiration Warning [7]:
Password Inactive [7]:
Account Expiration Date (YYYY-MM-DD) [2016-03-21]:

修改shell:chsh

chsh [-s shell][-l] [-u][-v] [username]

[root@www ~]# chsh -s /bin/bash lucky
Changing shell for alice.
Shell changed.
[root@www ~]# grep lucky /etc/passwd
t1:x:888:1000::/home/lucky/bin/bash

删除组:groupdel

groupdel [options] GROUP

[root@www ~]# groupdel hello
[root@www ~]# grep hello /etc/group

删除用户:userdel

userdel [options] LOGIN

[root@www ~]# tail -n 3 /etc/group
test:x:999:
test2:x:1000:
test3:x:1001:t1
[root@www ~]# groupdel test3
[root@www ~]# tail -n 3 /etc/group
baby:x:490:
test:x:999:
test2:x:1000:
[root@www ~]# userdel -r alice
[root@www ~]# grep alice /etc/passwd

查看用户信息:id

id [OPTION]... [USER]

[root@www ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@www ~]# id -g root
0
[root@www ~]# id -u root
0

查看组信息:groups

groups [OPTION]... [USERNAME]…

[root@www ~]# groups
root

切换用户身份:su

su [options...] [-] [user [args...]]

# 使用 root 切换成为任何使用者时 , 不需要输入新用户密码
[root@www ~]# su - jenny 
Last login: Tue Jul 31 18:42:08 CST 2018 on pts/1

# 使用普通用户切换成为任何使用者时 , 需要输入对应用户密码
[jenny@www ~]$ su -
Password:
Last login: Fri Aug  3 15:27:19 CST 2018 from 220.248.35.50 on pts/1
Last failed login: Fri Aug  3 15:48:33 CST 2018 on pts/1
There was 1 failed login attempt since the last successful login.

临时切换用户身份:sudo

sudo [-u user name | uid] [command]

sudo 执行流程
  • 在 /etc/sudoers 档案中查看 user 是否有 sudo 执行权限
  • 若有 sudo 执行权限 , 『输入用户的密码』
  • 密码正确 , 开始执行 sudo 后续接的指令
  • root 无需密码,自己切换自己也无需密码
添加用户 sudo 执行权限的方法
  • visudo 可以让系统检验 /etc/sudoers 的语法是否正确
  • 修改 /etc/sudoers 中的语法
语法说明
# 单用户授权
username ALL=(ALL) 	ALL 

# 群组授权
%groupname ALL=(ALL) ALL

# 免密码登录
%groupname ALL=(ALL) NOPASSWD: ALL

# 命令别名设置
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

# 用户别名设置
User_Alias ADMINS = jsmith, mikem
实验:设置指定免密sudo操作权限
[root@www ~]# visudo
Cmnd_Alias TEST = /bin/cat, /usr/bin/tail, /usr/bin/test, /usr/bin/stat, /bin/grep, /usr/bin/find, /sbin/iptables-save,/usr/bin/socat, /usr/sbin/ss

alice          ALL = NOPASSWD: TEST

Linux 文件属性和权限

作者:Jenny

邮箱:jenny1228.li@foxmail.com


文件属性

类 Unix 系统的设计初衷就是为让多用户同时工作,所以也迫使 Linux 系统有了极强的安全性。接下来我们一起来看看 linux 系统示如何实现安全性的。

[root@mastera0 tmp]# ll /
total 4148
lrwxrwxrwx.   1 root root        7 May  5 17:28 bin -> usr/bin
dr-xr-xr-x.   4 root root     4096 May  5 17:40 boot
drwxr-xr-x.  15 root root     4096 Aug 19 13:19 content
-rw-------    1 root root  2166784 Aug  8 05:24 core.2052
-rw-------    1 root root 19017728 Aug  8 05:27 core.2488
drwxr-xr-x   19 root root     3380 Oct 26 12:22 dev
drwxr-xr-x. 138 root root    12288 Oct 26 12:22 etc
drwxr-xr-x.   4 root root       31 Aug 23 17:32 home
lrwxrwxrwx.   1 root root        7 May  5 17:28 lib -> usr/lib
lrwxrwxrwx.   1 root root        9 May  5 17:28 lib64 -> usr/lib64
drwxr-xr-x.   2 root root        6 May 25  2015 media
drwxr-xr-x.   2 root root        6 May 25  2015 mnt
drwxr-xr-x.   4 root root       36 May  6 13:19 opt
dr-xr-xr-x  229 root root        0 Oct 26  2016 proc
dr-xr-x---.  26 root root     4096 Oct 12 14:11 root
drwxr-xr-x   39 root root     1200 Oct 26 12:24 run
lrwxrwxrwx.   1 root root        8 May  5 17:28 sbin -> usr/sbin
drwxr-xr-x.   2 root root        6 May 25  2015 srv
dr-xr-xr-x   13 root root        0 Oct 26  2016 sys
drwxrwxrwt.  31 root root     4096 Oct 26 12:42 tmp
drwxr-xr-x.  13 root root     4096 May  5 17:28 usr
drwxr-xr-x.  23 root root     4096 Oct 26  2016 var

第一列内容的第一位字母就揭露了文件的类型。

文件的分类

文件类型符号说明
普通文件-包括纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件
目录文件dwindows中的文件夹
字符设备c行端口的接口设备,例如键盘、鼠标等等
块设备文件b存储数据以供系统存取的接口设备,简单而言就是硬盘。
套接字文件s这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。
管道文件p解决多个程序同时存取一个文件所造成的错误
链接文件l类似于windows的快捷方式

UGO权限说明

Linux 系统中一切都是文件,文件和目录的所属与权限 —— 来分别规定所有者、所有组、其余人的读,写,
执行权限。

读 (read) ,写 (write) ,执行 (execute ),简写即为 (r\w\x) ,亦可用数字 (4\2\1) 表示

例如:

[root@www opt]# ll -d backup
drwxr-xr-x 2 jenny jenny 4096 Mar 22  2018 backup

# 该文件类型为:目录
# 文件拥有者为:jenny
# 文件所属组为:jenny
# 对于jenny用户具有rwx权限,即可读可写可执行
# 对于jenny组内的其他用户具有rx权限,即可读可执行。
# 对于除了jenny用户和jenny组内的用户,其他人具有rx权限,即可读可执行权限。

UGO权限对于文件和目录的实际意义

普通文件即实际保存数据的地方,其并不具备删除自身的权限:

  • r: 可读取文件的实际内容
  • w: 可编辑 / 新增 / 修改该文件的实际内容
  • x: 可被执行

目录文件即保存有目录结构和文件权限:

  • r: 可读取目录结构和权限
  • w: 可更改目录结构列表、新建 / 删除 / 重命名 / 转移子文件 / 目录。
  • x: 表示用户可进入到该目录中

特殊权限 suid|sgid|ticky

单纯对文件位置的 rwx 权限肯定不能满足我们对安全、便捷工作的需求,所以便有了 SUID 与 SGID 的特
殊权限机制。

SUID:

  • 范围 : 二进制的可执行的文件
  • 作用 : 临时拥有所有者的权限

SGID:

  • 范围 : 目录或者拥有可执行权限的文件
  • 作用 : 继承目录所属组

SBIT ( STICKY )

  • 范围 : 目录
  • 作用 : 只有 root 用户和文件拥有者有权删除目录中的文件。

隐藏属性 ATTR

文件权限除了 UGO 读写执行与 SUID 、 SGID 、 SBIT 外还有一种隐藏权限,例如明明有权限删除某个文件
却报错了,或者仅能为某个文件追加内容而不能减少内容,遇到这种很 “ 奇怪 ” 的文件,就要怀疑是文件被设
置隐藏权限了。

chattr 命令用于设置文件的隐藏权限,格式为: “ chattr [ 参数 ] 文件 ” 。

参数作用
i将无法对文件进行修改,若对目录设置后则仅能修改子文件而不能新建或删除。
a仅允许补充(追加)内容.无法覆盖/删除(Append Only)。
S文件内容变更后立即同步到硬盘(sync)。
s彻底从硬盘中删除,不可恢复(用 0 填充原文件所在硬盘区域)。
A不再修改这个文件的最后访问时间(atime)。
b不再修改文件或目录的存取时间。
D检查压缩文件中的错误。
d当使用 dump 命令备份时忽略本文件/目录。
c默认将文件或目录进行压缩。
u当删除此文件后依然保留其在硬盘中的数据,方便日后恢复。
t让文件系统支持尾部合并(tail-merging)。
X可以直接访问压缩文件的内容。

lsattr 命令用于显示文件的隐藏权限,格式为: “ lsattr [ 参数 ] 文件 ” 。

参数作用
a显示所有文件和目录。
l显示隐藏属性的全称(默认简写成一个字母)。
R递归处理,将指定目录下的所有文件及子目录一并处理。
d若目标文件为目录,请加此参数。

文件访问控制列表 ACL

不知大家有没有发现其实上面讲解的 rwx 权限、特殊权限、隐藏权限都是对某一类用户设置的,而如果希望
对某个指定的用户进行单独的权限设置,那么就需要用文件的访问控制列表来实现啦。

我们可以基于普通文件或目录设置进行设置 ACL ,通俗来说 ACL 就是设置指定的特定用户或用户组对某个
文件的操作权限。并且如果对某个目录设置了访问控制策略,那么子文件则继承其访问策略,而若对文件设
置了访问控制策略则不再继承上级目录的控制策略。

ACL:Access Control List 缩写 ,UGO 的 rwx 权限以外的细部权限设置。

  • setfacl 命令用于增加或者修改 ACL 规则,格式为: ” setfacl [ 参数 ] 文件 ” 。
  • getfacl 命令用于显示文件的 ACL 规则,格式为: ” getfacl 文件 ” 。

详细命令用法请看第三章节。

权限的修改

chmod

作用:修改指定文件的r\w\x权限

命令用法:chmod [ u g o a 所有用户 ][ + - = ] [ rwx] /[ 777]

  • w 结合 x 权限可以对目录下的文件进行以下操作 : cd rm touch cp
  • r 结合 x 权限可以对目录下的文件进行 ls 操作
  • x 决定了能否进入目录
[ root@www tmp]# ll jenny
-rw-r--r--. 1 root root 0 Mar 21 06:09 jenny
[ root@www tmp]# chmod 750 jenny
[ root@www tmp]# ll jenny
-rwxr-x---. 1 root root 0 Mar 21 06:09 jenny
chown

作用:修改文件的拥有者和所属组

命令用法:chown user:group 目录 / 文件

  • -R 针对目录递归修改拥有者
[ root@www tmp]# chown jenny:jenny test
[ root@www tmp]# ll test
-rwxrwxrwx. 1 jenny jenny 0 Mar 21 06:09 test
chgrp

作用:修改文件的所属组

命令用法:chgrp [-R] group file/dir

[ root@www tmp]# chgrp -R jenny testdir
[ root@www tmp]# ll -R testdir
testdir:
total 4
drwxr-xr-x. 3 jenny jenny 4096 Mar 21 06:11 1
dabao1/1:
total 4
drwxr-xr-x. 2 jenny jenny 4096 Mar 21 06:11 2
dabao1/1/2:
total 0
umask

作用:修改文件、目录的默认创建权限

命令用法:umask num

公式:最大权限 - umask = 默认权限

[ root@www tmp]# umask
0022

ATTR 权限命令

chattr

作用:配置文件隐藏属性

属性设置常见的是 a 和 i 的设定 , 必须要 root 身份

命令用法:chattr [ +-= ][ ASacdistu] file/dir

参数作用
+增加
-移除
=设定为
A访问时间 atime 不修改 , 对速度较慢计算机有帮助
S『同步』写入磁盘
a只能增加数据 , 不能删除 / 修改数据 (root)
c自动『压缩』 , 读取时自动解压缩
d不被 dump 备份
i以下操作不可执行 : 『删除、改名、设置连结、写入、新增资料』 ( root )
s彻底删除 , 无法挽回
u与 s 相反 , 删除可挽回
lsattr

作用:显示文件attr属性

命令用法:lsattr [ -adR] file/dir

参数作用
-a显示隐藏文件的属性
-d仅列出目录本身属性
-R连同子目录
A
[root@mastera0 tmp]# chattr +A file1
[root@mastera0 tmp]# lsattr file1
-------A-------- file1
[root@mastera0 tmp]# cat file1
hi
[root@mastera0 tmp]# stat file1
File: ‘file1’
Size: 3
Blocks: 8
IO Block: 4096 regular file
Device: fd00h/64768d
Inode: 52973916 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_tmp_t:s0Access: 2016-06-22 14:49:50.221000000 +0800
Modify: 2016-06-22 14:49:48.025000000 +0800
Change: 2016-06-22 14:50:14.621000000 +0800
Birth: -
[root@mastera0 tmp]# cat file1
hi
[root@mastera0 tmp]# stat file1
File: ‘file1’
Size: 3
Blocks: 8
IO Block: 4096 regular file
Device: fd00h/64768d
Inode: 52973916 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-06-22 14:49:50.221000000 +0800
Modify: 2016-06-22 14:49:48.025000000 +0800
Change: 2016-06-22 14:50:14.621000000 +0800
Birth: -
[root@mastera0 tmp]# chattr -A file1
a 只能增加数据 , 不能删除 / 修改数据 (root)
[root@mastera0 tmp]# chattr +a file1
[root@mastera0 tmp]# lsattr file1
-----a---------- file1
[root@mastera0 tmp]# echo 99 > file1
-bash: file1: Operation not permitted
[root@mastera0 tmp]# echo 99 >> file1
[root@mastera0 tmp]# cat file1
hi
99
i 以下操作不可执行 : 『删除、改名、设置连结、写入、新增资料』 ( root )
[root@mastera0 tmp]# chattr +i file1
[root@mastera0 tmp]# rm -rf file1
rm: cannot remove ‘file1’: Operation not permitted
[root@mastera0 tmp]# mv file1 file100
mv: cannot move ‘file1’ to ‘file100’: Operation not permitted
[root@mastera0 tmp]# link file1 file1h
link: cannot create link ‘file1h’ to ‘file1’: Operation not permitted
[root@mastera0 tmp]# echo nini>>file1
-bash: file1: Permission denied
[root@mastera0 tmp]# chattr -i file1
[root@mastera0 tmp]# lsattr file1
---------------- file1

### 3.3 ACL 权限命令

#### 3.3.1 ACL 权限概念

ACL:Access Control List 缩写 ,UGO 的 rwx 权限以外的细部权限设置。

ACL 可以针对单一用户 , 单一文件 , 单一目录 r,w,x 的权限规范

针对几个项目 :
1. 使用者 (user): 可以针对使用者设定权限
2. 群组 (group): 针对群组为对象设定权限
3. 默认属性 (mask): 还可以针对在该目录下在建立新档案或目录时 , 规范新数据的默认权限

#### 3.3.2 getfacl

取得文件 / 目录的 ACL 设定内容

getfacl filename

​```shell
[root@www tmp]# getfacl jenny
 file: jenny
 owner: jenny
 group: jenny
user::rwx
group::rwx
other::rwx

ACL权限设置

setfacl

作用:解决ugo权限限制粒度不足问题

命令用法:setfacl [-bkRd][{-m|-x} acl 参数 ] file/dir

参数作用
-m设置 acl 参数
-x删除 acl 参数
-b删除所有 acl 参数
-k删除预设的 acl 参数
-R递归设置 acl 参数
-d设置『预设 acl 参数』只对目录有效 , 在该目录新建的数据会引用

使用举例:

[root@mastera0 tmp]# setfacl -m u:student:rwx file1
[root@mastera0 tmp]# setfacl -m g:student:rw file1
[root@mastera0 tmp]# getfacl file1
 file: file1
 owner: root
 group: root
user::rw-
user:student:rwx
group::r--
group:student:rw-
mask::rwx
other::r--
-d 针对预设权限 , 属性将继承到次目录
[root@mastera0 tmp]# mkdir test
[root@mastera0 tmp]# setfacl -d -m u:student:rwx test
[root@mastera0 tmp]# getfacl test
 file: test
 owner: root
 group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:student:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@mastera0 tmp]# ll test -d
drwxr-xr-x+ 2 root root 6 Jun 22 15:09 test
[root@mastera0 tmp]# touch test/jenny
[root@mastera0 tmp]# ll test
total 4
-rw-rw-r--+ 1 root root 0 Jun 22 15:10 jenny
[root@mastera0 tmp]# getfacl jenny
 file: jenny
 owner: root
 group: root
user::rw-
user:student:rwx
effective:rw-
group::r-x
effective:r--
mask::rw-
other::r--
 切换为 student 用户
[student@mastera0 tmp]$ cd 
[student@mastera0 dabao]$ ll
total 4
-rw-rw-r--+ 1 root root 0 Jun 22 15:10 jenny
[student@mastera0 dabao]$ cat jenny
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值