标签:
关键字:错误提示:E45 已设定选项’readonly’(请加!强制执行)
Linux对文件和目录有很好的权限管理,但今天遇到一个比较诡异的事情,普通用户对文件权限不可写,但可以强制保存该文件,这样就有问题了,其他用户可以修改别人文件,这不符合常识和安全要求,一时不明白原因。后来结合目录权限,终于搞清楚了这个问题。记录如下:
所有者是root,其他用户无写权限
[root@localhost 桌面]# touch test.txt [root@localhost 桌面]# ll total 0 -rw-r--r--. 1 root root 0 Aug 9 10:21 test.txt
目录权限如下:
drwxr-xr-x . 2 user user 6 Aug 5 15:30 桌面
编辑前先看下文件的修改时间
user@localhost 桌面]$ ls -al --full-time 总用量 4 drwxr-xr-x. 2 user user 21 2015-08-09 10:23:22.936290484 +0800 . drwx------. 19 user user 4096 2015-08-09 10:23:22.936290484 +0800 .. -rw-r--r--. 1 root root 0 2015-08-09 10:21:20.418438557 +0800 test.txt
编辑保存时提示如下:
使用命令:wq!,竟然也能成功保存!!,如下:
[user@localhost 桌面]$ vi test.txt [user@localhost 桌面]$ cat test.txt readonly to save
再看下文件的修改时间
文件修改前的时间
drwxr-xr-x. 2 user user 21 2015-08-09 10:23:22.936290484 +0800 . drwx------. 19 user user 4096 2015-08-09 10:23:22.936290484 +0800 .. -rw-r--r--. 1 root root 0 2015-08-09 10:21:20.418438557 +0800 test.txt [user@localhost 桌面]$ vi test.txt [user@localhost 桌面]$ cat test.txt readonly to save
文件修改后的时间
[user@localhost 桌面]$ ls -al --full-time 总用量 8 drwxr-xr-x. 2 user user 21 2015-08-09 10:42:29.529216286 +0800 . drwx------. 19 user user 4096 2015-08-09 10:42:29.529216286 +0800 .. -rw-r--r--. 1 user user 17 2015-08-09 10:42:29.497216306 +0800 test.txt [user@localhost 桌面]$
用户user对文件test.txt没有write权限,但可以修改,再看下该文件的目录的权限,用户user有write权限。
再结合修改后test.txt文件的修改时间,得出:
用户user并不是修改了test.txt,而是首先强行删除了旧的test.txt文件(因为user有目录的write权限),
然后又重新创建了test.txt文件。那分析的对不对呢?看一下修改前后文件的属性吧:
修改前,文件owner和group分别是root,root [user@localhost 桌面]$ ls -l --full-time -rw-r--r--. 1 root root 0 2015-08-09 10:21:20.418438557 +0800 test.txt 修改后,文件owner和group已经全变成user,而文件更改owner和group必须由root或rootgroup成员操作,所以很显然 是新的文件替换了旧的文件,该命令类似mv 修改了权限。 [user@localhost 桌面]$ ls -l --full-time -rw-r--r--. 1 user user 17 2015-08-09 10:42:29.497216306 +0800 test.txt
note:错误提示:E45 已设定选项’readonly’(请加!强制执行)
标签:
原文地址:http://www.cnblogs.com/lizhaoxian/p/4714737.html