Linux下文件的权限问题和文件的三个时间
Linux下文件的权限问题
1:文件的访问者分类:文件拥有者(user),文件所属组,其它。
2:文件的基本权限:读(r),写(w),执行(x),(-)代表没有这个权限。在Linux下,在一个目录下的文件用命令 ll 可以查看文件的权限,如下图
可以看到file1文件前面是-rw-rw-r–,第一个字符是文件类型,剩下的三个一组依次为拥有者权限,所属组权限,其它人权限,三个字符依次为读,写,执行。
可以看出 file1的权限是可读可写的,那么我们怎么可以改变它的基本权限呢,在这里用到 chmod u+(-)基本权限(r,w,x) 文件名; +表示增加这个权限,-表示删去这个权限。如图
那么我们应该怎么更改文件的访问者权限呢,这里用到sudo chown(拥有者权限) 要改的权限(root/chan)文件名,上面看到file的拥有者是 chan 下面把它改为root.
在这里你使用sudo可能会出现如下问题,因为没有配置,不必担心,你可以直接切换到超级用户下就好,命令 su 然后会让你输入密码就好。如果要配置sudo也很简单,切换到超级用户下,进入到根目录下的etc目录,可以ls一下,你会找到一个sudoers
因为sudoers这个文件不可写,你可以 ll 看一下。所以你需要修改一下权限,这里就用到上面的命令了,chmod u+w sudoers
然后 vim sudoers 进入,你会找到一行 root ALL=(ALL) ALL
你只需要在下面加上一行 chan(你的用户名,这个是我的) ALL=(ALL) ALL
然后 写并退出就好 ESC键,:wq
不要忘记把 sudoers文件的权限再改回来,要不可能会破坏它
然后 Ctrl D退出超级用户模式,再试一下sudo就会发现可以了。
再继续上面的操作,改文件变拥有者,如下图
可以看到已经改变了。
命令 sudo chgrep (要更改的文件拥有者) 文件名 可以改变所属组的的权限。
可以看到由原来的 root 改变为 chan
这些大概就是文件的基本权限问题,以及文件的拥有者问题。
文件的三个时间(Access Modify Change)
可以用命令 stat 文件名看一下
Access (最后一次访问文件的时间)
当文件的内容被访问时就会更新这个时间,列如 查看一个文件的内容时,(cat)
Modify (最后一次修改文件的时间)
当文件的内容被修改时,就会更新这个时间,列如,vim 向一个文件写内容时
Change (最后一次改变文件的时间)
当文件的状态,即文件的属性被改变时 就会更新这个时间,列如改变文件的权限时,chmod chown
以上就是文件的三个时间。