Linux 2:文件权限与目录配置

2014年09月17日

Linux最优秀的地方之一,就在于它的多用户、多任务环境。Linux一般将文件可存取访问的身份分为3个类别,分别是owner(用户)、group(用户组)、others(其他人),且3种身份都各自有自己的read,write,execute等权限。

用户身份与用户组记录的文件

\etc\passwd     #所有系统账号的相关信息
\etc\shadow     #个人的密码
\etc\group      #Linux所有的组名

文件权限概念

当屏幕前面出现“Permission deny”的时候,肯定是权限设置错误。

ls -al          #ls:list,列出所有文件的详细信息
ls -l           #显示文件,属性的第一个字段是文件的权限,共10位,比如-rwxr-xr--,表示owner具有rwx权限,group具有rx权限,others只具有r权限

改变文件属性与权限

chgrp       #改变文件所属用户组,具体句法记得使用 man page 查询
chown -R 用户账号:所在组群 文件名      #改变文件所有者
chmod       #改变文件的权限

其中,chmod修改权限的方法有两种,分别是符号法与数字法,数字法中r,w,x的数值分别是4,2,1。

要开放“目录”(注意不是“文件”)给任何人看,应该至少同时给予r和x权限,但w权限不可随便给予。

文件种类与扩展名

使用ls -l查看到的十个字符中,第一个字符为文件的类型:

  • -: 普通文件(regular file)
  • d: 目录文件(directory)
  • l: 连接文件,类似于windows的快捷方式(link)
  • b: 块设备文件(block)
  • c: 字符设备文件(character)
  • s: 套接字(sockets)
  • p: 管道(FIFO, pipe)

Linux目录配置标准:FHS

1

根据FHS的定义,最好将/var独立出来,这样至少/var死掉的时候,根目录还活着,还能够进入救援模式。

绝对路径与相对路径

  • cd/var/log(absolute)
  • cd../var/log(relative)
  • .: 代表当前的目录,也可以用./来表示
  • ..: 代表上一层目录,也可以用../来表示

例子

将install.log文件复制成为LAYtest.log,并且要给linanya这个人读写权限,可以这样做:

[root@localhost ~]# cp install.log LAYtest.log     #若复制文件夹,用cp -r
[root@localhost ~]# ls -al LAYtest.log 
-rw-r--r-- 1 root root 62826 9月  17 15:19 LAYtest.log     #虽然完成了复制,但仍然是root的文件
[root@localhost ~]# chown linanya LAYtest.log 
[root@localhost ~]# ls -al LAYtest.log       
-rw-r--r-- 1 linanya root 62826 9月  17 15:19 LAYtest.log  #文件变成linanya的
[root@localhost ~]#