Linux 权限管理

本文详细介绍了Linux系统的权限概念,包括用户权限、文件权限的设置与修改,以及如何通过chmod和chown命令来改变文件和目录的权限及属主属组。重点讨论了权限对文件和目录的影响,例如读、写、执行权限的不同作用,并通过实例展示了各种权限组合下的操作行为。此外,还强调了权限设定的安全注意事项,如谨慎给予文件的执行权限和目录的写权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 1.什么是权限
    • 我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,
    • 或者说,权限是指某个特定的用户具有特定的系统资源使用权力
    • 为什么要设定权限?可以赋于某个用户或组 -- 能够以何种方式 -- 访问某个文件
    • 如何修改一个文件的权限?
      • Linux下使用chmod命令来变更权限,root用户可以变更所有文件的权限,而普通用户仅能变更属于自己的文件。
  • 2.权限与用户之间的关系
    • 在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),
    • 每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。
    • 字母 含义 对应数字
    • r (read) 读权限 4
    • w(write) 写权限 2
    • x(excut) 执行权限 1
    • - (没有权限) 没有权限 0
  • 用户对文件资源,有三种角色u(user)g(group)o(other) 。a(all)
  • 当一个用户访问文件流程如下:
    • 1.判断用户是否为文件所有者,如果是则按所有者的权限进行访问
    • 2. 判断用户是否为文件所有组成员,如果是则按组的权限进行访问
    • 3. 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
  • 查看权限
    • 1.看他是否拥有属主权限 如果是则按照属主权限执行
    • 2.判断他是否有属组的权限 如是是则按照属组权限执行
    • 3.判断他是否有其他权限 如果是则按照其他权限执行
  • 3.如何设置权限
  • 使用chmod设定权限
  • -R 递归修改
  • 1) ugao
  • 语法:chmod ugoa +-=rwx filename
    • touch file 创建文件
    • chmod a=rwx file 给所有人添加读写执行权限
    • chmod a-rwx file 给所有人取消读写执行权限(取消所有的权限)
    • chmod u=rwx,g=rw,o=- file 属主读写执行权限,属组读写权限,其他人无权限
    • chmod ug=rwx,o=r file 属主与属组读写执行权限,其他人读权限
  • 2)数字
  • 语法: chmod nnn filename
    • touch file 创建文件
    • chmod 644 file 给属主读写权限,给属组读权限,给其他人读权限
    • chmod 600 file 给属主读写权限,给属组和其他人无权限
  • 针对目录设定权限
    • mkdir dir 创建目录
    • chmod 777 dir 修改目录允许所有人访问
    • chmod -R 755 dir 修改目录及子目录权限
  • 案例
  • 1.创建测试文件 (默认文件其他用户仅有读权限)
  • 测试其他读权限(仅有读权限)
  • touch /tmp/file10.txt
  • 并在vi /tmp/file10.txt 里面输入 123456 123
  • 切换普通用户 显示文件内容
  • [zmj@localhost ~]$ vi /tmp/file10.txt 1.使用vi修改文件内容 ,无法修改提示是一个只读文件
  • [zmj@localhost ~]$ echo date >file10.txt 2.使用echo输入完成后,文件里面没有显示echo的内容,表示没有输入到文件里面,再次证明文件对其他人是只读权限
  • [zmj@localhost ~]$ cat /tmp/file10.txt 查看文件,文件内容没有发生改变,
  • 123456
  • 123
  • 在root用户下,给其他添加写权限(读写权限)
  • 使用root用户给其他rw权限
  • chmod o=rw file10.txt
  • 使用普通用户打开/tmp/file10.txt文件 已经拥有读写的权限了
  • vim file10.txt
  • echo 123 >> file10.txt
  • 在root用户下,给其他增加执行权限(读写执行权限)
  • chmod o+x /tmp/file10.txt
  • ll /tmp/file10.txt 在普通用户下面文件已增加执行权限,绿色字体表示可执行文件
  • 在root用户下,设置只有执行权限(仅有执行权限)
  • 在root用户下,修改chmod o=x /tmp/file10.txt
  • 在root修改只有执行权限后,普通用户对文件就只有执行的权限
  • 在普通用户下验证
  • 在root用户下,设置只有写权限(仅有写权限)
  • 在root修改只有写权限后,普通用户对文件就只有写的权限
  • chmod o=w /tmp/file10.txt
  • vi /tmp/file10.txt 修改文件内容
  • 总结rwx对文件的影响
  • 读取权限(r)具有读取阅读文件内容权限
  • 1.只能使用查看类命令cat、head、tail、less、more等
  • 写入权限(w)具有新增、修改文件内容的权限
  • 1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
  • 2.使用echo命令重定向的方式可以往文件内写入数据,>>可以进行追加
  • 3.不能删除文件,因为删除文件看的不是文件的属性,需要看上级目录是否有w的权限
  • 执行权限(x)具有执行文件的权限
  • 1.如果普通用户需要执行文件,需要配合r权限
  • 目录权限测试案例
  • 测试目录只读权限
  • [root@localhost ~]# mkdir /test 创建目录
  • [root@localhost ~]# echo "test" > /test/test1.txt 把test输入发到test目录下的test文件里面
  • [root@localhost ~]# ll -d /test 显示test里面的内容
    • drwxr-xr-x. 2 root root 23 9月 7 01:12 /test (默认目录其他有读和执行权限)
  • [root@localhost ~]# chmod o=r /test 修改目录只读权限
  • [root@localhost ~]# ll -d /test 显示test里面的内容
    • drwxr-xr--. 2 root root 23 9月 7 01:12 /test
  • 测试目录只写权限
  • 在root用户下修改其他只写权限
  • [root@localhost ~]# chmod o=w /test
  • [root@localhost ~]# ll -d /test
    • drwxr-x-w-. 2 root root 23 9月 7 01:12 /test
  • 测试目录只执行权限
  • 在root用户下修改目录只执行权限
  • [root@localhost ~]# chmod o=x /test
  • [root@localhost ~]# ll -d /test
    • drwxr-x--x. 2 root root 23 9月 7 01:12 /test
  • 在普通用户下已有可以执行目录的权限
  • 测试目录写执行权限
  • 在root用户下修改目录写执行权限
  • [root@localhost ~]# chmod o=wx /test
  • [root@localhost ~]# ll -d /test
    • drwxr-x-wx. 2 root root 23 9月 7 01:12 /test
  • 在普通用户下验证
  • [zmj@localhost test]$ cd /test/ 执行权限
  • [zmj@localhost test]$ ls /test/
  • ls: 无法打开目录/test/: 权限不够
  • [zmj@localhost test]$ touch /test/test2.txt 可以创建文件
  • [zmj@localhost test]$ rm -f /test/test1.txt 可以删除和重命名
  • 对目录有写权限,对文件有读写执行权限(对目录有w,对文件有rwx)
  • 在root用户下修改目录下的文件权限
  • [root@localhost ~]# chmod 777 /test/test1.txt
  • [root@localhost ~]# ll -d /test
    • drwxr-x-wx. 2 root root 40 9月 7 01:47 /test
  • [root@localhost ~]# ll /test/test1.txt
    • -rwxrwxrwx. 1 root root 0 9月 7 01:47 /test/test1.txt
  • 在普通用户下验证
  • [zmj@localhost test]$ cat /test/test1.txt
  • [zmj@localhost test]$ rm -f /test/test1.txt
  • 对目录有写权限,对文件没有任何权限(对目录有w,对文件没有任何权限
  • 在root用户下修改目录下的文件权限
  • [root@localhost ~]# touch /test/test.txt
  • [root@localhost ~]# chmod 777 /test/
  • [root@localhost ~]# chmod 000 /test/test.txt
  • [root@localhost ~]# ll -d /test
    • drwxrwxrwx. 2 root root 39 9月 7 01:59 /test
  • [root@localhost ~]# ll -d /test/test.txt
    • ----------. 1 root root 0 9月 7 01:59 /test/test.txt
  • 在普通用户下验证
  • [zmj@localhost test]$ cat /test/test.txt
    • cat: /test/test.txt: 权限不够
  • [zmj@localhost test]$ rm -f /test/test.txt
  • [zmj@localhost test]$ touch /test/test1.txt
  • 总结:rwx对目录的影响
  • 目录只有r权限: 具有浏览目录及子目录权限
  • 1.能使用ls命令浏览目录及子目录, 同时会提示权限拒绝
  • 2.能使用ls -l命令浏览目录及子目录, 会带问号,同时只能看到文件名
  • 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限
  • 目录只有w权限:具有增加、删除或修改目录内文件名权限(需要x配合)
  • //注意:如果目录有w权限, 可以在目录创建文件, 可以删除目录中的文件(跟文件权限无关)
  • 不能进入目录、不能复制目录、不能删除目录、不能移动目录
  • 执行权限(x) 目录只有x权限
  • 1.只能进入目录
  • 2.不能浏览、复制、移动、删除
  • Linux权限总结与注意事项
  • 文件r权限, 只给用户查看,无其他操作
  • 文件rw权限, 可以查看和编辑文件内容,删除需要看上级目录的权限有没有w
  • 文件rx权限, 允许查看和执行文件、但不能修改文件内容
  • 文件rwx权限, 能读,能写,能执行,删除需要看上级目录的权限有没有w·
  • 目录rx权限, 允许浏览目录内文件以及子目录, 不允许创建、删除文件和目录
  • 目录wx权限, 能进入目录,能删除内容,能写入内容,但是无法浏览目录
  • 目录rw权限, 能浏览目录,不能写,无法进入目录
  • PS: 文件的 x权限小心给予,目录的 w权限小心给予。
  • PS: 文件通常设定的权限是644,目录设定的权限是755
  • 文件属主属组
  • 在Linux中如何变更一个文件或者一个资源的属主和属组呢,可以使用chown、chgrp命令实现。
  • chown能设置属主和属组,chgrp仅能设置属组。(所以用哪个你懂的)
  • chown: Linux中用来改变某个文件属主的命令, 如漫画中所示, 将某个”资源”(门)的访问权限给予别人。
  • (卖房)
  • chmod: Linux中用来改变某个文件的访问模式的命令, 如漫画中所示, chmod 777会将大门敞开, 谁都可
  • 以进出。(租房)
  • rm: cannot remove ‘/test/test.txt’: Permission denied
  • #chown 更改属主以及属组
  • -R:递归修改
  • 语法: chown [-R] user[.|:]group filename
  • #准备环境,创建文件和目录
  • # mkdir dir/test1 && touch dir/file
  • #示例1: 修改所属主为bin
  • # chown bin dir/
  • #示例2: 修改所属组为adm
  • # chown .adm dir/
  • http://www.jisupdfeditor.com/
  • #示例3: 递归修改目录及目录下的所有文件属主和属组
  • # chown -R root.root dir/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值