当前位置:首页>Linux>Linux 用户与组管理:useradd/usermod/sudo 配置实战

Linux 用户与组管理:useradd/usermod/sudo 配置实战

  • 2026-03-28 08:38:00
Linux 用户与组管理:useradd/usermod/sudo 配置实战

字数 3474,阅读大约需 18 分钟

用户管理基础

用户文件详解

# 查看用户信息文件
cat
 /etc/passwd

# 查看用户密码文件(需要 root)

sudo
 cat /etc/shadow

# 查看用户组信息

cat
 /etc/group

# 查看组密码文件(需要 root)

sudo
 cat /etc/gshadow

/etc/passwd 文件格式

root:x:0:0:root:/root:/bin/bash
longge:x:1000:1000:Long Ge,,,:/home/longge:/bin/bash
nginx:x:991:991:Nginx web server:/var/cache/nginx:/sbin/nologin

字段说明(冒号分隔):

  1. 1. 用户名
  2. 2. 密码占位符(x 表示在 /etc/shadow 中)
  3. 3. UID(用户 ID)
  4. 4. GID(主组 ID)
  5. 5. 注释/描述信息
  6. 6. 主目录
  7. 7. 登录 Shell

UID 范围

UID 范围
用户类型
说明
0
root
超级管理员
1-999
系统用户
服务账户(CentOS 7+)
1000+
普通用户
人类用户

创建用户

# 基本创建(自动创建主目录)
sudo
 useradd -m newuser

# 指定 UID

sudo
 useradd -m -u 1500 newuser

# 指定主组

sudo
 useradd -m -g users newuser

# 指定附加组

sudo
 useradd -m -G wheel,developers newuser

# 指定 Shell

sudo
 useradd -m -s /bin/zsh newuser

# 指定注释

sudo
 useradd -m -c "Web Developer" newuser

# 创建系统用户(无主目录,不能登录)

sudo
 useradd -r -s /sbin/nologin myservice

# 创建时设置密码

sudo
 useradd -m newuser
sudo
 passwd newuser

# 一条命令完成(设置加密密码)

sudo
 useradd -m -p $(openssl passwd -1 'password123') newuser

修改用户

# 修改用户名
sudo
 usermod -l newname oldname

# 修改用户主目录

sudo
 usermod -d /new/home newuser

# 移动主目录内容

sudo
 usermod -d /new/home -m newuser

# 修改 Shell

sudo
 usermod -s /bin/bash newuser

# 添加到附加组

sudo
 usermod -aG wheel newuser

# 替换附加组(慎用)

sudo
 usermod -G wheel newuser

# 锁定用户(禁止登录)

sudo
 usermod -L newuser

# 解锁用户

sudo
 usermod -U newuser

# 设置密码过期天数

sudo
 chage -M 90 newuser

# 查看密码过期信息

sudo
 chage -l newuser

删除用户

# 删除用户(保留主目录)
sudo
 userdel newuser

# 删除用户及主目录

sudo
 userdel -r newuser

# 强制删除(即使用户已登录)

sudo
 userdel -f newuser

# 删除前备份主目录

tar -czvf /backup/newuser-home.tar.gz /home/newuser
sudo
 userdel -r newuser

查看用户信息

# 查看当前用户
whoami


# 查看用户详细信息

id
 newuser

# 查看用户所属组

groups
 newuser

# 查看用户登录历史

last newuser

# 查看用户登录时间

lastlog | grep newuser

# 查看用户进程

ps -u newuser

# 查看用户磁盘使用

du
 -sh /home/newuser

组管理基础

组文件详解

# 查看组信息
cat
 /etc/group

# 查看组密码(需要 root)

sudo
 cat /etc/gshadow

/etc/group 文件格式

wheel:x:10:longge,admin
developers:x:1001:dev1,dev2,dev3
nginx:x:991:

字段说明(冒号分隔):

  1. 1. 组名
  2. 2. 组密码占位符(x 表示无密码)
  3. 3. GID(组 ID)
  4. 4. 组成员列表(逗号分隔)

创建组

# 基本创建
sudo
 groupadd developers

# 指定 GID

sudo
 groupadd -g 2000 developers

# 创建系统组

sudo
 groupadd -r myservice

# 创建时设置密码(很少用)

sudo
 groupadd -p $(openssl passwd -1 'grouppass') mygroup

修改组

# 修改组名
sudo
 groupmod -n newname oldname

# 修改 GID

sudo
 groupmod -g 2500 developers

删除组

# 删除空组
sudo
 groupdel developers

# 删除非空组(先移除成员)

sudo
 gpasswd -M "" developers
sudo
 groupdel developers

组成员管理

# 添加用户到组
sudo
 usermod -aG developers newuser

# 从组中移除用户

sudo
 gpasswd -d newuser developers

# 设置组成员列表(替换)

sudo
 gpasswd -M user1,user2,user3 developers

# 添加组管理员

sudo
 gpasswd -A adminuser developers

# 查看组成员

getent group developers

# 查看用户所属的所有组

groups
 newuser
# 或

id
 -nG newuser

用户批量管理

批量创建用户

# 方法 1:循环创建
for
 user in alice bob charlie; do
    sudo
 useradd -m -G developers "$user"
    echo
 "$user:TempPass123" | sudo chpasswd
done


# 方法 2:从文件读取

# users.txt 格式:username:password:fullname

while
 IFS=: read -r username password fullname; do
    sudo
 useradd -m -c "$fullname" "$username"
    echo
 "$username:$password" | sudo chpasswd
done
 < users.txt

# 方法 3:使用 newusers(批量导入)

# 准备批量文件 batch.txt

cat
 > batch.txt << EOF
alice:password1:1001:1001:Alice Developer:/home/alice:/bin/bash
bob:password2:1002:1001:Bob Developer:/home/bob:/bin/bash
charlie:password3:1003:1001:Charlie Developer:/home/charlie:/bin/bash
EOF


# 执行批量创建

sudo
 newusers batch.txt

批量修改用户

# 批量添加到组
for
 user in alice bob charlie; do
    sudo
 usermod -aG developers "$user"
done


# 批量设置密码过期

for
 user in alice bob charlie; do
    sudo
 chage -M 90 "$user"
done


# 批量锁定用户

for
 user in alice bob charlie; do
    sudo
 usermod -L "$user"
done


# 批量解锁用户

for
 user in alice bob charlie; do
    sudo
 usermod -U "$user"
done

批量删除用户

# 批量删除(保留主目录)
for
 user in alice bob charlie; do
    sudo
 userdel "$user"
done


# 批量删除(包括主目录)

for
 user in alice bob charlie; do
    sudo
 userdel -r "$user"
done


# 删除用户前备份主目录

for
 user in alice bob charlie; do
    sudo
 tar -czvf /backup/${user}-home.tar.gz /home/$user
    sudo
 userdel -r "$user"
done

用户导入导出

# 导出用户列表
cut
 -d: -f1 /etc/passwd > users-backup.txt

# 导出特定组的用户

getent group developers | cut -d: -f4 > developers.txt

# 导出用户详细信息

for
 user in $(cut -d: -f1 /etc/passwd); do
    id
 "$user" >> users-info.txt
done

sudo 权限配置

sudo 配置文件

# 编辑 sudo 配置(推荐方式)
sudo
 visudo

# 检查语法

sudo
 visudo -c

配置示例

# /etc/sudoers 配置片段

# 允许 wheel 组所有命令

%wheel ALL=(ALL) ALL

# 允许特定用户所有命令

longge ALL=(ALL) ALL

# 允许无需密码执行(危险!)

longge ALL=(ALL) NOPASSWD: ALL

# 允许执行特定命令

%developers ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
%developers ALL=(ALL) NOPASSWD: /usr/bin/docker *

# 拒绝特定命令

%developers ALL=(ALL) ALL, !/usr/bin/passwd

命令别名

Cmnd_Alias WEB_CMDS = /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload nginx
Cmnd_Alias DOCKER_CMDS = /usr/bin/docker *

%webteam ALL=(ALL) WEB_CMDS
%devops ALL=(ALL) DOCKER_CMDS

sudo 日志

# 启用 sudo 日志(/etc/sudoers)
Defaults logfile="/var/log/sudo.log"

# 查看日志

sudo
 cat /var/log/sudo.log
sudo
 grep "longge" /var/log/sudo.log

用户环境配置

用户配置文件

# 系统级配置(所有用户)
/etc/profile          # 登录 Shell
/etc/bashrc           # 非登录 Bash
/etc/environment      # 环境变量

# 用户级配置

~/.bash_profile       # 登录 Shell
~/.bashrc             # 非登录 Bash
~/.profile            # 通用配置
~/.bash_logout        # 退出时执行

环境变量管理

# 查看所有环境变量
env

# 或

printenv


# 查看特定变量

echo
 $HOME
echo
 $PATH

# 临时设置变量

export
 MY_VAR=value

# 永久设置(~/.bashrc)

echo
 'export MY_VAR=value' >> ~/.bashrc
source
 ~/.bashrc

# 添加到 PATH

export
 PATH=$PATH:/usr/local/bin

用户默认配置

# 新用户默认文件(模板)
ls
 -la /etc/skel/

# 自定义默认配置

sudo
 cp ~/.bashrc /etc/skel/
sudo
 cp ~/.vimrc /etc/skel/

# 修改默认 Shell

sudo
 usermod -s /bin/zsh newuser

# 修改默认主目录位置

# 编辑 /etc/default/useradd

# HOME=/home 改为 HOME=/data/users

资源限制(ulimit)

# 查看当前限制
ulimit
 -a

# 查看文件描述符限制

ulimit
 -n

# 临时修改

ulimit
 -n 65535

# 永久修改(/etc/security/limits.conf)

cat
 >> /etc/security/limits.conf << EOF
longge soft nofile 65535
longge hard nofile 65535
%developers soft nofile 32768
%developers hard nofile 65535
EOF

安全最佳实践

密码策略

# 设置密码复杂度(/etc/pam.d/system-auth 或 /etc/pam.d/common-password)
# 至少 8 位,包含大小写、数字、特殊字符

password requisite pam_pwquality.so retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1

# 设置密码历史(记住最近 5 次)

password remember=5 pam_pwhistory.so

# 设置密码过期策略

sudo
 chage -m 7 -M 90 -W 14 newuser
# -m: 最小修改间隔(天)

# -M: 最大有效期(天)

# -W: 提前警告天数

账户安全

# 锁定长期不用的账户
sudo
 usermod -L olduser

# 设置账户过期日期

sudo
 usermod -e 2026-12-31 tempuser

# 删除不需要的账户

sudo
 userdel -r games
sudo
 userdel -r ftp

# 禁用 root 远程登录(/etc/ssh/sshd_config)

PermitRootLogin no

# 禁止空密码用户登录

# /etc/pam.d/common-auth

auth required pam_unix.so nullok_secure

最小权限原则

# ❌ 错误:给所有权限
%developers ALL=(ALL) ALL

# ✅ 正确:只给需要的命令

%developers ALL=(ALL) NOPASSWD: /usr/bin/docker *, /usr/bin/kubectl *

# ✅ 更好:限制命令参数

%developers ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart webapp-*

审计用户行为

# 启用审计日志
sudo
 systemctl enable auditd
sudo
 systemctl start auditd

# 监控用户登录

sudo
 auditctl -w /var/log/lastlog -p wa -k logins

# 监控 sudo 使用

sudo
 auditctl -w /usr/bin/sudo -p x -k sudo_usage

# 查看审计日志

sudo
 ausearch -k logins
sudo
 ausearch -k sudo_usage

# 生成报告

sudo
 aureport --login
sudo
 aureport --exec

审计与日志

登录日志

# 查看成功登录
last

# 查看失败登录

lastb

# 查看当前登录用户

who


# 查看用户登录历史

lastlog

# 查看特定用户登录

last | grep longge

# 查看登录时间统计

ac

命令历史

# 查看命令历史
history


# 查看特定用户的命令历史

cat
 /home/longge/.bash_history

# 搜索历史命令

history
 | grep docker

# 清除历史

history
 -c

# 防止记录敏感命令

HISTIGNORE="passwd:*password*"

# 记录时间戳

echo
 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

系统日志

# 查看认证日志(CentOS/RHEL)
sudo
 tail -f /var/log/secure

# 查看认证日志(Ubuntu/Debian)

sudo
 tail -f /var/log/auth.log

# 查看失败登录

sudo
 grep "Failed password" /var/log/secure

# 查看 sudo 使用

sudo
 grep "sudo:" /var/log/secure

# 使用 journalctl(systemd 系统)

sudo
 journalctl -u ssh
sudo
 journalctl --since "2026-03-01" --until "2026-03-23"

实战案例

案例 1:创建开发团队账户

# 1. 创建开发组
sudo
 groupadd developers

# 2. 批量创建用户

for
 user in alice bob charlie; do
    sudo
 useradd -m -G developers -s /bin/bash -c "Developer" "$user"
    echo
 "$user:TempPass123!" | sudo chpasswd
    sudo
 chage -d 0 "$user"  # 首次登录强制改密码
done


# 3. 配置 sudo(/etc/sudoers.d/developers)

sudo
 visudo -f /etc/sudoers.d/developers
# 添加:%developers ALL=(ALL) NOPASSWD: /usr/bin/docker *, /usr/bin/systemctl restart webapp-*


# 4. 设置资源限制

sudo
 tee -a /etc/security/limits.conf << EOF
%developers soft nofile 32768
%developers hard nofile 65535
%developers soft nproc 4096
%developers hard nproc 8192
EOF


# 5. 创建共享目录

sudo
 mkdir -p /data/shared
sudo
 chown root:developers /data/shared
sudo
 chmod 775 /data/shared
sudo
 chmod g+s /data/shared  # SGID

案例 2:部署 Web 服务账户

# 1. 创建系统用户(无登录权限)
sudo
 useradd -r -s /sbin/nologin -d /var/www -M webapp

# 2. 创建应用目录

sudo
 mkdir -p /var/www/{app,logs,config}

# 3. 设置权限

sudo
 chown -R webapp:webapp /var/www
sudo
 chmod 755 /var/www/app
sudo
 chmod 644 /var/www/config/*
sudo
 chmod 777 /var/www/logs

# 4. 配置 systemd 服务

sudo
 tee /etc/systemd/system/webapp.service << EOF
[Unit]
Description=Web Application
After=network.target

[Service]
Type=simple
User=webapp
Group=webapp
WorkingDirectory=/var/www/app
ExecStart=/usr/bin/python3 /var/www/app/main.py
Restart=always

[Install]
WantedBy=multi-user.target
EOF


# 5. 启动服务

sudo
 systemctl daemon-reload
sudo
 systemctl enable webapp
sudo
 systemctl start webapp

案例 3:临时账户管理

# 1. 创建临时用户(7 天后过期)
EXPIRE_DATE=$(date -d "+7 days" +%Y-%m-%d)
sudo
 useradd -m -e "$EXPIRE_DATE" -c "Temporary Contractor" tempuser
echo
 "tempuser:TempPass123!" | sudo chpasswd

# 2. 限制权限(只能执行特定命令)

sudo
 visudo -f /etc/sudoers.d/tempuser
# 添加:tempuser ALL=(ALL) NOPASSWD: /usr/bin/docker ps, /usr/bin/docker logs


# 3. 监控活动

sudo
 auditctl -w /home/tempuser -p wa -k tempuser_activity

# 4. 到期自动清理(cron 任务)

sudo
 tee /etc/cron.daily/cleanup-temp-users << 'EOF'
#!/bin/bash

for
 user in $(cut -d: -f1 /etc/passwd); do
    expiry=$(chage -l "$user" | grep "Account expires" | cut -d: -f2)
    if
 [[ "$expiry" == *"no"* ]]; then
        continue

    fi

    expiry_epoch=$(date -d "$expiry" +%s)
    now_epoch=$(date +%s)
    if
 [[ $expiry_epoch -lt $now_epoch ]]; then
        userdel -r "$user"
        echo
 "Deleted expired user: $user"
    fi

done

EOF
sudo
 chmod +x /etc/cron.daily/cleanup-temp-users

案例 4:多用户共享服务器

# 1. 创建项目组
sudo
 groupadd project_a
sudo
 groupadd project_b

# 2. 创建用户并分配

sudo
 useradd -m -G project_a -s /bin/bash dev1
sudo
 useradd -m -G project_a -s /bin/bash dev2
sudo
 useradd -m -G project_b -s /bin/bash dev3

# 3. 创建项目目录

sudo
 mkdir -p /data/{project_a,project_b,shared}

# 4. 设置权限隔离

sudo
 chown root:project_a /data/project_a
sudo
 chmod 770 /data/project_a
sudo
 chmod g+s /data/project_a

sudo
 chown root:project_b /data/project_b
sudo
 chmod 770 /data/project_b
sudo
 chmod g+s /data/project_b

# 5. 共享目录(只读)

sudo
 chown root:root /data/shared
sudo
 chmod 755 /data/shared

# 6. 配置 sudo 隔离

sudo
 visudo -f /etc/sudoers.d/projects
# %project_a ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart project_a-*

# %project_b ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart project_b-*

避坑指南

坑 1:误删最后一个 sudo 用户

# ❌ 错误:删除前没留后手
userdel -r longge
# 结果:无法使用 sudo


# ✅ 正确:先创建新用户

useradd -m -G wheel newadmin
passwd newadmin
# 测试新用户的 sudo

su - newadmin
sudo
 whoami
# 确认无误后再删除

userdel -r longge

坑 2:sudoers 语法错误

# ❌ 错误:直接用 vim 编辑
vim /etc/sudoers
# 语法错误导致无法使用 sudo


# ✅ 正确:使用 visudo

visudo
# 或指定编辑器

EDITOR=vim visudo
# 保存前会自动检查语法

坑 3:权限继承问题

# ❌ 错误:SGID 没设置
mkdir
 /shared
chown
 root:team /shared
chmod
 775 /shared
# 新用户创建的文件不属于 team 组


# ✅ 正确:设置 SGID

mkdir
 /shared
chown
 root:team /shared
chmod
 2775 /shared
# 或

chmod
 g+s /shared

坑 4:密码策略过严

# ❌ 错误:要求太高导致无法设置密码
# minlen=20 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1


# ✅ 正确:合理策略

# minlen=8 dcredit=-1 ucredit=-1 ocredit=-1

坑 5:home 目录权限

# ❌ 错误:home 目录权限过大
chmod
 777 /home/longge

# ✅ 正确:保护用户隐私

chmod
 700 /home/longge
# 或允许同组读取

chmod
 750 /home/longge

坑 6:系统账户被误用

# ❌ 错误:给系统账户设置密码
passwd nginx

# ✅ 正确:系统账户不应登录

usermod -L nginx
usermod -s /sbin/nologin nginx

练习题

基础题

  1. 1. 创建用户 testuser,主目录 /home/testuser,Shell /bin/bash
  2. 2. 将 testuser 添加到 developers 组
  3. 3. 设置 testuser 密码为 Test123!
  4. 4. 查看 testuser 的详细信息

进阶题

  1. 5. 批量创建 5 个用户(user1-user5),都添加到 testgroup 组
  2. 6. 配置 testgroup 组成员可以无需密码执行 systemctl restart nginx
  3. 7. 设置用户密码 90 天过期,提前 7 天警告
  4. 8. 创建共享目录 /data/team,要求:
    • • testgroup 组成员可读写
    • • 其他用户只读
    • • 新文件自动继承 testgroup 组

答案

# 1
sudo
 useradd -m -s /bin/bash testuser

# 2

sudo
 usermod -aG developers testuser

# 3

echo
 "testuser:Test123!" | sudo chpasswd

# 4

id
 testuser

# 5

for
 i in {1..5}; do
    sudo
 useradd -m -G testgroup "user$i"
    echo
 "user$i:TempPass123" | sudo chpasswd
done


# 6

sudo
 visudo -f /etc/sudoers.d/testgroup
# 添加:%testgroup ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx


# 7

sudo
 chage -M 90 -W 7 testuser

# 8

sudo
 groupadd testgroup
sudo
 mkdir /data/team
sudo
 chown root:testgroup /data/team
sudo
 chmod 2775 /data/team

📊 命令速查表

功能
命令
示例
创建用户
useradduseradd -m newuser
删除用户
userdeluserdel -r newuser
修改用户
usermodusermod -aG wheel user
设置密码
passwdpasswd user
创建组
groupaddgroupadd developers
删除组
groupdelgroupdel developers
修改组
groupmodgroupmod -n newname oldname
组成员
gpasswdgpasswd -a user group
查看用户
idid username
查看组
groupsgroups username
密码策略
chagechage -M 90 user
sudo 配置
visudovisudo
登录历史
lastlast username
命令历史
historyhistory | grep docker
资源限制
ulimitulimit -n

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-28 14:29:23 HTTP/2.0 GET : https://f.mffb.com.cn/a/483511.html
  2. 运行时间 : 0.117559s [ 吞吐率:8.51req/s ] 内存消耗:4,718.97kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=87b4f61b4f350cd3a453444d9884d8e5
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001112s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001571s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000798s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000671s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001416s ]
  6. SELECT * FROM `set` [ RunTime:0.000593s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001624s ]
  8. SELECT * FROM `article` WHERE `id` = 483511 LIMIT 1 [ RunTime:0.001118s ]
  9. UPDATE `article` SET `lasttime` = 1774679363 WHERE `id` = 483511 [ RunTime:0.006220s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000675s ]
  11. SELECT * FROM `article` WHERE `id` < 483511 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001181s ]
  12. SELECT * FROM `article` WHERE `id` > 483511 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001143s ]
  13. SELECT * FROM `article` WHERE `id` < 483511 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.007590s ]
  14. SELECT * FROM `article` WHERE `id` < 483511 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.013483s ]
  15. SELECT * FROM `article` WHERE `id` < 483511 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001480s ]
0.119141s