liunx学习第四天 高级权限

来源:互联网 发布:淘宝账户已被冻结 编辑:程序博客网 时间:2024/06/09 16:01

liunx学习第四天 高级权限

 suid操作对象必须是文件(二进制可执行文件,也就是给命令添加权限)

   chmod u+s /usr/bin/可执行文件

    作用:任何用户在执行拥有suid权限的二进制文件时(命令),都已该命令拥有者身份去运行

 

练习:通过权限设置使zorro用户可以通过less命令查看/etc/shadow 文件

  

  sgid 操作对象为目录

  chmod g+s directory/

   作用:任何用户在拥有sgid权限的目录下创建文件,创建的文件都与该目录拥有sgid的目录同组,或者继承这个目录的组。

 

练习:

  在/home目录下创建test目录,该目录属于redhat组:

  要求:通过权限设置使任何用户在该目录下欻姑娘就爱你的文件都继承redhat组

  

 

  sticky(粘贴位,冒险位)

   操作对象为目录

  chmod o+t dir/

   作用:任何用户在用户t权限的目录下创建的文件,只能该用户自己删除,其他人无权删除

   无法限制拥有者和管理员  

 

练习:在/home目录下创建test目录 权限为777

要求:通过权限的设置,使任何用户在该目录下创建的文件只能自己删除

     使用seker和zorro用户进行测试

     将test目录拥有者改为shrek 尝试使用shrek用户去删除所有文件,结果?拥有这可以删除

 

    suid ---------4

    ugid ---------2

    t    ---------1

 

高级权限检查方法:ll

 

0521压缩打包安装软件

1修改用户名及未知密码情况修改

 ireboot-e-vmlinux(e)-space1-enter-b//单用户模式进入修改密码

 

 chage

 

 euidegid  //当前进程有效uid和gid

2压缩,归档,安装软件

 压缩:

 gzipbzip2  //压缩命令

 

 ddif=/dev/zero of=data bs=100M count=2  //

 方法一: gzip data

       du -sh data.gz

       204K    data.gz  //显示结果

       gunzip data.gz   //解压缩

 方法二: bzip2 data

       data.bz2         //以bz2结尾,并替换原文件

       bunzip2 data.bz2 //解压缩

 

 du-h       //查看文件大小

 du-sh      //查看文件总大小

 打包:

 tar   //归档命令,文件与目录均可

 tar-cvf boot.tar /boot  //tar -cvf(创建、显示过程、),名称,需要  打包的文件

 tar-cvf /home/boot.tar /boot //指定路径打包

 tar-tvf boot.tar             //查询报内容

 tar-rvf boot.tar filename    //追加文件到包中

 解包:

 tar-xvf boot.tar   //解包,解压到为当前目录

 tar-xvf boot.tar -C /home/   //解压到/home/目录下

 

 tar-zcvf boot.tar.gz  //打包并压缩,z ---gz  以gzip方式压缩

 tar-ztvf boot.tar.gz  //查询内容

 tar-zxvf boot.tar.gz  //解包解压缩

 tar-jcvf boot.tar.bz2  //打包并压缩,j ---bz2  以bzip方式压缩

 tar-jtvf boot.tar.bz2   //查询内容

 tar-jxvf boot.tar.bz2   //解压包压缩

 

挂载:

 mount /dev/cdrom  /mnt //mount 挂在设备 挂在目标目录

                           mnt/Server 存放安装包

 mount /root/Desktop/rhel5u5.iso /mnt -o loop

 umount -l /mnt //写在,-l强制卸载

安装软件

 rpm-ivh * // rpm 安装命令,i(install,v 安装信息,h安装百分比)

 rpm-ivh * --force //强制安装

 rpm-ivh * --nodeps //不检测依赖关系

 rpm-q  *  //-q query 查询包是否被安装,只写名称即可

 rpm-ql *  // 列出安装目录

 rpm-qi *  //查询包的信息

 rpm-qf *  //文件是由那个包装出来,通过文件查询安装包

 rpm-qf `which cat` //which cat 查询catm命令路径,查询cat安装包的信息

 rpm-qa * //检查系统中安装过的软件包

 rpm-e  * //卸载软件包

 

  rpm-ivh * --force

 keyid //同一版本的系统和软件包,应该具有相同的keyid

 

 vncviewer ip     //连接远程桌面

 

练习:

  1 查询mount 命令由那个安装包安装的

   rpm -qf `which mount`

   util-linux-2.13-0.52.el5_4.1

  2 安装httpd-devel包 并且手动解决依赖关系,安装后只写在apr-devel包

 

  原文:http://blog.csdn.net/gzh0222/article/details/7913580