接上次课内容



    

    lsattr、chattr

    lsattr用于显示文件特定属性,chattr用于修改文件特定属性

    lsattr 查看特殊属性值

[mylinux@mylinux ~]$ lsattr /etc/passwd
-------------e- /etc/passwd

    lsattr 常用选项

    -V 显示lsattr版本

    -a 显示所有文件,包括隐藏文件

    -d 显示目录本身特效

    -R 递归显示


    chattr 更改文件特殊属性

    chattr +i/chattr -i

    在文件属性中添加/删除i属性,特点:任何用户(包括超级用户)不能修改或删除文件

    chattr +a/chattr -a

    在文件属性中添加/删除a属性,特点:可以添加文件内容,但是任何用户(包括超级用户)不能删除文件

    -R 级联,递归    




   set_uid(SUID)、set_gid(SGID)、sticky_bit(SBIT) 特殊文件权限

   SUID 特点 :

  • SUID仅对二进制文件有效;

  • 执行者对于该程序具有x的执行权限;

  • 执行权限仅在执行该程序过程中有效;

  • 执行者讲具有该程序拥有者的权限。

   SGID 特点 :

  • SGID对二进制程序有效;

  • 执行者对于该程序具有x的可执行权限;

  • 执行者在执行的过程中将会获得该程序所属用户组的支持;

  • 该用户在此目录下的有效用户组将变成该目录的用户组;

  • 若用户在此目录下具有w的权限,则用户所创建的新文件的用户组与此目录的用户组相同

   SBIT 特点 :

  • 用户若对此目录拥有w和x权限,即拥有写的权限;

  • 当用户在此目录下创建了文件或目录,仅自己和root才有权利删除文件


   

   SUID用4代表,SGID用2代表,SBIT用1代表,如果要设置SUID,可以写成4755,要设置SGID,可以写成2755.




五、搜索文件

   which

[root@lamp mnt]# which ls
alias ls='ls --color=auto'
        /bin/ls
[root@lamp mnt]#


   whereis

[root@lamp mnt]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
[root@lamp mnt]#

   

   locate

   需要数据库进行支持 

   数据库更新命令 updatedb

   需要安装yum install -y mlocate

[root@mylinux ~]# locate '*\test.txt'
/data/test.txt
[root@mylinux ~]#

    

  



   find

   格式 :

   find [路径] [选项] [待查找字符串]

   选项 :

   -size n[kMG] 以文件大小进行查询

[root@mylinux ~]# find /boot -size +512k      # 在/boot目录下查找文件大小在512KB以上的文件
/boot/initramfs-2.6.32-504.8.1.el6.i686.img
/boot/vmlinuz-2.6.32-504.el6.i686
/boot/initramfs-2.6.32-504.el6.i686.img
/boot/vmlinuz-2.6.32-504.8.1.el6.i686
/boot/System.map-2.6.32-504.8.1.el6.i686
/boot/System.map-2.6.32-504.el6.i686
[root@mylinux ~]#

   -type [cbdfpsD]以文件类型进行查询

[root@mylinux ~]# find /boot -type d
/boot
/boot/grub
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/redhat
/boot/lost+found
[root@mylinux ~]#

   -amin n 找出n分钟前访问过的文件,同样选项的还有-mmin,-cmin,

[root@mylinux ~]# find /etc/sysconfig -amin -200 # 在/etc/sysconfig目录下查找200分钟内被查
/etc/sysconfig                                     看过的文件 
/etc/sysconfig/cbq
/etc/sysconfig/modules
/etc/sysconfig/networking
/etc/sysconfig/networking/profiles
/etc/sysconfig/networking/profiles/default
/etc/sysconfig/networking/devices
/etc/sysconfig/console
[root@mylinux ~]#

   -atime n 找出n天前访问过的文件,同样选项的还有 -mtime,-ctime

[root@mylinux ~]# find /tmp/ -atime +3            #在 tmp 目录下寻找访问时间在3天前的文件
/tmp/mylinux.d/1.txt
/tmp/mylinux.d/2.txt
/tmp/mylinux.d/3.txt
/tmp/mylinux.txt.1
/tmp/mylinux.txt.2
/tmp/logs
/tmp/mylinux.txt
[root@mylinux ~]#



   -name 以关键字符串搜索文件

[root@mylinux ~]# find / -name mylinux
/home/mylinux
/var/spool/mail/mylinux
/mylinux
[root@mylinux ~]#




   

   atime,mtime,ctime

   Linux下可以用命令‘stat’查看文件三个time

[root@mylinux ~]# stat /mylinux
  File: "/mylinux"
  Size: 0               Blocks: 0          IO Block: 4096   普通空文件
Device: 803h/2051d      Inode: 11891       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-03-14 11:50:13.092947296 +0800
Modify: 2015-03-14 11:50:13.092947296 +0800
Change: 2015-03-14 11:50:13.092947296 +0800

    atime :最近查看文件的时间

    mtime :最近修改文件内容的时间

    ctime :最近文件属性的更改时间

   




六、链接文件

    链接文件分为两种,硬链接(hard link)和软链接(symbolic link)。两种链接的本质区别关键点在于inode.

    硬连接的创建

    ln [来源文件] [目标文件]

[root@lamp hard_www]# cp /etc/passwd .
[root@lamp hard_www]# ls -li
总用量 4
136286 -rw-r--r--. 1 root root 1173 3月  18 09:41 passwd
[root@lamp hard_www]# ln passwd passwd_hard
[root@lamp hard_www]# ls -il
总用量 8
136286 -rw-r--r--. 2 root root 1173 3月  18 09:41 passwd
136286 -rw-r--r--. 2 root root 1173 3月  18 09:41 passwd_hard

    硬链接无法创建目录链接

[root@mylinux mylinux]# ll
总用量 4
drwxr-xr-x 2 root root 4096 3月  18 01:12 data
[root@mylinux mylinux]# ln data/ data_hard
ln: "data/": 不允许将硬链接指向目录
[root@mylinux mylinux]#

    硬链接无法跨分区创建链接

[root@mylinux mylinux]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       18244476 5167752  12143300  30% /
tmpfs             515244       0    515244   0% /dev/shm
/dev/sda1         194241   67669    116332  37% /boot
[root@mylinux mylinux]# cd /boot/
[root@mylinux boot]# ln /tmp/1.txt  1_link
ln: 创建硬链接"1_link" => "/tmp/1.txt": 无效的跨设备连接
[root@mylinux boot]#

 

    软连接的创建

    ln -s [来源目标] [目标文件]

[root@mylinux mylinux]# ll
总用量 4
-rw-r--r-- 1 root root    0 3月  18 01:35 1.txt
drwxr-xr-x 2 root root 4096 3月  18 01:12 data
[root@mylinux mylinux]# ln -s 1.txt 1_link.txt      #给 1.txt创建链接
[root@mylinux mylinux]# ls -li
总用量 4
522250 lrwxrwxrwx 1 root root    5 3月  18 01:35 1_link.txt -> 1.txt
522249 -rw-r--r-- 1 root root    0 3月  18 01:35 1.txt
522248 drwxr-xr-x 2 root root 4096 3月  18 01:12 data
[root@mylinux mylinux]#

     软链接支持创建目录链接

[root@mylinux mylinux]# ll
总用量 4
lrwxrwxrwx 1 root root    5 3月  18 01:35 1_link.txt -> 1.txt
-rw-r--r-- 1 root root    0 3月  18 01:35 1.txt
drwxr-xr-x 2 root root 4096 3月  18 01:12 data                    
[root@mylinux mylinux]# ln -s data/ data_link                  # 给data目录创建链接
[root@mylinux mylinux]# ls -li
总用量 4
522250 lrwxrwxrwx 1 root root    5 3月  18 01:35 1_link.txt -> 1.txt
522249 -rw-r--r-- 1 root root    0 3月  18 01:35 1.txt
522248 drwxr-xr-x 2 root root 4096 3月  18 01:12 data
522251 lrwxrwxrwx 1 root root    5 3月  18 01:38 data_link -> data/
[root@mylinux mylinux]#

    软链接支持跨分区创建链接

[root@mylinux ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  1.3G   16G   8% /
tmpfs           504M     0  504M   0% /dev/shm
/dev/sda1       190M   70M  111M  39% /boot
[root@mylinux ~]# ln -s /tmp/mylinux.d/1.txt /boot/1_link
[root@mylinux ~]# ls -l /boot/1_link
lrwxrwxrwx 1 root root 20 3月  18 22:12 /boot/1_link -> /tmp/mylinux.d/1.txt
[root@mylinux ~]#




本内容由导师:阿铭提供技术支持:跟阿铭学linux 点这里