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

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

代码的路

公众号二维码.jpg

你可能感兴趣的:(linux)