Linux每天一点文件权限与目录配置

ls -al

-rw-r--r--    1       root        root         4096     Sep 4 18:25   install.log

权限         连接    所有者  用户组 文件容量  修改日期         文件名

 

文件类型与权限

-rw-r--r--

第一个字符代表这个文件是“目录,文件或者链接文件”

[d]目录   [-]文件  [l]链接文件  [b]设备文件里面的可供存储的接口设备    [c]设备文件里面的串行端口设备,如键盘,鼠标

然后每3个字符为一组,分别为文件所有者的权限,同用户组的权限,其他非本用户组的权限


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

每个文件都会将它的权限与属性记录到文件系统的i-node中,目录树使用文件名记录,因此每个文件名就会连接到一个i-node。这个属性记录有多少不同的文件名连接到相同的一个i-node号码上。

第五列文件的容量,默认单位是B

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

如:Jan 7 2007 /etc/termcap  时间太久远,显示年份

        Sep 4 18:25   install.log    完整时间

第七列为文件名

注意:文件名之前多一个“.”,表示这个文件为“隐藏文件”


目录与文件的权限意义

文件:

r:可读取此文件的实际内容,如读取文本文件的文字内容等。

w:可以编辑,新增或者修改文件的内容(但不含删除该文件)。

x:该文件具有可以被系统执行的权限。


目录:

r:表示具有读取目录结构列表的权限,查询该目录下的文件名数据,可以使用ls显示

w:表示具有更改该目录结构列表的权限,包括:

新建新的文件与目录  

删除已经存在的文件与目录(不论该文件的权限为何) 

将已存在的文件与目录进行重命名 

转移该目录内的文件,目录位置

x:代表用户能否进入该目录成为工作目录的用途,所谓工作目录就是你所在的目录

能不能进入某一个目录,与该目录的x权限有关


改变文件属性与权限


chgrp 改变文件所属用户组change group

注意:要改变的组名必须在/etc/group

chgrp [-R] dirname/filename

-R  进行递归的持续更改,也即连同子目录下的所有文件,目录都更新成为这个用户组,常常用在更改某一目录所有文件情况

chgrp users install.log


chown改变文件所有者change owner

chown [-R]  账号名称 文件或目录

-R  进行递归的持续更改,也即连同子目录下的所有文件都更改

chown bin install.log

将install.log的所有者与用户组改为root

chown root:root install.log

cp复制行为会复制执行者的属性与权限,需要时要更改这个文件的所有者与用户组。


chmod 改变权限

两种方法改变权限:

数字类型改变文件权限

r:4          w:2          x:1

形如:-rwxrwx---

owner=rwx=7       group=rwx=7     others=---=0

chmod [-R] xyz 文件或目录        xyz表示数字类型的权限属性

-R  进行递归的持续更改,也即连同子目录下的所有文件都更改


符号类型改变文件权限

身份表示:u g o a    符号:+ - =    权限:=r w x

chmod  身份表示  符号  权限 文件或目录

chmod u=rwx,go=rx .bashrc

chmod a+w  .bashrc


Linux文件种类与扩展名

任何设备在linux下都是文件

文件种类:

1.普通文件 ,字符 - -开头,包括

纯文本文件(ASCII):linux系统最多的一种文件类型,内容为可直接读到的数据,例如字母,数字等。可执行cat ~/.bashrc 就可以看到该文件的内容。

二进制文件(binary):系统其实仅认识且执行二进制文件,linux中的可执行文件(字批处理不算)就是这种格式,cat命令就是二进制文件

数据格式文件(data):有些程序在运行的过程会读取某些特定格式的文件,那些特定格式的文件称为数据文件。例如,linux在用户登录时,都会将登录的数据记录在/var/log/wtmp文件内,该文件就是data file。它能通过last读出来,但cat会出现乱码,因为它属于一种特殊格式的文件。

2.目录[d]

3.连接文件(link)[l]:类似windows系统的快捷方式

4.设备与设备文件

与系统外设及存储等相关的一些文件,通常集中在/dev这个目录,分为两种:

块设备文件[b]:一些存储数据,以提供系统随机访问的接口设备,例如硬盘,软盘等,/dev/sda 第一个属性即为[b]

字符设备文件[c]:一些串行端口的接口设备,例如键盘,鼠标等。特征为一次性读取,不能够截断输出

5.套接字(sockets)

数据接口文件[s],通常用在网络上的数据连接,在/var/run可看到这种文件类型

6.管道(FIFO,pipe)[p]

一种特殊的文件类型,解决多个程序同时访问一个文件所造成的错误问题。first-in-first-out

Linux文件扩展名

一个Linux文件能否执行看权限具有x,与文件名无关,可执行并不代表可执行成功。

以适当扩展名来表示该文件是什么种类

*.sh:脚本或批处理文件,使用shell写成,故得名

*.Z    *.tar    *.tar.gz     *.zip    *.tgz:打包的压缩文件

*.html   *.php :网页相关文件,分别表示HTML语法与PHP语法的网页文件。.html文件可使用网页浏览器直接开启,.php文件。通过客户端的浏览器来服务端浏览,以得到运算后的网页结果。


文件长度限制

Ext2/Ext3文件系统,文件名长度限制为:

单一文件或目录的最大容许文件名为255个字符

包含完整路径名称及目录(/)的完整文件名为4096个字符


文件名限制

因一些符号有特殊意义,文件命名应避免使用

文字界面  * ?> < ; & ! [ ] | \ ' ` " ( ) { }             命令行界面    . + -


Linux目录配置

Linux目录配置标准 FHS:重点在于规范每个特定目录下应该放置什么样的数据。

FHS一直在改版中。。。

 

        可分享的

        不可分享的

不可变的

    /usr(软件放置处)

    /etc(配置文件)

    /opt(第三方软件)

    /boot(开机与内核文件)

可变动的

    /var/mail(用户邮箱)

    /var/run(程序相关)

    /var/spool/news(新闻组)

    /var/lock(程序相关)


可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录; 

 不可分享的:自己机器上面运行的设备文件或者是与程序有关的socket文件等, 由于仅不自身机器有关,所以当然就不适合分享给其他主机了。 

不变的:有些数据是不会经常变动的。 例如函数库、文件说明文件、系统管理员所管理的主机服务配置文件等等; 

可变动的:经常改变的数据,例如登录文件等。

根目录(/)含义:

根目录是整个系统最重要的目录,因为不但所有的目录都是由根目录衍生出来的,同时,根目录也与开机、还原、系统修复等操作有关。

FHS建议:根目录所在的分区越小,系统性能就越好,根目录所在的文件系统也较不容易发生问题


下面列出一个表格,总结一些重要目录放置的文件内容:

目录

                         应放置文件内容

    /bin

放置一些在单用户维护模式下还能被操作的命令,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash等命令

    /boot

放置开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件

    /dev

以文件形式存放任何设备与接口设备,比较重要的文件:/dev/null,/dev/zero,/dev/tty,/dev/lp*,/dev/hd*,/dev/sd*等

    /etc

系统主要的配置文件几乎都放置在这个目录内。FHS建议:不要将可执行文件放到这个目录,比较重要的文件:/etc/inittab,/etc/init.d,/etc/modprobe.conf,/etc/X11,/etc/sysconfig等

    /home

系统默认的用户主文件夹,~代表当前用户主文件夹

    /lib

放置在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库,/lib/modules这个目录放置的驱动程序文件,尤其重要

    /media

此目录下的文件都是可删除的设备,www.linuxidc.com常见文件名:/media/cdrom

    /mnt

用来暂时挂载某些额外设备

    /opt

第三方软件放置的目录

    /root

系统管理员的主文件夹,/root应该和根目录放在同一个分区中

    /srv

存放网络服务所需取用的数据,如:www服务需要的网页数据就可以放置在/srv/www里面

    /tmp

任何人都可以访问这个目录,这是用于暂时放置文件的地方,重要的数据都不可以放到这个目录里面,FHS建议:每次开机时都清空一下这个目录

    /sbin

放置了开机过程所需的命令,包括开机、修复、还原系统所需的命令


注意:

开机过程中,只要根目录会被挂载,其他分区则是在开机完成后才会持续进行挂载,所以在根目录下与开机相关的目录都不能与根目录放到不同的分区

从上表可以轻易得出,下列五个目录一定不可与根目录分开:

/etc----配置文件

/bin----重要执行文件

/dev----所需要的设备文件

/lib----执行文件所需要的函数库与内核所需的模块

/sbin----重要的系统执行文件

目录树

特性:

目录树的起始点为根目录(/,root)

每个目录不只能使用本地端的文件系统,也可以使用网络上的文件系统。

每个文件在此目录树中的文件名(包含完整路径)都是独一无二的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值