三期第四讲
1.查询文件类型与文件位置命令
  file
    作用:查看文件类型(linux下的文件类型不以后缀名区分)
    语法举例:
    [root@web01 ~]# file passwd
    passwd: ASCII text 《——ASCII文本文档
    [root@web01 ~]# file 123
    123: directory 《——目录文档
    [root@web01 ~]# file /var/lib/mlocate/mlocate.db
    /var/lib/mlocate/mlocate.db: data 《——data文档
    [root@web01 ~]# file /bin/ls
    /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped 《——可执行        文档(包含suid设置、兼容的cpu硬件平台,lib库,linux内核等)

2.vim
  作用:修改文件
  模式: 默认进来是一般模式、i 编辑模式、esc 退出编辑 、shift+: 底行模式
  参数: w: write/q:quit/! force
  编辑模式:
    a:光标之后插入内容
    A:光标最后插入内容
    o:当前光标下新行插入内容
    O:当前光标上新行插入内容
    x:向后删除
    X:向前删除
    u:撤销当前操作
    U:撤销所有操作
    shift+D :删除光标之后的字符

  一般模式:
    ^:跳到行首
    $:跳到行尾
    ndd:删除n行,从光标起
    nyy:复制n行
    p :粘贴
    gg:文件首行
    G :文件尾行
    g :全局替换 1,$s/root/ROOT/g 1,$s#root#ROOT#g
    1, $s#\/#\\/#g: 脱意:\,去掉特殊符号的意思
    /: 查找字符, n: 查找下一个 N:查找上一个
    dw:删除词语

  底行模式:
    set number: 显示行号
    set nonu: 不显示行号
    r file: 合并文件
3. 目录中文件是否能修改需要看上级目录的权限

4、设置特殊权限 SUID、SGID详解 参考:link
  SUID : Set User ID (find / -perm -04000 -type f -ls查找设置SUID的程序)
    作用:临时赋予用户二进制文档的拥有者的权限(主要用于让普通用户可以使用某些特殊命令)
    语法1:chmod u+s file(增加s权限)
    语法2:chmod u-s file(减去s权限)
    使用限制与环境:
      1、仅对于二进制文件有效;

      2、执行者必须对文件拥有x权限(否则即使设置了SUID,由于你对文件根本无法执行SUID此时也无效,此时权限位显示S);

      3、权限只是在执行过程中拥有。

      4、执行者必须对文件拥有x权限(否则即使设置了SUID,由于你对文件根本无法执行SUID此时也无效,此时权限位显示S);

      PS:例如passwd命令,路径/usr/bin/passwd,权限为"-rwsr-xr-x"。(passwd命令会修改"/etc/shadow")
      PS:SUID只可用于二进制文件,不可用于shell script文件。

5.SGID : Set Group ID:继承上一级目录的所属组权限
  对于文件
    作用:临时赋予用户二进制文档的拥有组的权限(多用于让普通用户可以使用某些特殊命令,和suid类似)
    语法1:chmod g+s file(增加s权限)
    语法2:chmod g-s file(减去s权限)
    使用限制与环境:
      1、仅对于二进制文件有效;
      2、执行者必须对文件拥有x权限(否则根本无法执行文件,更别谈SGID赋予权限,此时权限位显示S);
      3、权限只是在执行过程中拥有。     

      4、执行者必须对文件拥有x权限(否则根本无法执行文件,更别谈SGID赋予权限,此时权限位显示S);

      PS:例如locate命令,路径/usr/bin/locate,权限为"rwx--s--x"。
      ( locate命令会读取"/var/lib/mlocate/mlocate.db")
  对于目录
    作用:临时将用户的effective group修改成该目录的的群组
    语法1:chmod g+s dir(增加s权限)
    语法2:chmod g-s dir(减去s权限)
    使用限制与环境:      

    1、文件的所属组是用户的主组,如果在设置了SGID目录下建立文件,则文件的所属组是继承目录的属组,并且新建立的目录也继承g+s权限
    2、若用户对此目录拥有w权限,由于effective group被修改成该目录的group,所以用户在此目录下创建任何文件,属组该目录的用户组。
    3、在group位的x显示为S或s,s代表包含了x权限,S代表未包含x权、
    4、使用者必须对该目录拥有x权限(否则无法进入,更别谈SUID赋予权限,此时权限位显示S);

6.SBIT Sticky Bit, 只对目录有效,对文件无效,防止删除其他用户的资料
  作用:限制目录下不同用户之间对于其他用户文档或目录的编辑权限。
  语法1:chmod o+t dir(增加t权限)
  语法2:chmod o-t dir(减去t权限)
  使用限制与环境
    1、只能针对目录;
    2、必须有x和w权限(否则无法进入和编辑,更不用谈sbit权限,此时权限位显示T);
    3、用户自身创建的文档和目录,只有自己和root可以编辑(重命名、修改内容、复制、删除等)

     4、必须有x和w权限(否则无法进入和编辑,更不用谈sbit权限,此时权限位显示T);

7.赋予权限

chmod 4777 //是设sid
chmod 2777 //是设置gid
chmod 1777 //是设sticky-- t 该位可以理解为防删除位. 一个文件是否可以被>某用户删除,主要取决于
        该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不
        能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则
        可以对文件使用sticky bit位

0: 不设置特殊权限
1: 只设置sticky
2 : 只设置SGID
3: 只设置SGID和sticky
4 : 只设置SUID
5 : 只设置SUID和sticky
6 : 只设置SUID和SGID
7 : 设置3种权限

Linux第五节随笔 /file / vim / suid /sgid sbit的更多相关文章

  1. centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln 内部命令和外部命令 第五节课

    centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln   ...

  2. Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file

    文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...

  3. Linux之特殊权限(SUID/SGID/SBIT)

    特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID.那 ...

  4. 文件的特殊权限(SUID,SGID,SBIT)

    文件的一般权限:r w x  对应 421  文件的特殊权限:SUID SGID SBIT对应 421  文件的隐藏权限:chattr设置隐藏权限,lsattr查看文件的隐藏权限. 文件访问控制列表: ...

  5. SUID, SGID, SBIT

    基本上SUID有这样的限制与功能: SUID权限仅对二进位程序(binaryprogram)有效,不能用在shellscript上面: 运行者对於该程序需要具有x的可运行权限: 本权限仅在运行该程序的 ...

  6. CentOS 文件特殊权限SUID,SGID,SBIT

    1.SUID ,是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效). (1)SUID权限仅对二进制程序有效: (2)本权限仅在执行该 ...

  7. suid sgid sbit chattr lsattr

    suid 一般用于二进制可执行文件,suid代表当用户执行此二进制文件时,暂时具有此文件所有者的权限 chmod 4xxx binfile sgid 一般用于目录,sgid代表当其他用户在此目录下创建 ...

  8. suid sgid sbit chattr lsattr find

    suid 一般用于二进制可执行文件不可用于shell脚本和目录,suid代表当用户执行此二进制文件时,暂时具有此文件所有者的权限 chmod 4xxx binfile sgid 一般用于目录,sgid ...

  9. Linux 文件特殊权限 SUID SGID SBIT

    文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [root@or ...

随机推荐

  1. 京东分布式缓存redis应用实战

    互联网应用特点三高:高并发.高可用.高性能,要达到这几个目标,好的方法方式是建立相应指标, 来进行准确描述,有了准确指标进行监控,方能易于实现我们设定目标. 先将指标介绍下,方便下面相关术语使用,qp ...

  2. NSNotification

    1.什么是NSNotification 每个运行中的application都有一个NSNotificationCenter的成员变量,它的功能就类似与公共栏,对象在这里注册关注每个确定Notifica ...

  3. WeChat 隐私政策

    隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐 ...

  4. zuul超时的解决方案

    参考http://www.coolxuewang.com/view/10 在zuul的配置文件里增加如下配置: ribbon:    ConnectTimeout: 6000    ReadTimeo ...

  5. java8版本base64加密解密

    首先,先是加密,这里我使用了base64类 try { String asB64 = Base64.getEncoder().encodeToString("http://www.baidu ...

  6. 有关.NET链接Oracle数据库,使用连接池pooling=true时问题

    .net链接oracle数据库时,当链接字符串中pooling=true时,视图结构变更时程序报错问题,还请高手指教 现象: 链接字符串: 注意:这里pooling=true: 测试视图: 执行的SQ ...

  7. 非常棒的教程记录(JVM)

    这里暂且记录下看过的非常棒的博客吧! JVM 指令集简单解释,来自一个不认识的网友的个人博客:http://www.iloveandroid.net/2015/12/06/jvm%E6%8C%87%E ...

  8. Python笔记·第六章——字典 (dict) 的增删改查及其他方法

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  9. Linux----CentOS-7搭建免流服务器

    本次实验采用腾讯云服务器:https://cloud.tencent.com/ 大学生身份的可以看看有没有什么活动购买 其他身份的78一个月 关于腾讯云服务器的使用可以看看腾讯云的使用手册 本博客涉及 ...

  10. gcc 源代码分析-前端篇3

    3. GCC怎样函表示一个函数   对c语言来说.函数是其核心,全部的东西都在环绕着函数在转.对于一个函数来说.它基本的一些特性例如以下:    1. 有一个返回值,在这里我们没有把返回值的函数觉得它 ...