Linux基础知识之:目录结构和权限问题介绍

来源:互联网 发布:cp雾化器二代做芯数据 编辑:程序博客网 时间:2024/05/01 18:51

1.Linux 标准目录结构



/    ( 根目录)

  • root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。
  • home --- 存储普通用户的个人文件
    • ftp --- 用户所有服务
    • httpd
    • samba
    • user1
    • user2
  • bin --- 系统启动时需要的执行文件(二进制)
  • sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行
  • proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息
    • 1 --- 进程编号
  • usr --- 用户目录,存放用户级的文件
    • bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin
    • sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序
    • include ---  存放C/C++头文件的目录
    • lib --- 固定的程序数据
    • local --- 本地安装软件保存位置
    • man --- 手工生成的目录
    • info --- 信息文档
    • doc --- 不同包文档信息
    • tmp
    • X11R6 ---  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
    • X386 --- 功能同X11R6,X11 发行版5 的系统文件
  • boot --- 引导加载器所需文件,系统所需图片保存于此
  • lib --- 根文件系统目录下程序和核心模块的公共库
    • modules --- 可加载模块,系统崩溃后重启所需模块
  • dev --- 设备文件目录
  • etc --- 配置文件
    • skel --- home目录建立,该目录初始化
    • sysconfig --- 网络,时间,键盘等配置目录
  • var
    • file
    • lib --- 该目录下的文件在系统运行时,会改变
    • local --- 安装在/usr/local的程序数据,变化的
    • lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问
    • log --- 记录日志
    • run --- 系统运行合法信息
    • spool --- 打印机、邮件、代理服务器等假脱机目录
    • tmp
    • catman --- 缓存目录
  • mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。
  • tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp
  • lost+found --- 在文件系统修复时恢复的文件

 

/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

/bin:/usr/bin:执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

注:/etc/X11存放与x windows有关的设置。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found

/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间


来源: http://www.cnblogs.com/Bob-FD/archive/2012/07/12/2588233.html


用户和用户组问题:

1).怎么查看当前用户所属的组?


groups <user1> <user2> <user3> 

查看<user1>, <user2> 和 <user3>所属的组


2).在Linux中,用什么命令可以查看到用户组中包含有哪里用户?

具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件;在本标题下,您还能了解到什么是GID ;

1、/etc/group 解说;

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;

用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,

2、/etc/group 内容具体分析

/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

group_name:passwd:GID:user_list

在/etc/group 中的每条记录分四个字段:

第一字段:用户组名称;

第二字段:用户组密码;

第三字段:GID

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

我们举个例子:

root:x:0:root,linuxsir 注:用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root、linuxsir以及GID为0的其它用户(可以通过 /etc/passwd查看);;beinan:x:500:linuxsir 注:用户组beinan,x是密码段,表示没有设置密码,GID是500,beinan用户组下包括linuxsir用户及GID为500的用户(可以通 过/etc/passwd查看);linuxsir:x:502:linuxsir 注:用户组linuxsir,x是密码段,表示没有设置密码,GID是502,linuxsir用户组下包用户linuxsir及GID为502的用户 (可以通过/etc/passwd查看);helloer:x:503: 注:用户组helloer,x是密码段,表示没有设置密码,GID是503,helloer用户组下包括GID为503的用户,可以通过 /etc/passwd查看;


使用参考:

http://www.cnblogs.com/end/archive/2011/05/25/2057129.html


http://linuxme.blog.51cto.com/1850814/347086/


3. 权限问题


chmod 命令

    chmod 命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目

录的访问权限。
    该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字
的数字设定法。

       1). 文字设定法   --还是这个方式比较适合操作
    chmod  [who] [+ | –| =] [mode]文件名

    命令中各选项的含义为:
    操作对象who可是下述字母中的任一个或者它们的组合:
    u 表示”用户(user)”,即文件或目录的所有者。
    g 表示”同组(group)用户”,即与文件属主有相同组ID的所有用户。
    o 表示”其他(others)用户”。
    a 表示”所有(all)用户”。它是系统默认值。

    操作符号可以是:
    + 添加某个权限。
    - 取消某个权限。
    = 赋予给定权限并取消其他所有权限(如果有的话)。
    设置mode所表示的权限可用下述字母的任意组合:
    r 可读。
    w 可写。
    x 可执行。


   2).数字方式

改变一个文件的权限: chmod mode file|dir
改变所有子目录的权限: chmod mode dir -R                  注意后面加了个-R参数
参数就是权限模式 mode = 777 or 752 ,666,,,
mode 的三个数字,分别表示owner,group,others所具有的权限。
1 = x 执行 2 = w 写 4 = r 读,比如owner具有所有权限,1+2+4=7,
又比如group 具有读 和执行权限 1+4 = 5

常用修改权限的命令:

sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)

sudo chmod 666 ××× (每个人都有读和写的权限)

sudo chmod 777 ××× (每个人都有读和写以及执行的权限)


另外一个很像的就是chown命令


指令名称 : chown     使用权限 : root 
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file… 
利用chown可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。  参数: 
-c或-change:作用与-v相似,但只传回修改的部分 
-f或–quiet或–silent:不显示错误信息 
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件 
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理  -v或–verbose:显示指令执行过程  –dereference:作用和-h刚好相反  –help:显示在线说明 
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同  –version:显示版本信息
chown命令使用举例:(像我用的vps,就要先ssh登录) # chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]


eg:把dr.com的目录的所有者改为root

首先:

wisdom@wisdom-HP:~/Documents$ ls  -l

drwx------  8 wisdom wisdom 4096  3月 27 09:28 dr.com


执行:

wisdom@wisdom-HP:~/Documents$ sudo chown -c root dr.com/


再次查看:
wisdom@wisdom-HP:~/Documents$ ls -l

drwx------  8 root   wisdom 4096  3月 27 09:28 dr.com




 

0 0
原创粉丝点击