1 2015.12.24/Thu 2 3 *************摘要************** 4 ACL主机的细部权限规划 ACL getfacl setfacl 5 attr文件与目录的隐藏属性 attr lsattr chattr 6 文件系统 P196 ext2/3/4 xfs 7 目录树 8 软硬连结 ln 9 指令和文件的搜索 which whereis locate find /var/lib/mlocate/mlocate.db 10 11 ?如何查看软链接文件在磁盘上存放的真实信息? 12 13 **********ACL权限概念********** 14 ACL:Access Control List 缩写,UGO的rwx权限以外的细部权限设置。 15 ACL 可以针对单一用户,单一文件,单一目录r,w,x 的权限规范 16 针对几个项目: 17 1)使用者 (user):可以针对使用者设定权限 18 2)群组 (group):针对群组为对象杢设定权限 19 3)默认属性 (mask):还可以针对在该目录下在建立新档案/目录时,规范新数据的默认权限 20 作用: 21 和windows连用时使用 22 23 **********ACL权限相关命令********** 24 1.getfacl:取得文件/目录的 ACL设定内容 25 getfacl filename 26 27 2.setfacl:训定文件/目录的ACL规范 28 setfacl [-bkRd] [{-m|-x} acl 参数] 目标文件名 29 选项与参数: 30 -m :设置acl参数 31 -x :删除acl参数 32 -b :删除所有acl参数 33 -k :删除预训的acl参数 34 -R :递归设置acl 35 -d :设置『预设acl参数』只对目录有效,在该目录新建的数据会引用 36 命令格式: 37 『 u:[使用者账号列表]:[rwx] 』<==针对特定用户 38 『 g:[群组列表]:[rwx] 』<==针对特定用户组 39 『 m:[rwx] 』<==针对有效权限 mask 40 『 d:[ug]:使用者列表:[rwx] 』 针对预设权限,属性将继承到次目录 41 42 43 **********attr权限相关命令********** 44 1.chattr:配置文件案隐藏属性 45 属性设置常见的是 a 和 i 的设定,必须要root身份 46 chattr [+-=][ASacdistu] 文件/目录 47 选项与参数: 48 + :增加 49 - :移除 50 = :设定为 51 A :访问时间atime不修改,对速度较慢计算机有帮助 52 S :『同步』写入磁盘 53 a :只能增加数据,不能删除/修改数据(root) 54 c :自动『压缩』,读取时自动解压缩, 55 d :不被dump备份 56 i :以下操作不可执行:『删除、改名、设置连结、写入、新增资料』(root) 57 s :彻底删除,无法挽回 58 u :与s相反,删除可挽回 59 60 2.lsattr: 61 lsattr [-adR] 文件/目录 62 选项与参数: 63 -a :显示隐藏文件的属性 64 -d :仅列出目录本身属性 65 -R :连同子目录 66 67 68 69 **********文件系统********** 70 1.用户空间\内核空间\硬件的相关概念 71 用户空间和内核空间交互 72 内核空间和硬件交互 73 目录:路径的映射 74 用户空间:应用程序,shell等等 75 内核空间:内核,会调用某些模块 76 硬件:cpu,sata,ide,pci... 77 78 2.文件系统的概念 79 文件系统:是在磁盘上组织文件的方式,属于内核空间的概念 80 格式化操作本身就是创建文件系统的操作 81 82 文件系统的类型: 83 TAT 84 NTFS 85 EXT2/EXT3 86 EXT4(redhat 6) 87 XFS(redhat 7) 88 (reiserfs) 89 90 传统文件系统:ext2/minix/MS-DOS/FAT(用 vfat 模块)/iso9660 (光盘)等等; 91 日志式文件系统:ext3/ReiserFS/Windows‘ NTFS /IBM‘s JFS /SGI‘s XFS 92 网络文件系统:NFS/SMBFS Linux VFS (Virtual Filesystem Switch) 93 94 ls -l /lib/modules/$(uname -r)/kernel/fs<==查看系统支持的文件系统 95 [[email protected] ~]# ls /lib/modules/$(uname -r)/kernel/fs 96 autofs4 exportfs jbd nls 97 btrfs ext2 jbd2 squashfs 98 cachefiles ext3 jffs2 ubifs 99 cifs ext4 lockd udf 100 configfs fat mbcache.ko xfs 101 cramfs fscache nfs 102 dlm fuse nfs_common 103 ecryptfs gfs2 nfsd 104 105 /proc/filesystems<==系统目前已加载到内存中支持的文件系统 106 107 108 109 110 3.文件系统的结构 111 1)super block:用来存放group的相关信息 112 2)inode:存放文件属性的相关信息,一个文件对应一个inode 113 3) block:存放文件世纪内容的块 114 dumpe2fs:查看ext2/3/4文件系统的相关信息 115 hd:IDE 116 sd:SATA\SCSI 117 vd:虚拟硬盘 118 119 ls -i initial-setup-ks.cfg 查看inode号码 120 dumpe2fs /dev/sda 查看EXT2/3/4文件系统的详细信息 121 xfs_info /dev/sda 查看XFS文件系统的详细信息 122 123 4.文件系统的区别 124 EXT4并不向下兼容ext2/3 125 XFS针对海量小文件的存储及超大文件的存储有一些有时,但EXT系统相对稳定 126 127 128 **********目录树********** 129 redhat6 130 bin 用户能够使用的相关命令 131 boot 系统启动时所需的文件 132 dev 设备文件放置的位置 133 etc 配置文件放置的位置 134 home 普通用户的家目录默认位置 135 lib lib64 库文件存放的位置(非常重要) 136 lost+found 文件意外丢失,恢复时,给的数字签名文件 137 media mnt 系统提供的挂载目录 138 misc net automount用到的目录 139 opt 第三方应用程序放置的位置 140 proc 『虚拟文件系统(virtual filesystem)』存放系统核心、进程信息(process)、周边装置的状态及网络状态等。较重要的档案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts,/proc/ioports, /proc/net/* 等等。 141 root root用户的家目录 142 srv 保留待用的目录 网络服务所提供的文件放置位置 143 sbin 只有root用户才能使用的命令放置的位置 144 selinux 强制性的权限 145 sys 系统信息的存放位置 跟/proc非常类似,虚拟的文件系统,主要记录与核心相关的信息。包括目前已加载的核心模块、核心侦测到的硬件装置信息等等。不占硬盘容量 146 tmp 临时文件存放的位置 147 usr 用户公共配置信息文件放置位置 148 var 动态变化的数据存放位置 149 150 **********链接文件********** 151 1.作用:同时控制多个文件 152 2.分类:硬链接,软链接 153 3.硬链接: 154 创建方式:ln file hard-file 155 特征: 156 1)无法区分源文件和链接文件,其所有属性相同,使用的是相同的inode和block 157 2)每增加一个硬链接,硬链接技术器+1 158 3)修改其中任意一个文件,其余所有文件内容都会被修改 159 4)不能针对目录做操作 160 5)不能跨文件系统 161 6)删除其中任意一个文件,对文件本身没有影响,知道文件全部被删完 162 4.软链接: 163 创建方式:ln -s file soft-file 164 注意:创建时,写绝对路径,不然容易出错 165 特征: 166 1)使用的时不同的inode和不同的block,软链接文件里的block记录的时指向源文件的路径 167 2)修改源文件,对链接文件没有影响 168 3)软链接文件的权限是777 169 4)ls -l 可以看到软链接文件的源文件在哪里 170 5)软链接可以针对目录作操作 171 6)软链接可以跨文件系统 172 7)删除源文件会导致所有软链接失效,删除软链接对源文件没有任何影响。 173 174 5.ln 175 ln [-sf] 来源文件 目标文件 176 选项与参数: 177 -s :没有参数是 hard link, -s 就 symbolic link 178 -f :如果目标文件存在时,就主动将目标文件直接移除后再建立 179 180 181 **********指令和文件的搜索********** 182 1. 肉眼查找:ls -R 183 1. 指令的搜寻:which 184 which [-a] command 185 选项与参数: 186 -a :将所有由 PATH 目录中可以找到的指令均列出 187 :只显示第一个找到的 188 注意: 189 1)系统内建命令找不到,type查看 190 2)alias命令别名 191 2. 文件名的搜寻:whereis, locate, find 192 whereis [-bmsu] [-BMS directory...-f] filename.. 193 选项与参数: 194 -b :只寻找 binary二进制 格式的文件 195 -m :只寻找在 说明文件 manual 路径下的文件 196 -s :只寻找 source 来源的文件 197 -u :搜寻不在上述三个项目当中的其他特殊文件 198 注意:redhat6和redhat7搜寻的路径不同 199 200 locate [-ir] keyword 201 选项与参数: 202 -i :忽略大小写的差异; 203 -r :后面可接正规表示法的显示方式 204 205 %%%%%%%%%%% 206 whereis\locate 寻找的数据是由『已建立的数据库 /var/lib/mlocate/』 里面的数据所搜寻到,所以不用直接在去硬盘中存取数据,速度快 207 updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新/var/lib/mlocate.mlocate.db 208 209 find [PATH] [option] [action] 210 选项与参数: 211 1. 与时间有关:-atime, -ctime ,-mtime ,以 -mtime 说明 212 -mtime n 213 -mtime +n 214 -mtime -n 215 -newer file :列出比file还要新的档案 216 217 if n=2 now=2015/12/24 218 then 219 -mtime 2:2015/12/22当天内容改过的文件 220 -mtime +2:2天之前,2015/12/22之前被容被改过的文件,及21\20\19... 221 -mtime -2:2天以内,2015/12/24和2015/12/23号修改过的文件 222 223 <--|--|--|--|--|--|--|--|--|--|--|2-|--|--| 224 <----------------------------+2->|--|--|--| 225 <--|--|--|--|--|--|--|--|--|--|--|--|<-2->| 226 11 12 13 14 15 16 17 18 19 20 21 22 23 24现在 227 2. 与用和和组有关 228 -uid n 229 -gid n 230 -user name 231 -group name 232 -nouser 233 -nogroup 234 3. 与档案的权限及名称有关 235 -name filename:搜寻文件名为 filename 的档案; 236 -size [+-]SIZE:SIZE的规格有 237 c: 代表 byte 238 k: 代表 1024bytes 239 -type TYPE 240 -perm mode :档案权限『刚好等于』mode的档案 mode范围:7777~0000 241 -perm -mode:档案权限『必须要全部囊括 mode权限』 242 -perm +mode:档案权限『包含mode权限』的档案 243 4. 额外动作 244 -exec [命令] :后面可再接额外的命令来处理搜寻到的结果 245 find / -perm +7000 -exec ls -l \;<==固定格式:find [路径 参数] -exec [命令] \; 246 247 -print:将结果输出屏幕上,预设动作
时间: 2024-10-10 11:41:44