Linux权限的概念Linux下有两种⽤⼾超级⽤⼾root、普通⽤⼾。• 超级⽤⼾可以再linux系统下做任何事情不受限制• 普通⽤⼾在linux下做有限的事情。• 超级⽤⼾的命令提⽰符是“#”普通⽤⼾的命令提⽰符是“$”。命令su [⽤⼾名]功能切换⽤⼾。例如要从root⽤⼾切换到普通⽤⼾user则使⽤suuser。 要从普通⽤⼾user切换到root⽤⼾则使⽤surootroot可以省略此时系统会提⽰输⼊root⽤⼾的 ⼝令。Linux权限管理1.⽂件访问者的分类⼈• ⽂件和⽂件⽬录的所有者u—User中国平⺠法律问题• ⽂件和⽂件⽬录的所有者所在的组的⽤⼾g—Group不多说• 其它⽤⼾o—Others外国⼈2.⽂件类型和访问权限事物属性• ⽂件类型◦ d⽂件夹◦-普通⽂件◦ l软链接类似Windows的快捷⽅式◦ b块设备⽂件例如硬盘、光驱等◦ p管道⽂件◦ c字符设备⽂件例如屏幕等串⼝设备◦ s套接⼝⽂件• 基本权限◦ 读r/4Read对⽂件⽽⾔具有读取⽂件内容的权限对⽬录来说具有浏览该⽬录信息 的权限◦ 写w/2Write对⽂件⽽⾔具有修改⽂件内容的权限对⽬录来说具有删除移动⽬录内 ⽂件的权限◦ 执⾏x/1execute对⽂件⽽⾔具有执⾏⽂件的权限对⽬录来说具有进⼊⽬录的权 限◦ “—”表⽰不具有该项权限⽂件权限值的表⽰⽅法与相关设置方法1.表示方法• 字符表⽰⽅法• 8进制数值表⽰⽅法例如rwxrwxrwx 7772.chmod功能设置⽂件的访问权限格式chmod[参数]权限⽂件名常⽤选项• R-递归修改⽬录⽂件的权限• 说明只有⽂件的拥有者和root才可以改变⽂件的权限3.chmod命令权限值的格式• ⽤⼾表⽰符/-权限字符◦ :向权限范围增加权限代号所表⽰的权限 ◦-:向权限范围取消权限代号所表⽰的权限◦ :向权限范围赋予权限代号所表⽰的权限◦ ⽤⼾符号◦ u拥有者◦ g拥有者同组⽤◦ o其它⽤⼾◦ a所有⽤⼾◦ 实例chmod uw /home/abc.txt chmod o-x /home/abc.txt chmod ax /home/abc.txt• 三位8进制数字◦ 实例chmod 664 /home/abc.txt chmod 640 /home/abc.txt4.chown功能修改⽂件的拥有者格式chown[参数]⽤⼾名⽂件名实例chown user1 f1 chown -R user1 filegroup15.chgrp功能修改⽂件或⽬录的所属组格式chgrp[参数]⽤⼾组名⽂件名常⽤选项-R递归修改⽂件或⽬录的所属组实例chgrp users /abc/f26.umask功能• 查看或修改⽂件掩码• 新建⽂件夹默认权限0666• 新建⽬录默认权限0777• 但实际上你所创建的⽂件和⽬录看到的权限往往不是上⾯这个值。原因就是创建⽂件或⽬录的 时候还要受到umask的影响。假设默认权限是mask则实际创建的出来的⽂件权限是:mask ~umask格式umask权限值说明将现有的存取权限减去权限掩码后即可产⽣建⽴⽂件时预设权限。超级⽤⼾默认掩码值为 0022普通⽤⼾默认为0002。实例umask 755 umask // 查看 umask 044// 设置file 指令功能说明辨识⽂件类型。语法 file [ 选项 ] ⽂件或⽬录 …常⽤选项•-c详细显⽰指令执⾏过程便于排错或分析程序执⾏的情形。•-z尝试去解读压缩⽂件的内容。使⽤sudo分配权限1修改/etc/sudoers⽂件分配⽂件1 # chmod 740 /etc/sudoers2 # vi /etc/sudoer格式接受权限的⽤⼾登陆的主机执⾏命令的⽤⼾命令 2使⽤sudo调⽤授权的命令 sudo –u ⽤⼾名 命令实例 sudo -u root /usr/sbin/useradd u2⽬录的权限• 可执⾏权限:如果⽬录没有可执⾏权限,则⽆法cd到⽬录中.• 可读权限:如果⽬录没有可读权限,则⽆法⽤ls等命令查看⽬录中的⽂件内容.• 可写权限:如果⽬录没有可写权限,则⽆法在⽬录中创建⽂件,也⽆法在⽬录中删除⽂件.于是,问题来了~~换句话来讲,就是只要⽤⼾具有⽬录的写权限,⽤⼾就可以删除⽬录中的⽂件,⽽不论 这个⽤⼾是否有这个⽂件的写权限. 这好像不太科学啊,我张三创建的⼀个⽂件,凭什么被你李四可以删掉?我们⽤下⾯的过程印证⼀下[rootlocalhost ~]$ chmod 0777 /home/ [rootlocalhost ~]$ ls /home/ -ld drwxrwxrwx. 3 root root 4096 9⽉19 15:58 /home/ [rootlocalhost ~]$ touch /home/root.c [rootlocalhost ~]$ ls -l /home/ 总⽤量4 -rw-r--r--. 1 root root 0 9⽉ 19 15:58 abc.c drwxr-xr-x. 27 litao litao 4096 9⽉ 19 15:53 litao -rw-r--r--. 1 root root 0 9⽉ 19 15:59 root.c [rootlocalhost ~]$ su - litao [litaolocalhost ~]$ rm /home/root.c #litao可以删除root创建的⽂件 rm是否删除有写保护的普通空⽂件/home/root.cy [litaolocalhost ~]$ exit logout为了解决这个不科学的问题,Linux引⼊了粘滞位的概念.关于权限的总结• ⽬录的可执⾏权限是表⽰你可否在⽬录下执⾏命令。• 如果⽬录没有-x权限则⽆法对⽬录执⾏任何命令甚⾄⽆法cd进⼊⽬,即使⽬录仍然有-r读 权限这个地⽅很容易犯错认为有读权限就可以进⼊⽬录读取⽬录下的⽂件• ⽽如果⽬录具有-x权限但没有-r权限则⽤⼾可以执⾏命令可以cd进⼊⽬录。但由于没有 ⽬录的读权限• 所以在⽬录下即使可以执⾏ls命令但仍然没有权限读出⽬录下的⽂档。粘滞位选学[rootlocalhost ~]$ chmod t /home/ # 加上粘滞位 [rootlocalhost ~]$ ls -ld /home/drwxrwxrwt. 3 root root 4096 9⽉ 19 16:00 /home/ [rootlocalhost ~]$ su - litao [litaolocalhost ~]$ rm /home/abc.c #litao不能删除别⼈的⽂件 rm是否删除有写保护的普通空⽂件 /home/abc.cy rm: ⽆法删除/home/abc.c: 不允许的操作当⼀个⽬录被设置为**“粘滞位”(⽤chmodt)**,则该⽬录下的⽂件只能由超级管理员删除该⽬录的所有者删除该⽂件的所有者删除
Linux权限的概念
发布时间:2026/5/18 0:34:03
Linux权限的概念Linux下有两种⽤⼾超级⽤⼾root、普通⽤⼾。• 超级⽤⼾可以再linux系统下做任何事情不受限制• 普通⽤⼾在linux下做有限的事情。• 超级⽤⼾的命令提⽰符是“#”普通⽤⼾的命令提⽰符是“$”。命令su [⽤⼾名]功能切换⽤⼾。例如要从root⽤⼾切换到普通⽤⼾user则使⽤suuser。 要从普通⽤⼾user切换到root⽤⼾则使⽤surootroot可以省略此时系统会提⽰输⼊root⽤⼾的 ⼝令。Linux权限管理1.⽂件访问者的分类⼈• ⽂件和⽂件⽬录的所有者u—User中国平⺠法律问题• ⽂件和⽂件⽬录的所有者所在的组的⽤⼾g—Group不多说• 其它⽤⼾o—Others外国⼈2.⽂件类型和访问权限事物属性• ⽂件类型◦ d⽂件夹◦-普通⽂件◦ l软链接类似Windows的快捷⽅式◦ b块设备⽂件例如硬盘、光驱等◦ p管道⽂件◦ c字符设备⽂件例如屏幕等串⼝设备◦ s套接⼝⽂件• 基本权限◦ 读r/4Read对⽂件⽽⾔具有读取⽂件内容的权限对⽬录来说具有浏览该⽬录信息 的权限◦ 写w/2Write对⽂件⽽⾔具有修改⽂件内容的权限对⽬录来说具有删除移动⽬录内 ⽂件的权限◦ 执⾏x/1execute对⽂件⽽⾔具有执⾏⽂件的权限对⽬录来说具有进⼊⽬录的权 限◦ “—”表⽰不具有该项权限⽂件权限值的表⽰⽅法与相关设置方法1.表示方法• 字符表⽰⽅法• 8进制数值表⽰⽅法例如rwxrwxrwx 7772.chmod功能设置⽂件的访问权限格式chmod[参数]权限⽂件名常⽤选项• R-递归修改⽬录⽂件的权限• 说明只有⽂件的拥有者和root才可以改变⽂件的权限3.chmod命令权限值的格式• ⽤⼾表⽰符/-权限字符◦ :向权限范围增加权限代号所表⽰的权限 ◦-:向权限范围取消权限代号所表⽰的权限◦ :向权限范围赋予权限代号所表⽰的权限◦ ⽤⼾符号◦ u拥有者◦ g拥有者同组⽤◦ o其它⽤⼾◦ a所有⽤⼾◦ 实例chmod uw /home/abc.txt chmod o-x /home/abc.txt chmod ax /home/abc.txt• 三位8进制数字◦ 实例chmod 664 /home/abc.txt chmod 640 /home/abc.txt4.chown功能修改⽂件的拥有者格式chown[参数]⽤⼾名⽂件名实例chown user1 f1 chown -R user1 filegroup15.chgrp功能修改⽂件或⽬录的所属组格式chgrp[参数]⽤⼾组名⽂件名常⽤选项-R递归修改⽂件或⽬录的所属组实例chgrp users /abc/f26.umask功能• 查看或修改⽂件掩码• 新建⽂件夹默认权限0666• 新建⽬录默认权限0777• 但实际上你所创建的⽂件和⽬录看到的权限往往不是上⾯这个值。原因就是创建⽂件或⽬录的 时候还要受到umask的影响。假设默认权限是mask则实际创建的出来的⽂件权限是:mask ~umask格式umask权限值说明将现有的存取权限减去权限掩码后即可产⽣建⽴⽂件时预设权限。超级⽤⼾默认掩码值为 0022普通⽤⼾默认为0002。实例umask 755 umask // 查看 umask 044// 设置file 指令功能说明辨识⽂件类型。语法 file [ 选项 ] ⽂件或⽬录 …常⽤选项•-c详细显⽰指令执⾏过程便于排错或分析程序执⾏的情形。•-z尝试去解读压缩⽂件的内容。使⽤sudo分配权限1修改/etc/sudoers⽂件分配⽂件1 # chmod 740 /etc/sudoers2 # vi /etc/sudoer格式接受权限的⽤⼾登陆的主机执⾏命令的⽤⼾命令 2使⽤sudo调⽤授权的命令 sudo –u ⽤⼾名 命令实例 sudo -u root /usr/sbin/useradd u2⽬录的权限• 可执⾏权限:如果⽬录没有可执⾏权限,则⽆法cd到⽬录中.• 可读权限:如果⽬录没有可读权限,则⽆法⽤ls等命令查看⽬录中的⽂件内容.• 可写权限:如果⽬录没有可写权限,则⽆法在⽬录中创建⽂件,也⽆法在⽬录中删除⽂件.于是,问题来了~~换句话来讲,就是只要⽤⼾具有⽬录的写权限,⽤⼾就可以删除⽬录中的⽂件,⽽不论 这个⽤⼾是否有这个⽂件的写权限. 这好像不太科学啊,我张三创建的⼀个⽂件,凭什么被你李四可以删掉?我们⽤下⾯的过程印证⼀下[rootlocalhost ~]$ chmod 0777 /home/ [rootlocalhost ~]$ ls /home/ -ld drwxrwxrwx. 3 root root 4096 9⽉19 15:58 /home/ [rootlocalhost ~]$ touch /home/root.c [rootlocalhost ~]$ ls -l /home/ 总⽤量4 -rw-r--r--. 1 root root 0 9⽉ 19 15:58 abc.c drwxr-xr-x. 27 litao litao 4096 9⽉ 19 15:53 litao -rw-r--r--. 1 root root 0 9⽉ 19 15:59 root.c [rootlocalhost ~]$ su - litao [litaolocalhost ~]$ rm /home/root.c #litao可以删除root创建的⽂件 rm是否删除有写保护的普通空⽂件/home/root.cy [litaolocalhost ~]$ exit logout为了解决这个不科学的问题,Linux引⼊了粘滞位的概念.关于权限的总结• ⽬录的可执⾏权限是表⽰你可否在⽬录下执⾏命令。• 如果⽬录没有-x权限则⽆法对⽬录执⾏任何命令甚⾄⽆法cd进⼊⽬,即使⽬录仍然有-r读 权限这个地⽅很容易犯错认为有读权限就可以进⼊⽬录读取⽬录下的⽂件• ⽽如果⽬录具有-x权限但没有-r权限则⽤⼾可以执⾏命令可以cd进⼊⽬录。但由于没有 ⽬录的读权限• 所以在⽬录下即使可以执⾏ls命令但仍然没有权限读出⽬录下的⽂档。粘滞位选学[rootlocalhost ~]$ chmod t /home/ # 加上粘滞位 [rootlocalhost ~]$ ls -ld /home/drwxrwxrwt. 3 root root 4096 9⽉ 19 16:00 /home/ [rootlocalhost ~]$ su - litao [litaolocalhost ~]$ rm /home/abc.c #litao不能删除别⼈的⽂件 rm是否删除有写保护的普通空⽂件 /home/abc.cy rm: ⽆法删除/home/abc.c: 不允许的操作当⼀个⽬录被设置为**“粘滞位”(⽤chmodt)**,则该⽬录下的⽂件只能由超级管理员删除该⽬录的所有者删除该⽂件的所有者删除