1.Linux系统下的三种身份

(1)文件所有者

(2)用户组(多用于团队开发)

(3)其他人

在Linux系统当中,默认的情况下所有的系统上的账号与一般身份用户,还有root的相关的信息,都记录在/etc/passwd这个文件中;个人密码则是记录在/etc/shadow文件中;另外,Linux下所有的组名都记录在/etc/group内,这三个文件可以说是Linux系统里面账号、密码、用户组信息的集中地,不能随便删除。

2.文件权限

(1)文件属性

在以root身份登录后,执行“ls  -al”命令,会看到类似于下面的内容:

[root@localhost ~]# ls -al

total 176
drwxr-x— 7 root root 4096 Jan 5 07:03 .
drwxr-xr-x 27 root root 4096 Dec 7 18:41 ..
-rw——- 1 root root 1176 Jul 24 12:55 anaconda-ks.cfg
-rw——- 1 root root 9682 Jan 4 15:18 .bash_history
-rw-r–r– 1 root root 24 Jan 6 2007 .bash_logout
-rw-r–r– 1 root root 191 Jan 6 2007 .bash_profile

第一列代表这个文件的类型与权限(permission)

仔细查看会发现第一列共有10个字符 :

  • 第一个字符代表这个文件是目录(d)、文件(-)或链接文件(l)等
  • 接下来的9个字符以三个为一组
  1. 第一组:文件所有者的权限
  2. 第二组:与文件所有者同用户组的权限
  3. 其他非本用户组的权限

第二列表示有多少个文件名连接到此节点

第三列表示这个文件或目录的所有者账号

第四列表示这个文件的所属用户组

第五列表示这个文件的容量大小(默认大小是B)

第六列表示这个文件的创建日期或者最近的修改日期

第七列表示该文件或目录的名称

(2)如何改变文件的权限与属性

注意:chgrp、chown等命令都需要使用root的身份才能使用,所以这里建议使用root身份登录学习。

  • chgrp:改变文件所属用户组

格式: [root@localhost ~]# chgrp [-R] dirname/filename ….

-R:进行递归的持续更改,也就是连同子目录下的所有文件、目录都更新为这个用户组

  • chown:改变文件所有者

格式: [root@localhost ~]# chown [-R] 账号名称  文件或目录

-R:进行递归的持续更改,也就是连同子目录下的所有文件、目录都更新为这个所有者

另外,chown还可以顺便直接修改用户组的名称

例如:[root@localhost ~]# chown [-R] 账号名称:用户组   文件或目录

  • chmod:改变权限

三种权限类型:读(R)、写(W)、执行(X)

  1. 数字类型改变文件权限
    (1)用数字代表各个权限:
    r:  4
    w:  2
    x:  1
    (2)每种身份各自的三个权限分数是需要累加的
    (3) 例如:-rw-r–r–,分数则是:
    所有者:4+2=6
    用户组:4
    其他人:4
    (4)格式: [root@localhost ~]# chmod  [-R]  xyz  文件或目录
    xyz:  就是数字类型的权限属性
    -R:  进行递归的持续更改
  2. 符号类型改变文件权限
    案例:[root@localhost tengger]# chmod u=rwx,go=rx demo.php[root@localhost tengger]# ls -l

    total 4

    -rwxr-xr-x 1 zhen root 19 Dec 13 18:51 demo.php

(3)目录与文件权限的意义

  • 权限对文件的重要性
  • r:可读取此文件的实际内容
  • w:可以编辑、新增或者修改文件的内容(不能删除文件)
  • x:可以被系统执行的权限(文件能否被执行是由是否具有‘x’权限决定的,与文件名没有关系,这点与windows区别)
  • 权限对目录的重要性
  • r:表示读取目录结构列表的权限
  • w:1.新建新的文件与目录;2.删除已存在的文件或目录;3.重命名已存在的文件或目录;4.转移该目录内的文件或目录位置
  • x:表示能否进入该目录(如果不具有该权限则无法进入该目录,即便拥有r权限)
 相关文章
【技术交流,欢迎大家拍砖】

还没有评论哦!