第二部分 Linux 文件、目录与磁盘格式

06_chapter Linux文件权限与目录配置

1,UGO

/etc/passwd         保存系统上的账号相关信息
/etc/shadow         保存个人的密码
/etc/group          保存所有的组名及相关信息

这三个文件可以说是Linux系统里面账号、密码、群组信息的集中地啰! 不要随便删除这三个文件啊!
2,Linux文件权限概念
chown

chown [-R] 账号名称 档案或目录               修改档案的所属用户
chown [-R] 账号名称:组名 档案或目录        修改档案的所属用户与所属组
chown [-R] :组名 档案或目录                    修改档案的所属组

chomod

1——数字类型改变档案权限
r:4     w:2 x:1(execute)
chmod [-R] xyz 档案或目录                    将档案的权限修改为xyz
2——符号类型改变档案权限
chmod   u/g/o/a     +/-/=   rwx 档案或目录
例子:
chmod u=rwx,go=rx test
注意:u=rwx,go=rx是连在一起的,中间没有任何空格符
档案权限对于一般档案与目录档案的差异:

1,一般档案的权限

r(read):    可读取此档案的实际内容,如读取文本文件的文字内容等
w(write):   可以编辑、新增或者是修改该档案的内容(但不含删除该档案)
x(execute): 该档案具有可以被系统执行的权限
注1:在linux中,档案能否被执行是借由 x 这个权限来决定的!跟档名是没有绝对的关系的。
注2:当你具有对一个档案的 w 权限时,可以写入/编辑/新增/修改档案的内容,当并不具备删除该档案本身的权限。
注3:我们这样理解,对于档案的 rwx 来说,主要都是针对 档案的内容 而言,与档案档名的存在与否没有关系。

2,目录档案的权限

r(read contents in directory):
表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。
w(modify contents of directory):
这个可写入的权限对目录来说,是很了不起的!因为他表示你具有异动该目录结构列表的权限:
1,建立新的文件与目录;
2,删除已经存在的文件与目录(不论该文件的权限为何!)
3,将已存在的文件或目录进行更名;(不论文件的权限如何)
4,搬移该目录内的文件、目录位置。(搬移该目录内的文件、目录位置)(不论文件的权限如何)
总之,目录的w权限就与该目录下的文件名 异动有关。
x(access directory):
目录的 x 代表的是用户能否进入该目录,使其成为工作目录的用途(即能否 cd 到该目录下)
也就是说,如果你在某目录下不具有x权限,你就无法切换到该目录下,也就无法执行该目录下的任何命令,即使你具有该目录的r权限。
注:要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w权限不可随便给!
Linux文件种类与扩展名

文件种类:
    1、正规文件(regular file):
        在由 ls -al 所显示出来的属性方面,第一个字符为 [ - ],就是一般我们在进行存取的类型的文件。另外,依照文件的内容,又大略可以分为:
        纯文本档(ASCII)
        二进制文件(binary):系统其实仅仅认识且可以执行二进制文件,Linux中的可执行文件(scripts,文字型批处理文件不算)就是就是这种格式。
        数据格式文件(data):有些程序在运作的过程中会读取某些特定格式的文件,那些特定格式的文件被称为数据文件。如Linux在登陆时,都会将登陆的数据记录在/var/log/wtmp那个文件内,该文件是一个data file,我们能透过last指令读出来。但使用cat时,会出现乱码。
    2、目录(directory):
        ls -al所显示出来的属性方面,第一个字符为[d]
    3、连接档(link):
        ls -al所显示出来的属性方面,第一个字符为[l],就是类似Windows中的快捷方式。
    4、设备与装置文件(device):
        与系统周边及存储等相关的一些文件,通常都集中在/dev这个目录之下,通常分为两种:
        ①区块(block)设备档:
            [b],就是一些存储数据,以提供系统随机存取的接口设备,如硬盘与软盘
        ②字符(character)设备文件:
            [c],亦即是一些串行端口的接口设备,如键盘、鼠标等,特点是“一次性读取”,不能够阶段输出。
    5、数据接口文件(sockets):
        [s],最常在/var/run目录下看到这类文件,这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个socket来进行数据的沟通了。
    6、数据传送文件(FIFO,pipe):
        一种特殊类型的文件,他主要的目的在解决多个程序同时存取一个文件所造成的错误问题。 FIFO是first-in-first-out的缩写。第一个属性为[p] 。
注:socket与FIFO文件与process有关。
Linux文件的扩展名
一个Linux文件能不能被执行,与他的第一栏的十个属性有关, 与档名根本一点关系也没有。
不过,可以被执行跟可以执行成功是不一样的。
不过我们仍然希望可以藉由扩展名来了解该文件是什么东西,所以:
    *.sh:脚本或批处理文件(scripts),因为批处理文件为使用shell写成的,所以扩展名就编成 .sh ;
    *Z, *.tar, *.tar.gz, *.zip, *.tgz:经过(gzip、tar等)打包的压缩文件。
    *.html,*.php:网页相关文件
注:,从网络上传送到你的 Linux系统中,文件的属性与权限确实是会被改变的喔!
Linux文件长度限制
在Linux底下,使用预设的Ext2/Ext3文件系统时,针对文件的档名长度限制为:

单一文件或目录的最大容许文件名为 255 个字符;
包含完整路径名称及目录 (/) 之完整档名为 4096 个字符。

Linux文件名的限制
一般来说,你在设定Linux底下的文件名时, 最好可以避免一些特殊字符比较好!例如底下这些:

* ? > < ; & ! [ ] | \ ' " ` ( ) { }
另外,文件名的开头为小数点『.』时, 代表这个文件为『隐藏档』喔!同时,由于指令下达当中,常常会使用到 -option 之类的选项, 所以你最好也避免将文件档名的开头以 - 或 + 来命名啊!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值