帮助:老员工访问 Linux 服务器
教程详细信息 | |
---|---|
难度等级 | 中间的 |
Root 权限 | 是的 |
要求 | 没有任何 |
预计阅读时间 | 5 分钟 |
passwd -l username
该-l选项通过将密码更改为与任何可能的加密值都不匹配的值,并将帐户到期字段设置为 1 来禁用帐户。这确保他/她无法进入服务器。您可以删除用户帐户而不删除任何文件,如下所示:
# userdel username
您还可以告诉 userdel 删除用户的主目录及其所有内容:
# userdel -r username
用户主目录中的文件将与主目录本身和用户的邮件池一起被删除。位于其他文件系统中的文件必须手动搜索和删除。其他清理工作留给管理员。
建议删除用户帐户的程序
以下是推荐的程序。只要所有者与您或您的企业有关联,Linux 和 UNIX 服务器帐户就会保留。通常,因某种原因离职的用户或员工最终会丢失其帐户和数据。但是,请咨询您的法律或人力资源部门,了解当地法律和隐私政策法律。
#1:停用帐户
首先,锁定用户账户并禁用登录 shell、ftp 和 ssh 服务:
passwd -l username
#2:扫描 rootkit
扫描文件中的病毒、恶意内容和 rootkit。尝试使用chkrootkit 和 rkhunter软件来扫描 rootkit。如果用户通过 Windows 或 Mac 操作系统访问 Linux 文件服务器,请使用 Microsoft / Mac 操作系统工具和防病毒软件来扫描文件。ClamAV 病毒扫描程序可用,可用于扫描 Linux / Unix 文件系统中是否存在感染其他操作系统的病毒。一些员工会留下 rootkit 和病毒以备后门入侵。在备份现有数据之前,这一点至关重要。
#3:备份数据
通常,您需要备份:
- 主目录
- 电子邮箱
- FTP 目录
- Cron 作业
- Web 服务器文件
- CVS 文件
- MySQL / PGSQL 数据库等
只需在另一个目录的安全位置创建主目录、cron 作业和邮箱的 tarball:
# DEST=/path/to/safe/delete_accounts/user/data_$(date +"%d-%m-%Y_%H_%M_%P").tar.gz # SHOME=/home/$user # SMAILBOX=/usr/local/mailboxes/domain.com/$user # SCRON=/var/spool/cron/crontabs/$user # SFTP=/var/spool/ftp/$user # tar -zcvf $DEST $SHOME $SMAILBOX $SCRON $SFTP
用实际值替换 $user 和其他路径。
#4:列出其他目录中的文件
用户可能在其他目录中留下了文件。输入以下命令可获取用户 vivek 拥有的文件的完整列表:
# find / -user vivek -print0 > /root/viveksfiles.txt 2>/root/error.log &
您可以备份这些文件,或者使用 find 命令本身更改其所有权。从 /tmp、/var/tmp 和其他 tmp 位置删除用户拥有的所有文件。
删除用户账户
最后,您可以删除用户帐户和所有文件:
# userdel -r $user
确保从/etc/group中其所属的所有组中删除了用户名。
#5:删除用户的 Crontab
输入以下命令来备份和删除 cronjobs:
# crontab -u username -l > /path/to/safe/delete_accounts/user/crontab.bak
# crontab -u username -r
#6:删除用户的作业
键入 atq 命令以列出用户的待处理作业,除非用户是超级用户;在这种情况下,将列出每个人的作业。输出行的格式为:
# atq | less
# atq > /path/to/safe/delete_accounts/user/at.bak
# atrm jobid
#7:删除所有进程
您需要向用户拥有的所有进程发送 SIGKILL (-9) 信号。例如,向 vivek 拥有的所有进程发送 -KILL single,使用以下命令。获取有关正在运行的进程的详细信息:
# ps -fp $(pgrep -u vivek)
获取所有 PID:
或
# pgrep -u vivek
# pkill -9 -u vivek pid1 pid2
# killall -KILL -u vivek
#8:禁用电子邮件登录
配置您的电子邮件服务器以转发或拒绝访问邮箱。通常,这可以通过编辑 mysql 或 LDAP 数据库文件来完成。从 /var/mail 或 /var/spool/mail 中删除属于用户的传入邮件(postfix 或 sendmail)和 POP / IMAP 守护程序邮件文件。
您还可以使用 Postfixadmin 转发收到的电子邮件或简单地删除邮箱。
#9:禁用代理服务器和VPN远程登录
再次更新您的中央登录数据库(例如 LDAP)并禁用所有登录访问。
#10:文件和电子邮件
一般来说,系统中留下的任何文件或电子邮件都可以在必要时移交给员工主管。
#11:处理根级别访问
如果前任员工具有根访问权限,您可能需要注意以下额外事项:
- 特洛伊木马。
- 隐藏的内核后门模块。
- Rootkit。
- Cron 和 at 作业可以运行任意 shell 脚本或再次恢复 root 级别访问权限。
- .forward文件可以运行任意shell脚本。
- 不需要的和隐藏的网络服务。
- SSH 密码较少的远程登录密钥等。
- 不需要的 SUID/SGID 二进制文件。
- Iptables 防火墙设置。
- 删除用户拥有的所有消息队列、共享内存段和信号量。
使用 Identity Manager 软件
第三方身份管理软件可以轻松启用和禁用对许多服务的访问。您可以使用自动配置软件根据用户的就业状况或周末登录策略等配置各种策略。
自动化
您可以编写 perl 或 shell 脚本来自动执行整个过程,以禁用对用户帐户的访问并在其他安全位置备份文件/电子邮件。