Linux修改文件权限
权限介绍
我们首先使用ls -l
指令查看文件的权限信息(以/etc/fstab为例):
ls -l /etc/fstab
可以看到输出包含:
rwx rw- r--
权限表示共有9位,每3位为一组,分别表示拥有者、所属组的成员和其他成员。其中,r
表示读(read)权限,w
表示写(write)权限,x
表示执行( execute )权限,-
表示无权限。
所以这个输出rwx rw- r--
表示:拥有者有读、写、执行三个权限;所属组的成员拥有读、写权限;其他成员只有读权限。
修改文件
Linux下对文件进行读写操作时,可能出现如下报错:
-bash: xxx: Permission denied
所以我们需要修改文件的权限。
修改文件权限
文件的最高权限为9位都是1,即111 111 111
,转为十进制即777
。
首先切换到根用户,进入根用户
查看文件权限:
ls -l
赋予文件可操作的最高权限(以/etc/fstab为例):
sudo chmod 777 /etc/fstab
若无法赋予权限
若出现报错:
chmod: changing permissions of 'fstab': Operation not permitted
是因为我们执行的chmod命令,其底层实现是chattr命令。
执行 lsattr 查看文件属性:
sudo lsattr /etc/fstab
输出为:
----i--------e-- /etc/fstab
说明文件有i属性和e属性,无法修改。
去除文件i属性:
sudo chattr -i /etc/fstab
去除文件e属性:
sudo chattr -e /etc/fstab
然后执行 lsattr查看,发现输出为:
---------------- /etc/fstab
此时可以修改权限了:
sudo chmod 777 /etc/fstab
然后修改文件即可。
恢复文件权限
恢复文件权限:
sudo chmod 440 /etc/fstab
添加文件i属性:
sudo chattr +i /etc/fstab
添加文件e属性:
sudo chattr +e /etc/fstab
学习更多编程知识,请关注我的公众号:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了