原文链接

权限介绍

我们首先使用ls -l指令查看文件的权限信息(以/etc/fstab为例):

ls -l  /etc/fstab

可以看到输出包含:

rwx rw- r--

权限表示共有9位,每3位为一组,分别表示拥有者、所属组的成员和其他成员。其中,r表示读(read)权限,w表示写(write)权限,x表示执行( execute )权限,-表示无权限。

所以这个输出rwx rw- r--表示:拥有者有读、写、执行三个权限;所属组的成员拥有读、写权限;其他成员只有读权限。

修改文件:

可能出现报错:

-bash: xxxx: Permission denied

修改文件权限

首先切换到根用户,进入根用户

查看文件权限:

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

学习更多编程知识,请关注我的公众号:

代码的路

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐