辽柯09吧 关注:12贴子:199
  • 8回复贴,共1

Linux与UNIX Shell编程指南

只看楼主收藏回复

读书笔记


IP属地:北京1楼2013-10-15 15:13回复
    第一章 文件安全与权限
    关于文件权限与目录权限的区别:
    1.文件
    r:可以显示文件的内容
    w:可以编辑文件和删除文件
    x:若文件是可执行文件,则可以执行文件
    2.目录
    r:可以列出目录中的文件
    w:可以在此目录中创建或删除文件
    x:可以搜索或进入该目录


    IP属地:北京2楼2013-10-15 15:18
    回复
      2025-08-03 22:03:46
      广告
      不感兴趣
      开通SVIP免广告
      关于suid和guid
      文件除了具有读写执行权限,还有特殊的suid位。
      当程序文件的suid位被设置后,当用户执行程序文件时,将获得该程序文件属主的权限。
      例如程序文件的属主是root,那么执行该程序的用户就将暂时获得root账户的权限。
      sgid与suid类似,只是执行程序时获得的是文件属组的权限。
      例子:普通用户 lp修改自己的密码
      密码存放在/etc/shadow文件里面
      [root@localhost ~]# ll /etc/shadow
      -r-------- 1 root root 1144 Jul 20 22:33 /etc/shadow
      文件的属主为root,lp用户是没有读写执行权限的
      我们执行passwd这个命令执行的程序是/usr/bin/passwd,
      查看这个文件属性如下:
      -r-s--x--x 1 root root 21944 Feb 12 2006 /usr/bin/passwd;
      所有用户对命令文件都有执行权限,并且suid位已被设置。
      当lp用户执行passwd命令时,就获得了/usr/bin/passwd的属主权限(即root权限)。
      这样便能对/etc/shadow文件进行修改。
      注:这里涉及到实际用户ID和有效用户ID的分离,不再详解
      设置方法
      chmod 4755 myfile
      chmod u+s myfile


      IP属地:北京3楼2013-10-16 10:20
      回复
        关于创建对象的默认权限
        当你创建一个文件或目录时,他的默认权限是什么?
        是由umask值决定的。
        具体的来讲就是
        目录的默认权限是777-umask
        文件的默认权限是666-umask 再去掉执行权限


        IP属地:北京4楼2013-10-16 10:53
        回复
          第二章 使用find和xargs
          关于find命令的使用
          find pathname -options [-print -exec -ok]
          先说查找范围
          find 后面直接跟范围 可以用-path -prune 来排除一些路径
          #find . -path "./newdir" -prune -o -print
          就是在当前目录除掉newdir路径中查找
          然后就是根据文件的属性查找
          [root@ mydir]# stat myfile
          File: `myfile'
          Size: 0 Blocks: 0 IO Block: 4096 Regular File
          Device: 802h/2050d Inode: 1015121 Links: 1
          Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
          Access: 2013-10-18 09:56:05.000000000 +0900
          Modify: 2013-10-18 09:56:05.000000000 +0900
          Change: 2013-10-18 09:56:05.000000000 +0900
          首先是文件名
          find . -name "myfile" (不区分大小写-iname)
          文件大小
          find . -size 0c 0字节的文件
          find . -size +10c 大于10字节的文件
          find . -size -10c 小于十字节的文件
          find . -size 10 10块的文件
          find . -size +10 大于10块的文件
          find . -size -10 小于10块的文件
          文件类型
          find . -type f
          权限
          find . -perm 644
          find . -perm -a=r 全部都有读权限
          文件属主和文件属组
          find . -user root
          find . -group root
          find . -nouser
          find . -nogroup
          文件时间
          find . -mtime -5 -print 更改时间5天以内
          find . -mtime 5 -print 更改时间5天
          还有-ctime -atime
          find . -newer file1 ! -newer file2 比文件file1新比文件file2旧(依据是mtime更改时间)
          另外:
          find . -maxdepth 1 -not -iname myfile 一级目录下文件名非大小写为myfile的文件
          find / -mindepth 3 -maxdepth 5 -name passwd 在3到5级目录下查找passwd文件
          注:-mount -depth -fstype -cpio -follow 不再详解


          IP属地:北京6楼2013-10-22 11:14
          回复
            关于文件的3个时间
            mtime:最后一次修改文件或目录的时间
            ctime:最后一次改变文件或目录属性的时间
            atime:最后一次访问文件或目录的时间
            cat file :file 的atime改变 因为读文件了
            echo "dajiahao" >> file : file 的mtime和ctime改变 因为写文件了 属性也改了(inode)
            chown root file :file的ctime改变 属性改变了
            vim file 不做更改退出 : file的atime改变
            vim file 更改文件并退出:atime ctime 和mtime全更改了


            IP属地:北京7楼2013-10-22 11:29
            回复
              第三章 后台执行命令
              关于后台执行命令的几种方式
              1.cron系统调度进程
              2.at进程
              3.&
              4.Nohup
              1.cron [-u user] -e -l -r
              crontab格式
              分 时 日 月 星期 运行的命令 :空格是域分隔符 支持逗号、*、-等
              2.at.deny cron.deny等文件控制哪些用户可以使用这些功能
              3.at [-f script] [-m -l -r] [time] [date]
              at 3.00pm tomorrow -f /root/run.sh


              IP属地:北京8楼2013-10-22 13:31
              回复