【Linux】深入解析Linux proc文件系统

在Linux上,proc是一个伪文件系统,提供了访问内核数据的方法,一般挂载在“/proc”目录,其中的大部分内容是只读的,挂载(mount)信息可能为:

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

proc文件系统支持如下挂载选项:

hidepid=_n
gid=_gid

_n设置访问“/proc/[pid]”目录的权限,可以取值为0、1、2,0为默认值,表示任何人可以访问“/proc/[pid]”的所有目录,1表示只能访问访问者本身所属进程对应目录的内容,其它进程的目录的内容一概不能访问,这隐藏了敏感文件的信息如“/proc/[pid]/cmdline”、“/proc/[pid]/status”等,2类似于1,但是“/proc/[pid]”目录对于其它用户来说是不见的,也就是说不能直观地看到pid值,但PID确实是存在的,可以通过其它方法如kill -0 $PID获取,虽然隐藏了UID、GID,但是仍然可以通过命令stat获取,这增加了攻击者获取进程信息的难度。
_gid设置组ID,授权其成员可以获取进程信息(man sudoers)。

下面列举“/proc”文件系统下的文件和目录。

1、pid目录

“/proc/[pid]”,目录,pid为进程的数字ID,是个数值,每个运行着的进程都有这么一个目录。
“/proc/[pid]/attr”,目录,提供了安全相关的属性,可读可写,以支持安全模块如SELinux等,需配置CONFIG_SECURITY。
“/proc/[pid]/attr/current”,文件,当前的安全相关的属性。
“/proc/[pid]/attr/exec”,文件,执行命令execve时设置的安全相关的属性。
“/proc/[pid]/attr/fscreate”,文件,执行命令openmkdirsymlinkmknod时设置的安全相关的属性。
“/proc/[pid]/attr/keycreate”,文件,执行命令add_key时设置的安全相关的属性。
“/proc/[pid]/attr/prev”,文件,最后一次执行命令execve时的安全相关的属性,即前一个“/proc/[pid]/attr/current”。
“/proc/[pid]/attr/sockcreate”,文件,创建socket时设置的安全相关的属性。
“/proc/[pid]/auxv”,文件,ELF解释器信息,格式为一个unsigned long类型的ID加一个unsigned long类型的值,最后为两个0(man getauxval)。
“/proc/[pid]/cgroup”,文件,进程所属的控制组,格式为冒号分隔的三个字段,分别是结构ID、子系统、控制组,需配置CONFIG_CGROUPS。
“/proc/[pid]/clear_refs”,文件,只写,只用于进程的拥有者,清除用于估算内存使用量的PG_Referenced和ACCESSED/YOUNG,有1、2、3、4四种策略,1表示清除相关的所有页,2表示清除相关的匿名页,3表示清除相关的映射文件的页,4表示清除相关的soft-dirty的页,需配置CONFIG_PROC_PAGE_MONITOR。
“/proc/[pid]/cmdline”,文件,只读,保存启动进程的完整的命令行字符串,如果是僵尸进程,这个文件为空。
“/proc/[pid]/comm”,文件,进程的命令名,不同的线程(man clone prctl pthread_setname_np)可能有不同的线程名,位置在“task/[tid]/comm”,名字长度超过TASK_COMM_LEN时会被截断。
“/proc/[pid]/coredump_filter”,文件,coredump过滤器,如00000033(man core),不同的二进制位表示过滤不同的信息。
“/proc/[pid]/cpuset”,文件,控制CPU和内存的节点(man cpuset)。
“/proc/[pid]/cwd”,目录,符号链接到当前工作目录。
“/proc/[pid]/environ”,文件,环境变量。
“/proc/[pid]/exe”,文件,符号链接到启动进程的完整命令。
“/proc/[pid]/fd/”,目录,包含当前的fd,这些fd符号链接到真正打开的文件。
“/proc/[pid]/fdinfo/”,目录,包含当前fd的信息,不同类型的fd信息不同。
“/proc/[pid]/io”,文件,IO信息。
“/proc/[pid]/gid_map”,文件,从用户命名空间映射的组ID的信息(man user_namespaces)。
“/proc/[pid]/limits”,文件,资源软、硬限制(man getrlimit)。
“/proc/[pid]/map_files/”,目录,包括一些内存映射文件(man mmap),文件名格式为BeginAddress-EndAddress,符号链接到映射的文件,需要配置CONFIG_CHECKPOINT_RESTORE。
“/proc/[pid]/maps”,文件,内存映射信息,下面“proc-pid-maps”详细介绍。
“/proc/[pid]/mem”,文件,用于通过open、read、lseek访问进程的内存页。
“/proc/[pid]/mountinfo”,文件,挂载信息,格式为36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue,以空格作为分隔符,从左到右各字段的意思分别是唯一挂载ID、父挂载ID、文件系统的设备主从号码、文件系统中挂载的根节点、相对于进程根节点的挂载点、挂载权限等挂载配置、可选配置、短横线表示前面可选配置的结束、文件系统类型、文件系统特有的挂载源或者为none、额外配置。
/proc/[pid]/mounts,文件,挂载在当前进程的文件系统列表,格式参照(man fstab)。
/proc/[pid]/mountstats,文件,挂载信息,格式形如device /dev/sda7 mounted on /home with fstype ext3 [statistics]
/proc/[pid]/ns/,目录,保存了每个名字空间的入口,详见(man namespaces)。
/proc/[pid]/numa_maps,文件,numa即Non Uniform Memory Access,详见(man numa)。
/proc/[pid]/oom_adj,文件,调整OOM分数,OOM即Out Of Memory,发生OOM时OOM Killer根据OOM分数杀掉分数高的进程,默认值为0,会继承自父进程的设置。
/proc/[pid]/oom_score,文件,OOM分数。
/proc/[pid]/oom_score_adj,文件,OOM分值介于-1000到1000之间。
/proc/[pid]/pagemap,文件,当前进程的虚拟内存页映射信息,需要配置CONFIG_PROC_PAGE_MONITOR。
/proc/[pid]/personality,文件,进行执行域。
/proc/[pid]/root,目录,链接到了当前进程的根目录。
/proc/[pid]/seccomp,文件,seccomp模式下允许的系统调用只有read、write、_exit、sigreturn,Linux 2.6.23已弃用这个文件,由prctl替代。
/proc/[pid]/setgroups,文件,详见(man user_namespaces)。
“/proc/[pid]/smaps”,文件,内存映射信息,类似于pmap命令,需要配置CONFIG_PROC_PAGE_MONITOR,下面“proc-pid-smaps”详细介绍。
/proc/[pid]/stack,文件,内核空间的函数调用堆栈,需要配置CONFIG_STACKTRACE。
/proc/[pid]/stat,文件,进程状态信息,用于ps命令。
/proc/[pid]/statm,文件,进程内存使用信息,以空格分隔的7个数字,从左到右分别表示程序总大小、常驻内存大小、共享内存页大小、text code、library、data + stack、dirty pages。
/proc/[pid]/status,文件,可读性好的进程相关信息,下面“proc-pid-status”详细介绍。
/proc/[pid]/syscall,文件,系统调用相关信息,需要配置CONFIG_HAVE_ARCH_TRACEHOOK。
/proc/[pid]/task,目录,每个线程一个子目录,目录名为线程ID。
/proc/[pid]/timers,文件,POSIT定时器列表,包括定时器ID、信号等信息。
/proc/[pid]/uid_map,文件,用户ID映射信息,详见(man user_namespaces)。
/proc/[pid]/gid_map,文件,组ID映射信息,详见(man user_namespaces)。
/proc/[pid]/wchan,文件,进程休眠时内核中相应位置的符号表示,如do_wait。

2、proc-pid-maps

maps文件内容的格式如下:

       address                      perms offset    dev    inode        pathname
       00400000-00452000 r-xp 00000000 08:02 173521      /usr/bin/dbus-daemon
       00651000-00652000 r--p 00051000 08:02 173521      /usr/bin/dbus-daemon
       00652000-00655000 rw-p 00052000 08:02 173521      /usr/bin/dbus-daemon
       00e03000-00e24000 rw-p 00000000 00:00 0           [heap]
       00e24000-011f7000 rw-p 00000000 00:00 0           [heap]
       ...
       35b1800000-35b1820000 r-xp 00000000 08:02 135522  /usr/lib64/ld-2.15.so
       35b1a1f000-35b1a20000 r--p 0001f000 08:02 135522  /usr/lib64/ld-2.15.so
       35b1a20000-35b1a21000 rw-p 00020000 08:02 135522  /usr/lib64/ld-2.15.so
       35b1a21000-35b1a22000 rw-p 00000000 00:00 0
       35b1c00000-35b1dac000 r-xp 00000000 08:02 135870  /usr/lib64/libc-2.15.so
       35b1dac000-35b1fac000 ---p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
       35b1fac000-35b1fb0000 r--p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
       35b1fb0000-35b1fb2000 rw-p 001b0000 08:02 135870  /usr/lib64/libc-2.15.so
       ...
       f2c6ff8c000-7f2c7078c000 rw-p 00000000 00:00 0    [stack:986]
       ...
       7fffb2c0d000-7fffb2c2e000 rw-p 00000000 00:00 0   [stack]
       7fffb2d48000-7fffb2d49000 r-xp 00000000 00:00 0   [vdso]

address字段表示进程中内存映射占据的地址空间,格式为十六进制的BeginAddress-EndAddress。
perms字段表示权限,共四个字符,依次为rwxs或rwxp,其中r为read,w为write,x为execute,s为shared,p为private,对应位置没有权限时用一个短横线代替。
offset字段表示内存映射地址在文件中的字节偏移量。
dev字段表示device,格式为major:minor。
inode字段表示对应device的inode,0表示内存映射区域没有关联的inode,如未初始化的BSS数据段就是这种情况。
pathname字段用于内存映射的文件,对于ELF格式的文件来说,可以通过命令readelf -l查看ELF程序头部的Offset字段,与maps文件的offset字段作对比。pathname可能为空,表示匿名映射,这种情况下难以调试进程,如gdb、strace等命令。除了正常的文件路径之外,pathname还可能是下面的值:

[stack]    初始进程(主线程)的stack
[stack:<tid>]    线程IDtidstack
[vdso]    Virtual Dynamically linked Shared Object
[heap]    进程的heap

3、proc-pid-smaps

smaps文件内容的格式如下:

                      00400000-0048a000 r-xp 00000000 fd:03 960637       /bin/bash
                      Size:                552 kB
                      Rss:                 460 kB
                      Pss:                 100 kB
                      Shared_Clean:        452 kB
                      Shared_Dirty:          0 kB
                      Private_Clean:         8 kB
                      Private_Dirty:         0 kB
                      Referenced:          460 kB
                      Anonymous:             0 kB
                      AnonHugePages:         0 kB
                      Swap:                  0 kB
                      KernelPageSize:        4 kB
                      MMUPageSize:           4 kB
                      Locked:                0 kB

第一行内容同maps文件,剩下的是各种类型的内存映射大小,其中Rss表示当前常驻在RAM中的内存,Pss表示进程按比例共享的内存。

4、proc-pid-status

status文件内容的格式如下(查看当前shell命令所在进程的信息):

                  $ cat /proc/$$/status
                  Name:   bash
                  State:  S (sleeping)
                  Tgid:   3515
                  Pid:    3515
                  PPid:   3452
                  TracerPid:      0
                  Uid:    1000    1000    1000    1000
                  Gid:    100     100     100     100
                  FDSize: 256
                  Groups: 16 33 100
                  VmPeak:     9136 kB
                  VmSize:     7896 kB
                  VmLck:         0 kB
                  VmPin:         0 kB
                  VmHWM:      7572 kB
                  VmRSS:      6316 kB
                  VmData:     5224 kB
                  VmStk:        88 kB
                  VmExe:       572 kB
                  VmLib:      1708 kB
                  VmPMD:         4 kB
                  VmPTE:        20 kB
                  VmSwap:        0 kB
                  Threads:        1
                  SigQ:   0/3067
                  SigPnd: 0000000000000000
                  ShdPnd: 0000000000000000
                  SigBlk: 0000000000010000
                  SigIgn: 0000000000384004
                  SigCgt: 000000004b813efb
                  CapInh: 0000000000000000
                  CapPrm: 0000000000000000
                  CapEff: 0000000000000000
                  CapBnd: ffffffffffffffff
                  CapAmb:   0000000000000000
                  Seccomp:        0
                  Cpus_allowed:   00000001
                  Cpus_allowed_list:      0
                  Mems_allowed:   1
                  Mems_allowed_list:      0
                  voluntary_ctxt_switches:        150
                  nonvoluntary_ctxt_switches:     545

5、bus目录

/proc/bus,目录,已安装的总线。
/proc/bus/pccard
/proc/bus/pccard/drivers
/proc/bus/pci
/proc/bus/pci/devices

6、net目录

/proc/net,目录,网络伪文件系统相关。
/proc/net/arp
/proc/net/dev
/proc/net/dev_mcast
/proc/net/igmp
/proc/net/rarp
/proc/net/raw
/proc/net/snmp
/proc/net/tcp
/proc/net/udp
/proc/net/unix
/proc/net/netfilter/nfnetlink_queue

7、sys目录

/proc/sys,目录,系统变量相关信息,详细如下。
/proc/sys/abi
/proc/sys/debug
/proc/sys/dev
/proc/sys/fs
/proc/sys/fs/binfmt_misc
/proc/sys/fs/dentry-state
/proc/sys/fs/dir-notify-enable
/proc/sys/fs/dquot-max
/proc/sys/fs/dquot-nr
/proc/sys/fs/epoll
/proc/sys/fs/file-max
/proc/sys/fs/file-nr
/proc/sys/fs/inode-max
/proc/sys/fs/inode-nr
/proc/sys/fs/inode-state
/proc/sys/fs/inotify
/proc/sys/fs/lease-break-time
/proc/sys/fs/leases-enable
/proc/sys/fs/mqueue
/proc/sys/fs/nr_open
/proc/sys/fs/overflowgid
/proc/sys/fs/overflowuid
/proc/sys/fs/pipe-max-size
/proc/sys/fs/protected_hardlinks
/proc/sys/fs/protected_symlinks
/proc/sys/fs/suid_dumpable
/proc/sys/fs/super-max
/proc/sys/fs/super-nr
/proc/sys/kernel
/proc/sys/kernel/acct
/proc/sys/kernel/auto_msgmni
/proc/sys/kernel/cap_last_cap
/proc/sys/kernel/cap-bound
/proc/sys/kernel/core_pattern
/proc/sys/kernel/core_uses_pid
/proc/sys/kernel/ctrl-alt-del
/proc/sys/kernel/dmesg_restrict
/proc/sys/kernel/domainname
/proc/sys/kernel/hostname
/proc/sys/kernel/hotplug
/proc/sys/kernel/htab-reclaim
/proc/sys/kernel/kptr_restrict
/proc/sys/kernel/l2cr
/proc/sys/kernel/modprobe
/proc/sys/kernel/modules_disabled
/proc/sys/kernel/msgmax
/proc/sys/kernel/msgmni
/proc/sys/kernel/msgmnb
/proc/sys/kernel/ngroups_max
/proc/sys/kernel/ostype
/proc/sys/kernel/osrelease
/proc/sys/kernel/overflowgid
/proc/sys/kernel/overflowuid
/proc/sys/kernel/panic
/proc/sys/kernel/panic_on_oops
/proc/sys/kernel/pid_max
/proc/sys/kernel/powersave-nap
/proc/sys/kernel/printk
/proc/sys/kernel/pty
/proc/sys/kernel/pty/max
/proc/sys/kernel/pty/nr
/proc/sys/kernel/random
/proc/sys/kernel/random/uuid
/proc/sys/kernel/randomize_va_space
/proc/sys/kernel/real-root-dev
/proc/sys/kernel/reboot-cmd
/proc/sys/kernel/rtsig-max
/proc/sys/kernel/rtsig-nr
/proc/sys/kernel/sched_rr_timeslice_ms
/proc/sys/kernel/sched_rt_period_us
/proc/sys/kernel/sched_rt_period_us
/proc/sys/kernel/sem
/proc/sys/kernel/sg-big-buff
/proc/sys/kernel/shm_rmid_forced
/proc/sys/kernel/shmall
/proc/sys/kernel/shmmax
/proc/sys/kernel/shmmni
/proc/sys/kernel/sysctl_writes_strict
/proc/sys/kernel/sysrq
/proc/sys/kernel/version
/proc/sys/kernel/threads-max
/proc/sys/kernel/yama/ptrace_scope
/proc/sys/kernel/zero-paged
/proc/sys/net
/proc/sys/net/core/bpf_jit_enable
/proc/sys/net/core/somaxconn
/proc/sys/proc
/proc/sys/sunrpc
/proc/sys/vm
/proc/sys/vm/compact_memory
/proc/sys/vm/drop_caches
/proc/sys/vm/legacy_va_layout
/proc/sys/vm/memory_failure_early_kill
/proc/sys/vm/memory_failure_recovery
/proc/sys/vm/oom_dump_tasks
/proc/sys/vm/oom_kill_allocating_task
/proc/sys/vm/overcommit_kbytes
/proc/sys/vm/overcommit_memory
/proc/sys/vm/overcommit_ratio
/proc/sys/vm/panic_on_oom
/proc/sys/vm/swappiness

N、其它

/proc/apm,文件,apm即Advanced Power Management,需要配置CONFIG_APM。
/proc/buddyinfo,文件,用于诊断内存碎片问题。
/proc/cmdline,文件,系统启动时传递给Linux内核的参数,如lilo、grub等boot管理模块。
/proc/config.gz,文件,内核编译配置选项,需要配置CONFIG_IKCONFIG_PROC。
/proc/crypto,文件,内核加密API提供的加密列表。
/proc/cpuinfo,文件,CPU和系统架构信息,lscpu命令使用这个文件。
/proc/devices,文件,设备相关信息。
/proc/diskstats,文件,磁盘状态。
/proc/dma,文件,dma即Direct Memory Access。
/proc/driver/rtc,文件,系统运行时配置。
/proc/execdomains,文件,执行域列表。
/proc/fb,文件,Frame Buffer信息,需要配置CONFIG_FB。
/proc/filesystems,文件,内核支持的文件系统类型(man filesystems)。
/proc/fs,目录,挂载的文件系统信息。
/proc/ide,目录,用于IDE接口。
/proc/interrupts,文件,每个CPU每个IO的中断信息。
/proc/iomem,文件,IO内存映射信息。
/proc/ioports,文件,IO端口信息。
/proc/kallsyms,文件,用于动态链接和和模块绑定的符号定义。
/proc/kcore,文件,系统中ELF格式的物理内存。
/proc/kmsg,文件,内核信息,dmsg命令使用这个文件。
/proc/kpagecount,文件,每个物理页帧映射的次数,需要配置CONFIG_PROC_PAGE_MONITOR。
/proc/kpageflags,文件,每个物理页帧的掩码,需要配置CONFIG_PROC_PAGE_MONITOR。
/proc/ksyms,文件,同kallsyms。
/proc/loadavg,文件,工作负荷。
/proc/locks,文件,当前文件锁的状态。
/proc/malloc,文件,需要配置CONFIG_DEBUG_MALLOC。
/proc/meminfo,文件,系统内存使用统计,free命令使用了这个文件。
/proc/modules,文件,系统加载的模块信息,相关命令为lsmod。
/proc/mounts,文件,链接到了/self/mounts。
/proc/mtrr,文件,Memory Type Range Registers。
/proc/partitions,文件,分区信息。
/proc/pci,文件,PCI接口设备。
/proc/profile,文件,用于readprofile命令作性能分析。
/proc/scsi,目录,SCSI接口设备。
/proc/scsi/scsi
/proc/scsi/[drivername]
/proc/self,目录,链接到了当前进程所在的目录。
/proc/slabinfo,文件,内核缓存信息,需要配置CONFIG_SLAB。
/proc/stat,文件,系统信息统计。
/proc/swaps,文件,使用的交换空间。
/proc/sysrq-trigger,文件,可写,触发系统调用。
/proc/sysvipc,目录,包括msg、sem、shm三个文件,为System V IPC对象。
/proc/thread-self,文件,链接到了当前进程下的task目录中的线程文件。
/proc/timer_list,文件,还在运行着的定时器列表。
/proc/timer_stats,文件,定时器状态。
/proc/tty,目录,tty设备相关。
/proc/uptime,文件,系统更新时间和进程空闲时间。
/proc/version,文件,内核版本信息。
/proc/vmstat,文件,内存统计信息,以键值对形式显示。
/proc/zoneinfo,文件,内存区块信息,用于分析虚拟内存的行为。

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
内容简介回到顶部↑ 本书同时收录了Linux领域两位领导人物的作品—相当于“Linux 文档项目”的一个印刷版本,展示了Linux 核心概念及其基本结构。对于面向所有主流Linux子系统的支持与管理任务,本书都进行了恰到好处的讲解。涵盖的主题包括文件系统、目录、引导和关机、打印、网络兼容性、网络应用、网络登录、安全、用户账号、数据备份等等。此外,还针对TCP/IP网络、电子邮件、硬件问题以及网络的管理与配置,进行了专门讨论。 目录回到顶部↑ 目 录 序 前言 第一部分 Linux网络管理员指南 第1章 网络基础 3 1.1 UUCP网络 3 1.2 TCP/IP网络 5 1.2.1 TCP/IP网络入门 5 1.2.2 以太网 6 1.2.3 其他类型的硬件 7 1.2.4 网际协议 8 1.2.5 串行线路网际协议 9 1.2.6 传输控制协议 9 1.2.7 用户数据报协议 10 1.2.8 端口问题 10 1.2.9 套接字库 10 1.3 连网 11 1.4 系统维护 11 1.5 后续章节提要 13 第2章 TCP/IP网络 14 .2.1 网络接口 14 2.2 IP地址 14 2.3 地址解析 15 2.4 IP路由 16 2.4.1 IP网络 16 2.4.2 子网 16 2.4.3 网关 16 2.5 路由表 17 2.6 Internet控制消息协议 18 2.7 域名系统 19 2.7.1 主机名解析 19 2.7.2 输入DNS 20 2.7.3 利用DNS进行名字查找 21 2.7.4 域名服务器 22 2.7.5 DNS数据库 22 2.7.6 逆向查找 23 第3章 网络硬件的配置 26 3.1 内核配置 27 3.1.1 内核选项1.0及以上版本 27 3.1.2 内核选项1.1.14及以上版本 27 3.2 网络设备指南 28 3.3 以太网安装 29 3.3.1 以太网接缆 29 3.3.2 已获支持的网卡 29 3.3.3 以太网自动侦测 30 3.4 PLIP驱动程序 31 3.5 SLIP和PPP驱动程序 31 第4章 串行硬件的设置 32 4.1 Modem通信软件 32 4.2 串行设备概述 32 4.3 访问串行设备 33 4.4 串行硬件 34 第5章 TCP/IP网络配置 36 5.1 proc文件系统的设置 36 5.2 二进制文件的安装 37 5.3 另一个例子 37 5.4 设置主机名 37 5.5 分配IP地址 37 5.6 编写主机和网络文件 39 5.7 IP接口配置 40 5.7.1 回送接口 40 5.7.2 以太网接口 41 5.7.3 通过网关的路由 43 5.7.4 网关的配置 43 5.7.5 PLIP接口 44 5.7.6 SLIP和PPP接口 45 5.7.7 伪接口 45 5.8 ifconfig详解 45 5.9 netstat详解 46 5.9.1 显示路由表 47 5.9.2 显示接口特性 47 5.9.3 显示链接 48 5.10 检查ARP表格 48 5.11 未来展望 50 5.12 名字服务和解析器配置 50 5.13 解析器库 50 5.13.1 host.conf文件 51 5.13.2 解析器环境变量 51 5.13.3 域名服务器查找 ——resolv.conf的配置 52 5.13.4 解析器的健壮性 53 5.14 named的运行 53 5.14.1 named.boot文件 53 5.14.2 DNS数据库文件 55 5.14.3 编写Master文件 57 5.14.4 验证域名服务器的设置 59 5.14.5 其他工具 61 第6章 串行链路网际协议 62 6.1 常规需求 62 6.2 SLIP的工作原理 62 6.3 dip的使用 63 6.4 运行于服务器模式 68 第7章 点到点协议 69 7.1 PPP打开 69 7.2 运行pppd 70 7.3 使用选项文件 71 7.4 用chat拨出 71 7.5 PPP设置的调试 73 7.6 IP配置选项 73 7.6.1 IP地址的选择 73 7.6.2 通过PPP链路的路由 74 7.7 链路控制选项 75 7.8 常规安全问题 76 7.9 PPP身份验证 76 7.9.1 CHAP和PAP 76 7.9.2 CHAP密钥文件 77 7.9.3 PAP密钥文件 78 7.10 PPP服务器的配置 79 第8章 各种网络应用 80 8.1 inetd超级服务器 80 8.2 tcpd访问控制工具 81 8.3 服务和协议文件 83 8.4 远程过程调用 84 8.5 r命令的配置 86 第9章 网络信息系统 88 9.1 NIS概述 89 9.2 NIS与NIS+之比较 90 9.3 NIS的客户端 90 9.4 NIS服务器的运行 91 9.5 用NYS设置一个NIS客户机 91 9.6 挑选合适的映射 93 9.7 使用passwd和group映射 94 9.8 NIS与影子支持 95 9.9 使用传统的NIS代码 96 第10章 网络文件系统 97 10.1 NFS的准备工作 98 10.2 NFS卷的安装 98 10.3 NFS Daemon 100 10.4 导出文件 100 10.5 自动安装器 102 第11章 泰勒式UUCP 103 11.1 关于UUCP 103 11.1.1 UUCP传输和远程作业的执行 104 11.1.2 UUCICO的内部运行 104 11.1.3 UUCICO命令行选项 105 11.2 UUCP配置文件 105 11.2.1 泰勒式UUCP简介 105 11.2.2 UUCP需要知道些什么 107 11.2.3 站点的命名 107 11.3 泰勒式配置文件 108 11.3.1 常规配置选项:config文件 108 11.3.2 如何将其他的系统 告知UUCP:sys文件 108 11.3.3 设备:端口文件 110 11.3.4 如何拨号:拨号文件 111 11.3.5 TCP上的UUCP 112 11.3.6 直接连接的使用 112 11.4 UUCP的注意事项:调节权限 112 11.4.1 命令执行 112 11.4.2 文件传输 112 11.4.3 文件转发 113 11.5 如何设置拨入 113 11.5.1 设置getty 113 11.5.2 提供UUCP账号 114 11.5.3 预防措施 115 11.5.4 呼叫序列号检查 115 11.5.5 匿名UUCP 116 11.6 UUCP低级协议 116 11.6.1 协议概述 116 11.6.2 传输协议的调节 117 11.6.3 如何选定特殊协议 117 11.7 故障排除 117 11.8 日志文件 118 第12章 电子邮件 120 12.1 何谓邮件消息 121 12.2 邮件如何发送 122 12.3 邮件地址 123 12.4 邮件路由的工作原理 124 12.4.1 因特网上的邮件路由 124 12.4.2 UUCP网络内的邮件路由 124 12.4.3 UUCP和RFC-822 125 12.5 路径别名和映射文件格式 126 12.6 elm的配置 128 12.6.1 全局elm选项 128 12.6.2 国家特有字符集 129 第13章 smail的设置和运行 130 13.1 UUCP的设置 130 13.2 在局域网环境中的设置 132 13.2.1 编写配置文件 132 13.2.2 运行smail 133 13.3 故障排除 134 13.4 邮件投递模式 135 13.5 其他配置选项 136 13.6 消息路由和投递 136 13.7 消息的路由 137 13.8 将消息投递至本地地址 139 13.8.1 本地用户 139 13.8.2 转发 140 13.8.3 别名文件 140 13.8.4 邮件列表 141 13.9 以UUCP为基础的传输 141 13.10 以SMTP为基础的传输 141 13.11 主机名的限制 142 第14章 Sendmail+IDA指南 143 14.1 配置文件综述 143 14.2 sendmail.cf文件 144 14.3 Sendmail+IDA表格指南 146 14.3.1 mailertable 146 14.3.2 uucpxtable 146 14.3.3 pathtable 147 14.3.4 domaintable 147 14.3.5 别名 147 14.4 sendmail的安装 147 14.4.1 sendmail.cf文件的建立 148 14.4.2 sendmail.cf文件的测试 148 14.4.3 对sendmail.cf和表格 进行综合测试 148 14.5 邮件的操作技巧 148 14.5.1 向中转主机转发邮件 149 14.5.2 强制邮件进入配置不当的 远程站点 149 14.5.3 强制邮件通过UUCP进行传输 149 14.5.4 防止邮件通过UUCP进行传输 149 14.5.5 按需运行sendmail队列 149 14.5.6 报告邮件特征 150 14.6 二进制附件的合成和匹配 150 14.7 获取更多的信息 150 第15章 网络新闻 151 15.1 何谓Usenet 151 15.2 Usenet如何对新闻加以控制 152 第16章 C-News 154 16.1 新闻投递 154 16.2 安装 155 16.3 sys文件 156 16.4 active文件 158 16.5 新闻组文章的批处理 159 16.6 对新闻进行过期处理 161 16.7 其他文件 163 16.8 控制消息 164 16.8.1 cancel消息 164 16.8.2 newgroup和rmgroup消息 165 16.8.3 checkgroups消息 165 16.8.4 sendsys、version和senduuname 166 16.9 NFS环境中的C-News 166 16.10 维护工具及任务 167 第17章 NNTP简介 168 17.1 NNTP服务器的安装 169 17.2 限制NNTP访问权限 169 17.3 NNTP身份验证 170 17.4 nntpd与C-News的沟通 171 第18章 新闻阅读机的配置 172 18.1 tin配置 172 18.2 trn配置 173 18.3 nn配置 174 第19章 其他问题 176 19.1 PLIP的空打印机电缆 176 19.2 示范smail配置文件 176 第二部分 Linux系统管理员指南 作者简介 本书简介 前言 第1章 Linux系统综述 189 1.1 操作系统的各个组件 189 1.2 内核的重要组件 189 1.3 Unix系统提供的主要服务 190 1.3.1 init 190 1.3.2 从终端登录 191 1.3.3 syslog 191 1.3.4 周期性执行的命令:cron和at 191 1.3.5 图形化用户接口 191 1.3.6 连网 191 1.3.7 网络登录 192 1.3.8 网络文件系统 192 1.3.9 邮件 192 1.3.10 打印 192 1.3.11 文件系统布局 193 第2章 目录树简介 194 2.1 背景知识 194 2.2 root文件系统 195 2.3 /etc文件系统 196 2.4 /dev文件系统 198 2.5 /usr文件系统 198 2.6 /var文件系统 198 2.7 /proc文件系统 199 第3章 磁盘和其他存储媒体的使用 201 3.1 两类设备 201 3.2 硬盘 202 3.3 软盘 204 3.4 CD-ROM 204 3.5 磁带 205 3.6 格式化 206 3.7 分区 207 3.7.1 主引导记录、引导扇区和分区表 207 3.7.2 扩展和逻辑分区 208 3.7.3 分区类型 209 3.7.4 对硬盘进行分区 209 3.7.5 设备文件和分区 210 3.8 文件系统 210 3.8.1 何谓文件系统 210 3.8.2 文件系统综述 211 3.8.3 如何选用文件系统 212 3.8.4 如何建立文件系统 212 3.8.5 装入和卸装 214 3.8.6 利用fsck检查文件系统的完整性 216 3.8.7 利用badblocks检查磁盘错误 217 3.8.8 抵制碎片 217 3.8.9 适用于所有文件系统的其他工具 217 3.8.10 适用于ext2文件系统的其他工具 218 3.9 无文件系统的磁盘 219 3.10 磁盘空间的分配 219 3.10.1 分区方案 219 3.10.2 空间要求 220 3.10.3 硬盘分区示例 220 3.10.4 为Linux增添更多磁盘空间 221 3.10.5 关于节省磁盘空间的几个提示 221 第4章 内存管理 222 4.1 何谓虚拟内存 222 4.2 创建交换空间 222 4.3 交换空间的使用 223 4.4 与其他操作系统共享交换空间 224 4.5 交换空间的分配 224 4.6 缓冲区 225 第5章 引导和关机 227 5.1 概论 227 5.2 深入研究引导过程 227 5.3 关机详情 229 5.4 重新启动 230 5.5 单用户模式 230 5.6 应急盘 231 第6章 init 232 6.1 init的重要作用 232 6.2 通过init启动getty:/etc/inittab文件 232 6.3 运行级别 233 6.4 /etc/inittab中的特殊配置 234 6.5 在单用户模式下引导 234 第7章 登录和注销 236 7.1 通过终端登录 236 7.2 通过网络登录 237 7.3 登录的意义 237 7.4 访问控制 238 7.5 外壳的启动 238 第8章 用户账号的管理 239 8.1 何谓账号 239 8.2 创建用户 239 8.2.1 /etc/passwd和其他的信息性文件 239 8.2.2 如何选择数字式用户和组ID 240 8.2.3 初始化环境:/etc/skel 240 8.2.4 手工创建一个用户 240 8.3 更改用户属性 241 8.4 删除用户 241 8.5 临时禁用用户 242 第9章 备份 243 9.1 备份的重要性 243 9.2 选择备份媒体 243 9.3 选择备份工具 244 9.4 简单备份 244 9.4.1 如何利用tar进行备份 245 9.4.2 如何利用tar恢复文件 246 9.5 多级备份 247 9.6 要备份什么 248 9.7 压缩备份 248 第10章 时间同步 250 10.1 时区概论 250 10.2 硬件及软件时钟 250 10.3 时间的显示与设置 251 10.4 时间有误怎么办 252 第三部分 附 录 附录A 词汇表 255 附录B Linux 文档项目复制许可证 256 附录C GNU通用公共许可证 257

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的代码UP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值