权限介绍
我们首先使用ls-l指令查看文件的权限信息(以/etc/fstab为例):
ls -l /etc/fstab
可以看见输出包含:
rwxrw-r--
权限表示共有9位,每3位为一组,分别表示拥有者、所属组的成员和其他成员。其中,r表示读(read)权限,w表示写(write)权限linux 修改文件内容,x表示执行(execute)权限,-表示无权限。
所以这个输出rwxrw-r--表示:拥有者有读、写、执行三个权限;所属组的成员拥有读、写权限;其他成员只有读权限。
更改文件
Linux下对文件进行读写操作时,可能出现如下报错:
-bash:xxx:Permissiondenied
所以我们须要更改文件的权限。
更改文件权限
文件的最高权限为9位都是1linux命令,即111111111,转为十补码即777。
首先切换到根用户linux运维最佳实践,步入根用户]
查看文件权限:
ls -l
赋于文件可操作的最高权限(以/etc/fstab为例):
sudo chmod 777 /etc/fstab
若未能赋于权限
若出现报错:
chmod:changingpermissionsof'fstab':Operationnotpermitted
是由于我们执行的chmod命令linux 修改文件内容,其底层实现是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