前段时间买了一个armbian系统的小服务器,今天在尝试去修改root账号密码的时候,一直提示Authentication token manipulation error,
在*度上搜了一下,基本都在说是因为操作用于保存账号密码文件权限不足,有的说去掉“i”权限就就可以了,但用于保存密码的文件etc/shadow文件并没有“i”权限,如图
此时发现shadow文件有个“a”权限,虽然不太懂linux,但感觉问题应该就出在这个a权限,所以尝试去掉这个文件的a权限,(使用chattr -a shadow去除权限,+a是加上权限)。
在次使用passwd修改密码,成功了!
补充知识:linux文件的特殊权限
除了常见的r w x权限,还有几个特殊权限。
权限信息中最后一位 t 表明该目录被设置了 SBIT 权限。SBIT 对目录的作用是:当用户在该目录下创建新文件或目录时,仅有自己和 root 才有权力删除。
i:不可修改权限 例:chattr u+i filename
则filename文件就不可修改,无论任何人,如果需要修
改需要先删除i权限,用chattr -i filename
就可以了。查看文件是否设置了i权限用lsattr filename。
a:只追加权限 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑
器追加。可以使用chattr +a设置追加权限
谨以此文记录我这个linux菜鸟在linux学习之路上走过的坚实的一步!如有错误,不吝赐教。