Linux文件目录的权限
Posted Sherry-77
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux文件目录的权限相关的知识,希望对你有一定的参考价值。
文章目录
Linux权限的概念
Linux下有两种用户:超级用户(root)和普通用户(user)
- 超级用户:可以在Linux下做任何事
- 普通用户:权限有限
- 超级用户的命令提示符为**#,普通用户的命令提示符为$**
普通用户->超级用户:su / su -
超级用户->普通用户:su user_name
Linux文件权限
文件访问者分类
- 文件和文件目录所有者:u—User
- 文件和文件目录的所有者所在组的用户:g—Group
- 其他人:o—Others
文件类型和访问权限
(1)文件类型
- d 文件夹
- - 普通文件
- l 软连接(类似windows的快捷方式)
- b 块设备文件(例如硬盘、光驱等)
- p 管道文件
- c 字符设备文件(例如屏幕等串口设备)
- s 套接口文件
(2)基本权限
- 读(r/4):对文件而言,具有读取文件内容的权限;对于目录而言,具有浏览该目录信息的权限
- 写(w/2):对文件而言,具有修改文件内容的权限;对于目录而言,具有删除和移动目录内文件的权限
- 执行(x/1):对文件而言,具有执行文件的权限;对于目录而言,具有进入目录的权限
- - 表示不具有任何权限
文件权限值的表示方法
(1)字符表示方法
Linux表示 | 说明 | Linux表示 | 说明 |
---|---|---|---|
r– | 只读 | -w- | 只写 |
–x | 只执行 | rw- | 可读可写 |
r-x | 可读可执行 | -wx | 可读可执行写 |
rwx | 可读可写可执行 | — | 无权限 |
(2)8进制数值表示方法
权限符号 | 二进制 | 八进制 |
---|---|---|
r | 100 | 4 |
w | 010 | 2 |
x | 001 | 1 |
rw | 110 | 6 |
rx | 101 | 5 |
wx | 011 | 3 |
rwx | 111 | 7 |
--- | 000 | 0 |
文件权限的设置
(1) chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
- R 递归修改目录文件的权限(只有root用户可以修改权限)
chmod命令权限值的格式:
① 用户标识符 +/- 权限字符
- + 向权限范围增加权限代号所表示的权限
- - 向权限范围取消权限代号所表示的权限
- = 向权限范围赋予权限代号所表示的权限
- u 拥有者
- g 拥有者同组用
- o 其它用户
- a 所有用户
实例:
② 三位8进制数字
实例:
(2)chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
实例:
此时运行chown显示权限不够,每次切换root用户非常麻烦,因此此时介绍一个新方法——sudo
这里有些小伙伴无法执行sudo命令,因为还没有将用户添加进root的sudoers文件中,方法:
- su
- echo ‘username ALL=(ALL) ALL’ >> /etc/sudoers
username为要加入sudoers的用户
(3)chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:
- -R 递归修改文件或目录的所属组
实例:
(4)umask
功能:查看或修改文件掩码
格式:umask 权限值
说明:
- 新建文件夹默认权限 = 0666
- 新建目录默认权限 = 0777
- 假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
- 将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
实例:
Linux目录权限
- 可执行权限:如果目录没有可执行权限,则无法cd到目录中
- 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
- 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
实例:
但是问题来了,只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.
结论:
- 如果目录对other具有w权限,other可以删除目录下任何一个文件
- 如果目录对other没有w权限,other不可以删除目录下的任何文件
需求:
- other可以在特定目录下创建文件,但不可以删掉自己的文件。
由此引入粘滞位的概念。
粘滞位
通过sudo chmod o+t
设置目录的粘滞位
当一个目录被设置为粘滞位,该目录下的文件只能被超级管理员、该目录所有者、该文件所有者删除。
权限的总结
- 目录的可执行权限是表示你可否在目录下执行命令
- 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录, 即使目录仍然有读权限
- 如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以即使可以执行ls命令,但仍然没有权限读出目录下的文档
linux 06 linux中的用户权限文件权限与目录权限
1、用户及用户组的概念:
1.文件所有者
2.用户组
3.用户
以root登录Linux之后,执行ls -al,会看到有关文件属性的信息
-rw-r--r--,第1个字符代表这个文件是“目录,文件或链接文件等”,[d]代表目录,[-]代表文件,[l]则是连接文件。接下来的字符3个一组分别代表文件所有者权限、同用户组权限、其他非本用户组的权限。
2、改变文件属性与权限
改变文件所属用户组:chgrp
chgrp commonuser install.log
改变文件所有者:chown
chown [-R] 账号名称 文件或者目录 (R代表更改目录内所有文件的情况)
chown commomuser install.log
将install.log的所有者和用户组改为root
chown root:root install.log
chown 也能单纯的修改用户组 chown .commomuser install.log
改变权限:chmod
方法一:数字类型改变文件权限
权限可以用数值代表:r:4、 w:2 、 x:1
chmod [-R] xyz 文件或者目录
chmod 777 .bashrc
方法二:
符号类型改变文件权限:user、group、others 三种身可以用u、g、o代表,而且a 代表all即全部身份
chmod u=rwx,go=rx .bashrc
chmod u=rwx,g=rx,o=r filename
若不知道原先文件的属性,只想要增加.bashrc这个文件的每个人均可写入的权限则:
chmod a+w .bashrc
去掉执行属性:
chmod a-x .bashrc
3、权限分为目录的权限和文件的权限
对文件来讲,权限的属能为:
r:可以读取文件的实际内容
w:可以编辑、或者修改该文件的内容,但不能删除该文件
x:该文件具有可以被系统执行的权限
对目录来讲,权限的属能为:
r:可以读取目录的内容
w:可以修改目录的内容,包括删除该目录内的文件
x:可以进入该目录,使其成为自己的工作目录
若要开放目录给任何人浏览,应该至少也要给予r及x的权限(不给x则目录信息无法完全显示),但w权限不可随便给!
以上是关于Linux文件目录的权限的主要内容,如果未能解决你的问题,请参考以下文章