- 浏览: 96049 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
snow8261:
new的对象,满足逃逸分析的不会逃逸的对象才会放在栈里,其他都 ...
Java中栈溢出解决办法 -
Champion_93:
...
滚动图片,滚动文字,滚动任何东西 -
jojo_java:
wzq110120 写道哈哈,,,,w3c的例子
呵呵,是呀
xml+css显示数据 -
wzq110120:
哈哈,,,,w3c的例子
xml+css显示数据 -
jojo_java:
鸟哥哥 写道jojo_java 写道鸟哥哥 写道怎么可能
? ...
禁止查看源文件
目录
目录在文件类型上用d标识
用“/”分隔目录层
Linux操作系统都有且仅有一个起始目录,我们用一个单独的“/”来表示,称其为根目录
对每一个shell和操作环境,都有一个当前工作目录
[root@bogon home]# ls -ld test
drwxr-xr-x 2 root root 4096 Jun 9 05:02 test
.文件和..文件
在每一个目录下面都有一个.文件和一个..文件
.文件是对当前目录的一个硬链接
..文件是对上级目录的一个硬链接
[root@bogon test]# ll -a
total 16
drwxr-xr-x 2 root root 4096 Jun 9 05:02 .
drwxr-xr-x 4 root root 4096 Jun 9 05:04 ..
目录与权限
目录也是一种文件
目录上的读写执行权限与普通文件有所不同:
1) 读:用户可以读取目录内的文件
2) 写:单独使用没有作用,与执行权限链接可以在目录内添加与删除文件
3) 执行:用户可以进入目录,调用目录内的资料,修改可见文件的内容
强制位与冒险位
除了读写执行权限以外,ext2文件系统还支持强制位(setuid和setgid)与冒险位(sticky)的特表权限。
针对u、g、o分别有 set uid、set gid和sticky
强制位与冒险位添加在执行权限的位置上。如果该位置上已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。
set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t
set gid对目录的作用
默认情况下,用户建立的文件属于用户当前所在的组。
目录上设置了set gid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。
示例:在未设置gid的情况下
[root@bogon home]# mkdir test
[root@bogon home]# ls -ld test
drwxr-xr-x 2 root root 4096 Jun 9 06:05 test
[root@bogon home]# chgrp jojo test
[root@bogon home]# ls -ld test
drwxr-xr-x 2 root jojo 4096 Jun 9 06:05 test
[root@bogon home]# echo "hello world" > test/test1.txt
[root@bogon home]# ls -ld test/test1.txt
-rw-r--r-- 1 root root 12 Jun 9 06:08 test/test1.txt
示例:设置test目录的gid:
[root@bogon home]# chmod g+s test
[root@bogon home]# ls -ld test
drwxr-sr-x 2 root jojo 4096 Jun 9 06:10 test
示例:在设置gid的目录下创建文件
[root@bogon test]# ls -l
total 8
-rw-r--r-- 1 root root 12 Jun 9 06:08 test1.txt
[root@bogon test]# mkdir test2.txt
[root@bogon test]# ll
total 16
-rw-r--r-- 1 root root 12 Jun 9 06:08 test1.txt
drwxr-sr-x 2 root jojo 4096 Jun 9 06:18 test2.txt
冒险位对目录的作用
默认情况下,如果一个目录上有w和x权限,则任何人可以在此目录中建立与删除文件。
一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录拥有者与系统管理员可以删除文件。
[root@bogon /]# ls -ld tmp
drwxrwxrwt 7 root root 4096 Jun 9 05:53 tmp
设置冒险位:
[root@bogon home]# ls -ld test
drwxr-sr-x 3 root jojo 4096 Jun 9 06:18 test
[root@bogon home]# chmod o+t test
[root@bogon home]# ls -ld test
drwxr-sr-t 3 root jojo 4096 Jun 9 06:18 test
强制位对文件的作用
在可执行文件上,用户可以添加set uid和set gid
默认情况下,用户执行一个指令,会以该用户的身份来运行程序。(文件设置了uid,则任何人执行该文件都会以所属的user执行)
指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程
Set uid 示例:
[root@bogon home]# which ping
/bin/ping
[root@bogon home]# ls -l /bin/ping
-rwsr-xr-x 1 root root 35864 Mar 15 2007 /bin/ping
可以看到,ping指令是设置了uid的。切换到另外一个用户执行ping命令,发现是可以执行该命令的。然后我们去除掉ping的set uid。
[root@bogon home]# chmod u-s /bin/ping
[root@bogon home]# ls -l /bin/ping
-rwxr-xr-x 1 root root 35864 Mar 15 2007 /bin/ping
如果我们再切换到其他用户执行ping命令,就会报如下错误:
ping: icmp open socket: Operation not permitted
原来icmp包只能给root用户调用,因此只有设置了set uid之后,其他用户执行该执行就相当于root用户执行该指令。再次设置uid之后,其他用户也可以执行了:
[root@bogon home]# chmod u+s /bin/ping
[root@bogon home]# su jojo
[jojo@bogon home]$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.286 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.103 ms
另外还有很多其他指令是设置了uid的,例如passwd:
[jojo@bogon home]$ which passwd
/usr/bin/passwd
[jojo@bogon home]$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 22984 Jan 7 2007 /usr/bin/passwd
设置强制位与冒险位
用户可以使用chmod指令来为文件设置强制位与冒险位。
l set uid:chmod u+x 文件名
l set gid:chmod g+x 文件名
l sticky:chmod o+t 文件名
强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数前来指定
l 4 (set uid)
l 2 (set gid)
l 1 (sticky)
Ps:
Set gid 可以在目录上设定,也可以在文件上设定
Set uid 只能在文件上设定
Sticky 只能在目录上设定
Umask(文件权限掩码)
每个用户建立文件时,此文件都会有默认权限,默认权限的值由环境中的umask值来确定。
用户可以自主改动umask,并在改动后的文件上得到体现。
一般用户的默认umask值为002,系统用户的默认umask位022。
[root@bogon home]# umask
0022
[root@bogon home]# su jojo
[jojo@bogon home]$ umask
0002
理想情况下,在Linux系统中创建文件或目录的默认权限如下:
文件:rw_rw_rw_
目录:rwxrwxrwx
[root@bogon home]# mkdir test
[root@bogon home]# ls -ld test
drwxr-xr-x 2 root root 4096 Jun 13 21:37 test
上面是用root用户建立一个test目录,但是我们看到他的权限是rwx_r-x_r-x,而不是rwxrwxrwx,这是为什么呢?
因为root用户的默认掩码为:022,文件的真实权限是:(理想权限-文件权限掩码)即:(7-0,7-2,7-2)
修改用户的umask,并新建目录:
[root@bogon home]# umask 003
[root@bogon home]# mkdir test
[root@bogon home]# ls -ld test
drwxrwxr-- 2 root root 4096 Jun 13 21:55 test
其他用户修改umask,并创建目录:
[jojo@bogon ~]$ umask 000
[jojo@bogon ~]$ mkdir test
[jojo@bogon ~]$ ls -ld test
drwxrwxrwx 2 jojo jojo 4096 Jun 13 21:57 test
根目录下的目录
1) /bin:存储常用用户指令
2) /boot:存储核心、模块映像等启动文件
3) /dev:存储设备文件
4) /etc:存储系统、服务的配置目录与文件
5) /home:存放个人主目录
6) /lib:存放库文件,诸如核心模块、驱动
7) /lost+found:存储fsck用的孤儿文件
8) /mnt:系统加载文件系统时用的常用挂载点
9) /opt:第三方工具使用的安装目录
10) /proc:虚拟文件系统,包含系统通讯等资料(在内存中)
11) /root:root用户的主目录
12) /sbin:存储系统管理用指令
13) /tmp:临时文件的暂存点
14) /usr:存放于用户直接相关的文件与目录
15) /var:存储在系统运行中可能会更改的数据
发表评论
-
fedora9上安装mysql5.0
2010-07-01 22:01 889幻影的博客:http://chen.wenz.blog.163 ... -
Linux下重启网络服务
2009-12-03 22:50 3299在更改ip后,如果没有重启服务,实际上是不发生变化的(我以前的 ... -
完美解读Linux中文件系统的目录结构
2009-12-02 22:39 1088一、前 言 接 ... -
关于Linux文件系统的疑惑
2009-12-02 21:44 861windows下不是有CDEF盘麻,我系统装在C盘里面,自己的 ... -
CentOS5下安装fctix输入法
2009-11-28 14:25 15481.下载fcitx-3.0.2-1.i386.rpm安装包 ... -
CentOS5下安装gcc
2009-11-24 21:29 1307在光盘中找到如下安装包,按顺序安装。 kernel-head ... -
gcc 入门
2009-11-24 21:05 839在为Linux开发应用程序时,绝大多数情况下使用的都是C语言, ... -
Linux-CentOS 5 中文乱码解决
2009-10-24 03:16 2945昨天晚上闲来无事在VmWare上安装了一个Linux虚拟机,在 ... -
32位与64位的区别
2009-10-11 21:02 1796如果你的“支持64位”指支持64位的可执行文件或者“支持64位 ... -
文件查找与文件管理
2009-07-15 22:45 1009可执行文件的搜索 l Which [root@bog ... -
Linux中的过滤器,输入,输出,管道
2009-07-12 19:18 1619Linux中的应用工具分为三种: l 交互工具 l ... -
Linux中的文件系统
2009-06-08 20:52 944检查文件 用ls –l 以长模式查看文件详细信息,显示的 ... -
VMware三种工作模式(Bridged ,host-only,NAT)
2009-06-07 11:42 1403首先声明一下: 这篇文章是抄袭的,但是具体在哪里抄袭的,鄙人 ... -
查看系统属性的一些命令
2009-06-03 22:18 884DirectX查看器:开始 运行 输入dxdiag 控制台: ... -
VI编辑器使用
2009-04-06 22:21 843Vi的模式 Normal Model:命 ... -
Linux基本命令
2009-04-06 20:18 947创建用户useradd [用户名] ...
相关推荐
一些有用的Linux目录。Linux根目录”/“下各个系统文件夹的含义和用途--/boot 该目录默认下存放的是Linux的启动文件和内核。
6. `/lib`:包含系统运行所需的共享库文件,这些库文件支持/bin和/sbin目录中的可执行文件。 7. `/sbin`:存放超级用户(root)使用的系统管理工具和命令。 8. `/tmp`:临时文件的存储区域,系统重启时通常会被...
Linux目录结构 详解
Linux目录解释 Linux目录解释 Linux目录解释 Linux目录解释
Linux 目录树结构详解 Linux 操作系统的目录树结构是 Linux 文件系统的核心组成部分,了解 Linux 目录树结构对于 Linux 操作系统的使用和管理至关重要。下面将详细介绍 Linux 目录树结构的各个组成部分及其作用。 ...
7. Linux目录结构: 在Linux系统中,“/”是根目录,下一级目录包括诸如/bin、/boot、/dev、/etc、/home、/lib、/proc、/root、/tmp、/usr、/var等,各自承载着不同的功能和用途。例如,/bin目录存放标准的用户命令...
### Linux操作系统中的文件目录结构详解 #### 一、概述 Linux作为一款强大的开源操作系统,其文件目录结构的设计具有高度的逻辑性和层次性。对于初学者来说,了解Linux的基本目录结构至关重要,这不仅能帮助用户更...
本程序可实时监控linux下的一个目录,当目录中有新文件产生时本程序会进行简单的统计。另外把该程序写成服务chkpicd,把该程序放到/etc/init.d目录下即可,使用命令:service chkpic start/stop可控制服务开启/关闭。
使用 du -h -x --max-depth=1 命令可以查看占用高的目录,对于占用高的目录中的内容可以适当删减腾出一些空间。从输出结果中可以看到 opt 目录占用过大,可以在 opt 中清理一些文件释放一些空间。 四、CentOS 7 ...
这是一个用于获取指定目录下所有文件的信息的C++代码, 是用于linux系统的
例如,如果需要安装某个新的软件包,通常会放在/usr目录下的某个子目录中。如果需要调整系统的某个参数,该参数的配置文件很可能位于/etc目录中。对于系统管理员来说,了解如何合理地组织和管理这些目录下的文件和...
然而,随着系统的使用,目录中的文件会不断增加,占用大量的磁盘空间,影响系统的性能。这时,我们需要对目录进行扩容和缩减,以释放磁盘空间,提高系统的性能。 title:Linux 根目录扩容 Linux 根目录是 Linux ...
Linux 文件与目录管理是 Linux 系统中非常重要的一部分。文件和目录是计算机系统中存储和组织数据的基本单位。在 Linux 系统中,文件和目录是通过路径来定位和管理的。 Absolute Path 和 Relative Path ----------...
在 Linux 操作系统中,目录结构是树形结构,根目录是最高级别的目录,下面是子目录,子目录下面是孙目录,以此类推。目录的基本操作包括创建、删除、复制、移动和重命名等。 文件的基本操作包括创建、删除、复制、...
linux 下实现目录文件的拷贝 关键是拷贝目录函数 用的是递归
6. **网络编程**:Linux内核中的网络协议栈,包括TCP/IP协议族的实现,网络数据包的接收和发送,以及套接字API的底层实现。 7. **系统调用**:内核提供了一套系统调用接口供用户空间程序使用,如open、read、write...
linux目录结构图解,linux目录结构图解,linux目录结构图解
linux系统各个目录的含义
Linux目录结构遵循着统一的Filesystem Hierarchy Standard(FHS),对系统中的各目录和文件进行了标准化的规定。正确理解Linux目录的作用,有助于更好地使用Linux系统 Linux目录结构遵循着统一的Filesystem Hierarchy ...
2. **熟悉Linux下的目录和文件命令**:学习并实践Linux系统中常用的文件和目录操作命令,包括但不限于`cd`(切换目录)、`ls`(列出目录内容)、`mkdir`(创建目录)、`pwd`(显示当前工作目录)、`find`(查找文件...