返回列表 发布新帖
查看: 17|回复: 0

Linux命令行实战:用户管理与权限控制全攻略

988

主题

0

回帖

833

积分

高级会员

积分
833
发表于 2026-6-25 01:45:01 | 查看全部 |阅读模式
聊聊用命令行管理用户与权限这件事,说实话,很多刚入门Linux的朋友一碰到这块就头疼,感觉命令又多又难记,权限那套逻辑也绕。但其实只要把底层逻辑搞清楚,这些命令用起来会非常顺手,甚至比图形界面操作更爽。我用了这么多年,整理了一些实际工作中最常用的思路,分享给大家。

先从用户管理说起。创建用户最基础的命令是 useradd,但很多人直接用 useradd username 就完事了,其实这样创建的用户没有主目录,也没有默认shell,登录后会很尴尬。正确的姿势是加上 -m 参数自动创建家目录,再用 -s 指定shell,比如 useradd -m -s /bin/bash username。如果是在Ubuntu系列系统上,更推荐用 adduser 命令,它是一个交互式的封装脚本,引导你填完所有信息,出错概率更低。

设置密码用 passwd username,这个大家都知道。但有一个细节容易忽略:给账号设置过期时间。生产环境里,临时账号不设过期是很大的安全隐患。用 chage -E 2025-12-31 username 就能指定账号到期日,到期后自动锁定,不用你手动去清理。chage -l username 可以查看某个用户当前的密码和账号有效期状态,养成定期检查的习惯很重要。

删除用户也有讲究。userdel username 只删除账号,家目录和文件都还在磁盘上。如果要一并清理,需要加 -r 参数,即 userdel -r username。但这里要注意,如果这个用户产生过一些系统日志或者有文件散落在各处,-r 不一定能全清掉,删之前最好用 find / -user username 先摸一摸底,心里有数。

权限这块是很多人的重灾区。Linux权限的核心是三组rwx:属主、属组、其他人,用 ls -l 看到的那串字符就是它们的具体值。chmod 改权限,chown 改归属,这两个命令要一起记。经常看到有人图省事直接 chmod 777 解决问题,这在个人测试机上无所谓,但在服务器上这是非常危险的做法,相当于把门全部打开,任何人都能读写执行。正确的做法是先弄清楚"谁需要什么权限",最小权限原则是第一位的。

说到组管理,这是协作场景下最好用的机制。比如开发团队共享一个项目目录,不需要给每个人单独分权限,只要创建一个组 groupadd devteam,把相关用户都加进去 usermod -aG devteam username,然后把目录归属改到这个组 chown :devteam /opt/project,再设置合适的组权限就行了。这里有个细节,usermod -aG 的 -a 一定不能漏,漏掉就变成替换用户所在的所有附加组,原来的组全没了,血泪教训。

sudo 的管理也值得单独说两句。直接把人加进 sudo 组是最粗暴的方式,等于给了人家完整的root权力。更精细的做法是用 visudo 编辑 /etc/sudoers 文件,可以指定某用户只能执行特定命令,比如只让他能重启nginx,别的什么都不行,这样即使账号被盗,损失也可控。

最后提一句 /etc/passwd 和 /etc/shadow 这两个文件,平时可以直接查看用户信息,但千万别用普通编辑器直接改,用 vipw 命令来编辑,它有文件锁保护,防止多进程同时写入把文件搞坏。总之,命令行管理用户权限不难,关键是理解背后的逻辑,别只会复制粘贴命令,出了问题才能真正排查清楚。
回复 转播

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表