文件系统

内核提供了一个接口,用来显示一些它的数据结构,这些数据结构对于决定诸如使用的中断、初始化的设备和内存统计信息之类的系统参数可能很有用。这个接口是作为一个独立但虚拟的文件系统提供的,称为 /proc 文件系统。很多系统实用程序都使用这个文件系统中存在的值来显示系统统计信息。例如,/proc/modules 文件列举系统中当前加载的模块。lsmod 命令读取此信息,然后将其以人们可以看懂的格式显示出来。下面表格中指定的 mtab 文件以同样的方式读取包含当前安装的文件系统的 /proc/mount 文件。

/etc/mtab

这将随着 /proc/mount 文件的改变而不断改变。换句话说,文件系统被安装和卸载时,改变会立即反映到此文件中。

1.文件格式

/etc/mtab的格式和/etc/fstab是一样的.但这个文件不能算是用户配置文件,他是由系统维护的.和/etc/fstab的区别在于, fstab是系统启动时需挂载的文件系统列表,而mtab是系统当前已挂载的文件系统列表,它由系统维护,在用户执行了mount或者umount命令后自动更新.用户不应该对此文件作任何修改.

2.安全性

/etc/mtab的默认权限仍然是644

3.相关命令

mount

umount

smbmount

/etc/fstab

1.文件格式

/etc/fstab记载了系统启动时自动挂载的文件系统。一行为一条记录。每条记录有6个字段,字段间用空格或者tab键分开。这六个字段分别是:设备名称,挂载点(除交换分区为swap外,都必须是一个存在的目录名),文件系统类型,mount选项,是否需要dump(1表示需要,0表示不需要),在 reboot期间fsck检查的顺序(激活文件系统设定为1,其余文件系统设定为2,若设定为0表示该文件系统不需要被检查)。

在linux和windows共存时,也许想开机自动挂载windows分区,那么就可以在这个文件里加上相应的记录。

某些时候对硬盘分区作了调整以后,这里也需要做一些相应的修改。否则会出现一些问题。

可用的mount选项:

async

对该文件系统的所有I/O操作都异步执行

ro

该文件系统是只读的

rw

该文件系统是可读可写的

atime

更新每次存取inode的存取时间

auto

可以使用 -a 选项mount

defaults

使用预设的选项:rw,suid,dev,exec,auto,nouser,async

dev

解释在文件系统上的字符或区块设备

exec

允许执行二进制文件

noatime

不要在这个文件系统上更新存取时间

noauto

这个文件系统不能使用 -a 选项来mount

nodev

不要解释在文件系统上的字符或区块设备

noexec

不允许在mounted文件系统上执行任何的二进制文件。这个选项对于具有包含非它自己的二进制结构的文件系统服务器而言非常有用

nosuid

不允许setuid和setgid位发生作用。(这似乎很安全,但是在安装suidperl后,同样不安全)。

nouser

限制一般非root用户mount文件系统

remount

尝试重新mount已经mounted的文件系统。这通常是用来改变文件系统的mount标志,特别是让只读的文件系统变成可擦写的

suid

允许setuid和setgid位发生作用

sync

文件系统的所有I/O同步执行

user

允许一般非root用户mount文件系统。这个选项会应用noexec,nosuid,nodev这三个选项(除非在命令行上有指定覆盖这些设定的选项)。

3.安全性

/etc/fstab的默认权限是644,所有者和所有组均为root

2.相关命令

mount

df

列举计算机当前“可以安装”的文件系统。这非常重要,因为计算机引导时将运行 mount -a 命令,该命令负责安装 fstab 的倒数第二列中带有“1”标记的每一个文件系统。

/etc/mtools.conf

DOS 类型的文件系统上所有操作(创建目录、复制、格式化等等)的配置。

系统管理

/etc/group

1.文件格式

/etc/group存储了系统中所有用户的基本信息.它的格式和/etc/passwd的格式基本类似,这里就说简单一点,

/etc/group也是由一条条的记录组成.每条记录分4个字段.分别是组名,组口令,组ID和该组包含用户列表.其中组口令不再使用(现在只是保留为 x).最后一个域是一个用逗号分隔的用户名列表,这个组的成员就是在这里列出的所有用户.

2.安全性

/etc/group的默认权限是644,所有者和所有组均为root.注意经常检察.

3.相关命令

groupadd

groupdel

groupmod

groups

包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任务,可以存在于多个组中。例如,如果一个“用户”是“project 1”工程组的成员,同时也是管理员,那么在 group 文件中他的条目看起来就会是这样的: user: * : group-id : project1

/etc/nologin

这是一个普通的文本文件.你可以在里面写上你喜欢的任何东西./etc/nologin的作用在于,如果它存在,那么系统将拒绝任何非root用户的登录请求,并对其它登录用户显示此文件的内容

此文件常由系统在停机前自动生成.有时系统管理员也会手工生成它,用以禁止其它用户登录,方便进行一些管理工作.

etc/passwd

1.文件格式

/etc/passwd存储了系统中所有用户的基本信息.可以说这是系统中最重要的一个配置文件.对它作任何修改一定要小心谨慎.同时要经常检察这个文件,包括它的内容和权限设置.

使用vi编辑程序打开此文件,可以看到这个文件由许多行记录组成.每一行记录对应着一个用户.我们以第一行为例.第一行一般是root用户的记录,尽管这不是必需的.实际上用户记录出现的顺序并没有任何的意义.

在我的系统中,/etc/passwd的第一行看起来是这样的:

root:x:0:0:root:/root:/bin/bash

每一条记录都由7个字段组成,每个字段之间用冒号隔开.第一个字段是用户名,示例中是root.第二个字段是用户口令,示例中是一个字符x,但这并不表示 root的口令是单个字符x,而是说用户口令被加密了,并且加密口令也没有放在本文件中,而是放到了/etc/shadow(参考 /etc/shadow).假如删除这个x,那么root的口令就清空了.第三个字段是用户的用户ID,即uid.第四个字段是用户的组ID,即gid. 这里要注意,系统分辨两个用户是看他们的uid是否相同而不是看他们的用户名是否相同.用户名不同但uid相同的两个用户实际上是同一个用户.对组来说也有类似的规则.所以这两个字段大家一定要注意.第五个字段是用户全称,没有什么实际用途,相当于注释,这里是root.第六个字段是用户的主目录 (home),即登录系统后默认所处目录,这里是/root.最后一个字段是用户的登录shell,可以是系统拥有的任何一个shell的完整路径,这里是/bin/bash.注意,这个字段可以有一个特殊的值,即/sbin/nologin.如果把一个用户的登录shell设置为 /sbin/nologin的话,系统将禁止此用户的本地登录.

请参阅“man passwd”。它包含一些用户帐号信息,包括密码(如果未被 shadow 程序加密过)。

2.安全性

/etc/passwd的默认权限为644,所有者和所有组均为root.切记,在任何情况下都不要更改它.

3.相关命令

passwd

useradd

userdel

adduser

usermod

users

/etc/rpmrc

rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设置,这样,当任何 rpm 命令在该系统中运行时,所有的选项都会全局适用。

/etc/securetty

包含设备名称,由 tty 行组成(每行一个名称,不包括前面的 /dev/),root 用户在这里被允许登录。

1.文件格式

这是一个设备文件的列表.文件名取相对于/dev的相对路径.如,/dev/tty1记为tty1

root只有从这个列表中列出的设备上才可以登录系统.

例如:

代码:

$cat /etc/securretty

tty1

tty2

tty3

这里root被限定只能从/dev/tty1, /dev/tty2, /dev/tty3这三个设备上登录系统

如果/etc/securretty不存在的话,那么root将可以从任何设备登录系统.

2.安全性

/etc/securetty的默认权限是600,所有者和所有组都是root

/etc/shadow

包含加密后的用户帐号密码信息,还可以包括密码时效信息。包括的字段有:

  • 登录名
  • 加密后的密码
  • 从 1970 年 1 月 1 日到密码最后一次被更改的天数
  • 距密码可以更改之前的天数
  • 距密码必须更改之前的天数
  • 密码到期前用户被警告的天数
  • 密码到期后帐户被禁用的天数
  • 从 1970 年 1 月 1 日到帐号被禁用的天数

1.文件格式

/etc/shadow文件保存的是用户名,密码,用户账号设置相关信息。

例:

root:$1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1:12264:3:4:5:6:12267:

第一段: root----- 用户注册名

第二段: $1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1 ----加密口令

第三段: 12264-----上次更动密码的日期,以1970年1月1日为1,1天加1

第四段: 3---------密码将被允许修改之前的天数(0 表示“可在任何时间修改”)

第五段: 4---------系统将强制用户修改为新密码之前的天数(1 表示“永远都不能修改”)

第六段: 5---------密码过期之前,用户将被警告过期的天数(-1 表示“没有警告”)

第七段: 6---------密码过期之后,系统自动禁用帐户的天数(-1 表示“永远不会禁用”)

第八段: 12267-----该帐户被禁用的天数(-1 表示“该帐户被启用”).以1970年1月1日为1,1月2日为2

第九段 ------ 保留供将来使用

注:第2段中为*表示帐号不可登录,如密码前为 !! 或只有 !! 表示帐号被锁

2.安全性

/etc/shadow的默认所有者和所有组均为root.

建议运行# chattr +i /etc/shadow来保护文件使其不被意外地删除或重写

3.相关命令

passwd

useradd

userdel

usermod

/ect/gshadow

1.文件格式

/ect/gshadow文件保存的是用户和组群设置的信息

例:

root:!!::root,wa1

第一段:组名

第四段:该组包含用户列表

2.安全性

/etc/gshadow的默认所有者和所有组均为root.

建议运行# chattr +i /etc/shadow来保护文件使其不被意外地删除或重写

3.相关命令

groupadd

groupdel

groupmod

groups

/etc/sysctl.conf

1.文件格式

/etc/sysctl.conf是sysctl程序的配置文件.sysctl可以在系统运行时更改内核参数./etc/sysctl.conf中的配置将在系统起动时执行.

以 # 和 ; 开始的行是注释,将和空白行一起被忽略.

配置项的格式为:

token = value

token是一个键名,value是对应的键值.token和value前后的空格将被忽略

token不能是随意的字符串.他和/proc/sys下的文件有一一对应的关系:

假设foo是/proc/sys下的一个文件.删除foo的绝对路径前的 "/proc/sys" 这一部分,然后把剩下部分中的 "/" 替换成 ".",得到的字符串就是foo所对应的键名.例如:

/proc/sys/net/ipv4/ip_forward对应的键名为net.ipv4.ip_forward

应用举例:

Redhat Linux 9默认是禁止ip转发的,而我们在做ip伪装时需要起用ip转发.通常的做法是在iptables的规则之前加上一句:

echo 1>/proc/sys/net/ipv4/ip_forward

实际上我们也可以在/etc/sysctl.conf中写上:

net.ipv4.ip_forward = 1

这样系统就默认起用ip转发了.当然他不会立即生效.因为/etc/sysctl.conf是在系统起动时读入的.想要立即生效的话,请使用sysctl命令.

2.安全性

/etc/sysctl.conf的默认权限是644,所有者和所有组均为root

3.See also

sysctl(8)

sysctl.conf(5)

proc(5)

procinfo(8)

/etc/shells

包含系统可用的可能的“shell”的列表。

/etc/motd

每日消息;在管理员希望向 Linux 服务器的所有用户传达某个消息时使用。

linux文件系统配置文件的更多相关文章

  1. Linux文件系统

    今天学习了Linux文件系统,现在来做个小总结. 首先Linux中一切都是文件,下面这个清单是Linux系统的顶层目录结构. 清单 1. Linux 系统的顶层目录结构 / 根目录 ├── bin 存 ...

  2. linux 文件系统简介

    linux文件系统简介   文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基 ...

  3. Linux文件系统层次结构标准

    该标准的目的是定义Linux文件系统的标准路径,使得开发者和用户可以在合理的位置找到需要的东西. Linux的文件布局的大体想法是将文件和目录分为如下3组: 对运行Linux的某一特定系统唯一的文件和 ...

  4. Linux文件系统应用---系统数据备份和迁移(用户角度)

    1   前言 首先承诺:对于从Windows系统迁移过来的用户,困扰大家的  “Linux系统下是否可以把系统文件和用户文件分开到C盘和D盘中” 的问题也可以得到完满解决. 之前的文章对Linux的文 ...

  5. linux 文件系统解析及相关命令

    简介 文件系统就是分区或磁盘上的所有文件的逻辑集合. 文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中. 不同Lin ...

  6. linux文件系统简介

    文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接 ...

  7. linux文件系统---10

    进入 Linux 根目录(即“/”, Linux 文件系统的入口, 也是处于最高一级的目录),运行“ls –l”命令,可以看到 Linux 系统包含以下目录. 1./bin 包含基本命令,如 ls.c ...

  8. Linux文件系统 (Ubunt)

    Linux 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储 ...

  9. Inotify: 高效、实时的Linux文件系统事件监控框架

      Inotify: 高效.实时的Linux文件系统事件监控框架   概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如:   通知配置文件的改变 ...

随机推荐

  1. svn使用方法以及使用教程

    一.什么是svnSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. 二.svn的下载安装下载地址:https: ...

  2. 自定义HtmlHelper扩展方法

    核心:通过TagBuilder类实现Html元素的创建 TagBuilder: 前台调用: @Html.Messger("tag","span-tag", @V ...

  3. eclipse中使用lombok不生效

    eclipse中使用lombok,在实体类中添加@Data后,还是不能调用get.set方法.需要修改eclipse配置 1.将 lombok.jar 复制到eclipse.ini同级目录.下载的lo ...

  4. pymysql 使用

    适用环境 python版本 >=2.6或3.3 mysql版本>=4.1 安装 可以使用pip安装也可以手动下载安装. 使用pip安装,在命令行执行如下命令: 1 pip install  ...

  5. 初学C#的简单编程题合集(更新)

    一 编写一个控制台应用程序,要求完成下列功能. 1)   接收一个整数 n. 2)   如果接收的值 n 为正数,输出 1 到 n 间的全部整数. 3)   如果接收的值为负值,用 break 或者 ...

  6. Nginx的几个重要模块

    ngx_http_ssl_module 让Nginx可以支持HTTPS的模块,此模块下的大多数指令都应用在http,server上下文 ①ssl on | off; 是否开启ssl功能 ②ssl_ce ...

  7. JZOJ5965【NOIP2018提高组D2T2】填数游戏

    题目 作为NOIP2018的题目,我觉得不需要把题目贴出来了. 大意就是,在一个n∗mn*mn∗m的010101矩阵中,从左上角到右下角的路径中,对于任意的两条,上面的那条小于下面的那条.问满足这样的 ...

  8. Mybatis框架+原理

    https://www.cnblogs.com/luoxn28/p/6417892.html(转载,蛮详细的)

  9. utils04_搭建私有Git服务器

    1.远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改.GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给G ...

  10. myeclipse 配置svn

    方法三:直接解压下载SVN插件:site-1.6.10.zip解压后将其全部文件拷贝至:D:\Program Files\Genuitec\MyEclipse 8.5\dropins(MyEclips ...