1、文件所有者、用户组、其他人

  • 文件所有者(user):拥有所有权限
  • 用户组(group):设置用户组公共信息共享,用户可以设置个人信息权限,主要作用体现在团队开发中。
  • 其他人(others):一般文件权限最低。
  • 所有的文件都会设置以上三种身份的权限
  • linux是一个多用户、多任务系统,经常有多人使用同一台主机进行工作,所以文件权限设置非常重要。

    2、文件权限(rwx)

  • 文件是存放数据所在

  • r:可读,4(数字为二进制表示对应权限)
  • w:可写,2,写入,编辑,新增,修改文件权限,当并不具备删除文件本身的权限
  • x:可执行,1,进入目录执行文件的权限,如果只有r没有x权限是无法进入目录查看文件的。

    3、目录权限(rwx)

  • 目录的主要内容是记录文件名列表,文件名与目录有强烈关联

  • r:读取目录结构列表的权限,利用ls可将目录内容列表显示出来
  • w:具有更改目录结构列表的权限: | 新建新的文件与目录 | | | | —- | —- | —- | | 删除已存在的文件与目录(不论该文件权限如何) | | | | 将已存在的文件或目录进行重命名 | | | | 转移该目录内的文件、目录位置 | | |

  • x:用户能否进入该目录工作

4、文件属性

  1. // 以root身份登录linux之后,执行ls -al可以查看文件属性
  2. [root@www ~]# ls -al // 查看文件属性
  3. total 156
  4. -rwxr-x--- 4 root root 4096 Sep 8 14:06 install.log
  5. [权限] [连接][所有者] [用户组] [文件容量] [修改日期] [文件名]
  6. // 第一个字符表示文件属性
  7. d:目录
  8. -:文件
  9. l:连接文件
  10. b:可提供存储接口设备
  11. c:串行端口,鼠标键盘等一次性读取设备
  12. //连接:表示多少文件名连接到此节点

5、改变文件属性与权限

1)chgrp:改变文件所属用户组(被改变的用户组名必须存在/etc/group文件内,否则会报错)

  1. [root@www ~]# chgrp [-R] dirname/filename....
  2. // 举例:将install.log的用户组改成users
  3. [root@www ~]# chgrp users install.log
  4. -R:进行递归,连同子目录下所有文件、目录一起修改

2)chown:改变文件所有者(用户必须时已存在系统,即在/etc/passwd这个文件中有记录的用户名称)

  • 注意:复制文件(cp)会复制文件属性和权限,所以复制文件给其他用户后需要修改文件权限,否则,others可能无法修改这个文件

    1. chown [-R] 账号名称 文件或目录
    2. //示例:install.log所有者改为bin这个账号
    3. chown bin install.log
    4. //示例:install.log所有者与用户组改为root
    5. chown root:root install.log

    3)chmod:改变文件的权限

  • 数字类型改变文件权限

Linux文件基本权限有9个,在owner、group、others三种身份中可读、可写、可执行的权限。
三种权限分数对照表:r:4,w:2,x:1
举例:当权限为:[-rwxrwx—-]时
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = —- = 0+0+0 = 0
故设置权限更改时,该文件权限数字为770。
如果要把group改为可读可执行,则group = r-x = 4+0+1= 5;
把others改为可读,则others = r— = 4+0+0 = 4;
更改后的文件权限数字为754。
将.bashrc这个文件权限数字更改为754,更改命令语法为:

  1. chmod xyz 文件/目录
  2. chmod 754 .bashrc
  3. // 如果要将目录下的所有文件同步修改,则在chmod后面加上[-R]进行递归
  • 符号类型改变文件权限

使用u,g,o分别代表user、group、others的权限,a代表all,全部的身份




chmod
u +(加入) r


文件或目录
g - (除去) w
o =(设置) x
a
  1. chmod u=rwx,go=rx .bashrc
  2. // 设置一个文件权限为"-rwxr-xr-x"
  3. // 注意:u=rwx,go=rx连在一起,没有空格。
  4. // 三个文件权限不同则写法为:
  5. chmod u=rwx,g=r,o=rx .bashrc
  6. // 增加权限,示例:所有文件增加写入权限
  7. chmod a+w .bashrc
  8. // 在+与-的状态下,只要没有指定到的选项,则该权限“不会被变动”

6、一些常用命令

  1. cd 目录/文件夹名 ==>上一级../name,==>下一级===>./name
  2. ls // 查询目录
  3. ll // 查询目录详情
  4. mkdir [目录] // 新建目录
  5. chmod 744 [目录] // 更改目录权限
  6. touch [目录名][文件名] // 新建空文件
  7. chmod 600 [目录名][文件名] // 更改文件权限
  8. su - vbird // 切换身份为vbird用户
  9. [root@www tmp]# su - vbird //此处为#,代表还是root(天神)
  10. [root@www tmp]$ // 切换身份后,提示符会变成$
  11. cat [文件名] // 查看文件内容

7、Linux目录配置

1)Linux目录配置标准:FHS

可分享的(shareble) 不可分享的(unshareble)
不变的(static) /usr(软件存放处) /etc(配置文件)
/opt(第三方软件) /boot(开机与内核文件)
可变动的(variable) /var/mail(用户邮件信箱) /var/run(程序相关)
/var/spool/news(新闻组) /var/lock(程序相关)
  • 可分享的:可以分享给其他系统挂载的目录。
  • 不可分享的:自己机器上运行的设备文件或与程序有关的文件,不适合分享给其他主机。
  • 不变的:不会经常变动的数据,如:函数库,文件说明文件,主机服务器配置文件等。
  • 可变的:经常改变的数据吗,如登录文件等。
  • /(root,根目录):和开机系统有关,开机过程仅根目录会被挂载,其他分区是在开机之后持续完成挂载行为。根目录是整个系统最重要目录,所有目录由根目录衍生出来,根目录还与开机、还原、系统修复等操作有关。根目录所在分区越小越好,应用程序所安装软件最好不要与根目录在同一个分区,保持根目录越小越好,这样能保持较好性能,也不容易发生问题,分区越大越容易出现问题。
  • 注意:这五个目录不能与根目录分开放不同区 | /etc | 配置文件 | | —- | —- | | /bin | 重要执行文件 | | /dev | 所需要的设备文件 | | /lib | 执行文件所需的函数库与内核所需的模块 | | /sbin | 重要的系统执行文件 |

  • /usr(UNIX software reaource):和软件安装/执行有关

  • /var(variable):与系统运作过程有关。