【鸟哥的linux私房菜】学习笔记6

来源:互联网 发布:淘宝店铺如何发微淘 编辑:程序博客网 时间:2024/05/23 05:09

第六章 linux的档案权限与目录配置

linux最优秀的地方就在于它的多人多任务环境。为了让每个使用者具有较保密的档案数据,档案的权限管理就变得很重要了。linux一般档案可存储的身份分为三个类别,分别是owner/group/others, 且三种身份各有read/write/exexute等权限

一个账号可以有多个群组支持

root是万能的天神,他可以到达任何他想去的地方(如果自己不是root,最好不要在电脑上面存私人文件,太可怕了)

  • /etc/passwd : 系统上的账号信息,比如说用户A,用户B
  • /etc/shadow : 个人密码
  • /etc/group : 群组信息

linux文件属性

ls -al : 列出所有档案详细的权限与属性

如果档名前多了一个.表示为隐藏档

1 类型权限

一共有10个字符

第0个字符:

  • d :目录
  • -:档案 纯文本文档 cat读取,二进制文件,数据格式文件 last读取
  • l :连接, 类似windows的快捷方式
  • b :block设备,类似硬盘,U盘等存储设备
  • s :网络上的数据承接

第1~3个字符:拥有者的权限;

第4~6个字符:组的权限;

第7~9个字符:其他人的权限

  • r : 4 可读
  • w : 2 可写,
  • x : 1 可执行
  • - : 0 无权限
  • 7: 可读可写可执行;6:可读可写;5:可读可执行

2 连接数:有多少档名连接到此结点(inode)(这个是什么意思,看不懂)

3 拥有者

4 所属群组 : 在linux下,账号可以附属于一个或多个群组中

5 容量 : 默认单位为byte

6 最后被修改的时间mtime

7 档案的名称

如何改变文件属性与权限

  • chgrp [-R] group dirname/filename: 改变档案所属群组

要被改变的组名必须在/etc/group中档案内存在

-R:进行递归的持续变更。连同次目录下地所有档案、目录都更新成为这个群组

  • chown [-R] user/group dirname/filename: 改变档案拥有者

用户必须是已经存在系统中的账号,也就是/etc/passwd这个档案有记录的用户名称才能改变

复制档案:cp 来源档案 目标文件 cp会复制执行者的属性与权限

  • chmod [-R] 权限 dirname/filename: 改变档案权限

方法一:数字权限

方法二:chmod a/u/g/o +/-/= r/w/x dirname/filename

  • a 所有
  • u 拥有者
  • g 群组
  • o 其他

例:chmod u=rwx,go=rx .bashrc 在不知道档案原本权限为何时,可使用这个方法。(意味着可以少调用一次ls) 要开放目录给任何人浏览时,应该至少给予rx的权限,但w的权限不可随便给

权限的意义

权限文件目录r读取文件内容读取目录文件名列表w修改文件内容新建,修改,删除,转移目录内文件x具有可被系统执行的权限进入该目录

用户对于其家目录有rwx的权限

常用扩展名

  • .sh:脚本
  • .tar/.tar.gz/.zip/.tgz : 压缩文件

linux上文件的扩展名只是让用户了解档案的用途而已,能否执行还是要看是否有x权限

linux目录配置-FHS

开机文件

  • /etc
  • /bin: 存放root和一般用户常用的指令
  • /dev
  • /lib
  • /sbin: 存放root才能使用的指令

以上这些目录不可与根目录分割在不同槽

/usr[unix software resource]

  • /usr/bin: 大部分软件提供的指令存在这里
  • /usr/include: c/c++程序的header和include放置处
  • /usr/lib:
  • /usr/local: 有了/opt,/usr/local似乎要被打入冷宫了
  • /usr/share: 存放一些可以共享的文档

/var

针对经常变动的档案,如cache, log file, 以及某些档案运作所产生的档案。最好将/var独立出来,这样对于系统的数据还有一些安全性的保护!因为至少/var死掉以后,你的/还会活着嘛

  • /var/cache: 应用程序缓存文件目录
  • /var/lib: 应用程序数据文件目录
  • /var/log: 系统用户登陆日志
  • /var/mail: 个人电子邮件信箱

相对路径

  • . :当前目录,也可以使用./来表示
  • .. : 上一层目录,也可以使用../来表示
0 0