Linux系统里管理用户权限,不少人会觉得是个头疼事。其实权限管理没那么玄乎,说白了就是三样东西:谁、能干什么、在哪干。只要搞明白这几个概念,配合几个常用命令,给用户赋予权限这件事就能轻松拿捏。下面我就抛开理论绕弯子,直接带你走一遍操作流程。

权限的基本概念要先搞清

linux赋用户权限命令_linux给用户赋予权限_linux赋予权限chmod

Linux下每个文件和目录都带着三组权限,分别对应文件所有者、所属组和其他用户。每组权限又由读r、写w、执行x三种组成。你用ls -l看一眼linux 分区,比如看到-rwxr-xr--,第一个字符是文件类型,后面九位分成三组,三三两两对应三种身份。这九个字母的背后就是整套权限逻辑,搞懂了它们,后面操作才有底气。

用chmod改权限来实现赋予用户访问

linux给用户赋予权限_linux赋用户权限命令_linux赋予权限chmod

chmod是修改权限最常用的命令,它有两种玩法:数字法和符号法。数字法把r、w、x分别计为4、2、1,三组权限的数字加起来就行。比如要给文件的所有者全部权限、组用户读和执行、其他人只读,那权限值就是751。符号法更直观,直接用ugo表示用户、组、其他人,再加+或者-。如果你想给当前用户加上执行权限,一个chmod u+x 文件名就搞定了。

实际工作中,很多新手喜欢一股脑把权限拉到777,觉得最简单。但这是安全大忌linux给用户赋予权限,等于把家钥匙贴在大门上。正确做法是根据用户实际需要,只给最低必要的权限。比如一个普通用户只需要读取日志文件linux给用户赋予权限,你给他r权限就够了,没必要给w和x。这样操作既安全又清晰,养成习惯后,权限管理就不会有漏洞。

linux赋予权限chmod_linux给用户赋予权限_linux赋用户权限命令

用chown改所有者来赋予权限归属

有时候不是单纯改权限位,而是想把文件的归属权交给另一个用户。这时候就要用chown命令。比如chown 新用户名 文件名,就可以把文件的所有者改掉。如果还想同时改所属组,可以用chown 新用户名:新组名 文件名。这条命令在用户交接或者迁移数据时特别有用。

linux赋予权限chmod_linux给用户赋予权限_linux赋用户权限命令

有一个常见场景:你给新员工创建了一个账号,他想编辑某个项目目录里的文件查看linux是什么系统,但文件目前属于老同事。这时候你用chown把目录的所有权转给他,他就能自由操作了。记住一件事,chown一般只有root用户能执行,普通用户不能随便改别人东西的所有权。所以如果你没有sudo权限,遇到这类情况只能找管理员帮忙。

用户组管理是批量赋予权限的捷径

如果公司有十几个人都要访问同一个项目文件夹,一个个给他们改权限太麻烦了。更好的办法是建一个用户组,把所有人加进去,然后给这个组赋予文件夹权限。比如建组用groupadd 组名,把用户加入组用usermod -aG 组名 用户名,然后设置目录权限为chmod 770 目录名,这样组内成员都能读写执行,组外的人啥也干不了。

linux赋予权限chmod_linux赋用户权限命令_linux给用户赋予权限

这种方法在实际运维中非常普遍,既减少了重复劳动,又保证了权限一致性。有些管理员喜欢用ACL来做更细粒度的权限控制,但大多数场景用户组已经足够用了。你只需要规划好谁跟谁一个项目组,然后把组权限设好,后续新增用户只需要加进组里,权限就自动到位了。

权限管理看起来步骤多,但只要你理解了文件权限结构,熟练使用chmod和chown,再加上用户组的配合,日常工作基本都能覆盖。记住一个核心原则:给权限要像开锁一样,只给需要的钥匙,不给多余的门。遇到不清楚的时候多用ls -l查看当前状态,慢慢你就能形成直觉,操作起来又快又准。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复