修改文件权限chmod命令详细用法及查看当前目录下的权限状态

chmod这个命令在Linux中是很重要的,若遇到以下几种情况,可以考虑一下是否要修改权限了:
开启一个服务失败、执行一个脚本失败、不能打开(删除、修改)一个文件夹、不能查看(删除、修改)文件等

功能:
修改指定用户及用户组对文件的操作权限

用法:
chmod [-动作参数] [指定赋予权限的操作者] [权限等级] [指定被操作的文件目录或文件]
在Linux系统中,一个目录的默认权限为755,一个文件的默认权限为644。

基本动作参数说明

-f : 强制修改指定文件的操作权限
-v : 显示权限变更的详细资料
-R : 以递归的方式修改指定目录以及它的多级子目录,如果修改的只是单个文件,可忽略此参数

指定赋予权限的操作者在Linux中分为以下三类:

创建文件的用户,即文件的拥有者,用u表示(英文user);
跟文件拥有者在同一个用户组中的其它用户,用g表示(英文group);
不属于以上两种范围内的其它用户,用o表示(英文other);

以上三类用户可以统一用a表示(英文all)

权限等级可以用数字或者英文字符表示:

r 表示可读取,w 表示可写入,x 表示可执行,三个权限对应的数字为:
r=4,w=2,x=1
权限可以叠加
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。

+表示在原有权限基础之上增加权限、- 表示在原有权限基础之上取消权限、= 表示唯一设定权限,只赋予唯一指定的一个权限。

eg:
sudo chmod 777 tmp/ //所有用户对当前目录下的tmp文件夹拥有读、写、执行权限,加上sudo是为了防止用户权限不足,执行chmod命令失败。
在这里插入图片描述
此时ll查看当前目录的详细信息:最左边是权限状态,开头的 l 表示链文件,默认浅蓝色。
d开头的表示目录,默认深蓝色。横线-开头的表示文件,c 代表该文件是串行端口设备文件(又称字符设备文件),比如键盘,鼠标,打印机,tty终端等都是这样的文件; b代表该文件是快设备,比如/dev/sda就是这样的文件,磁盘分区文件就是这种类型。不同的文件类型其颜色也不相同。
最右边第一列是文件目录下的文件和文件夹,绿色代表所有用户对这个文件夹(有底纹颜色)或者文件已经同时拥有读、写、执行权限了。第二列表示该文件占用的字节(inode),如果是目录,那这个数值与该目录下子目录数量有关(该目录下的子目录数量,如果是1,表示该目录是一个文件,不能cd进入)。第五列 表示该文件的大小。

drwxr-xr-x --表示拥有者有读、写、执行权限;拥有者所在的组用户和其他用户只有读、执行权限,对应数字755。
drwx-xr-x --表示拥有者有读、写、执行权限;拥有者所在的组用户只有读、执行权限,其他用户只有执行权限,对应数字751。
drwxrwxrwx --所有用户都有读、写、执行权限,对应数字777。

在设置权限的时候需要考虑到文件的使用场景,供什么类型的用户使用,有些文件权限不足会导致执行一个任务失败,比较重要不经常改动的文件给个读取权限即可,不建议给很高的权限,因为不安全,可能会被别人恶意更改。

在这里插入图片描述
扩充一下Linux中目录颜色及权限对应的颜色:

白色:表示普通文件,如文本文件,配置文件,源码文件等
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件或者包文件
浅蓝色:表示链接文件,主要是使用ln命令建立的文件
绿色文件:表示可执行文件,可执行的程序
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其它文件
s 代表该文件为套接字文件(socket),用于进程之间的通信。

使用一个已经安装好的应用服务失败的解决方法:

有时候,当你安装一个服务应用,在已确认安装成功的情况下,发现还是无法使用这个服务,可以去
此应用在服务器上的安装目录下,查看其权限是否是给足,如果不是,将其更改,然后重启服务器再试下应用服务能否正常使用。应用安装目录一般是在usr/local/下。
通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。

如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,
输出环境变量PATH:
echo $PATH
比如我的一台服务器的PATH变量为
/opt/cross-compiler/bin:/opt/arm-eabi-4.4.3/bin:/opt/jdk1.6.0_30/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
按先后顺序,从左到右,这里/usr/local/bin优先于/usr/bin
在这里插入图片描述

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值