热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

0518第五节课

安全3AAuthentication:认证Authorzation:授权Accouting|Audition:审计用户管理用户:UID:0,不一定是root,root的uid非0时

安全3A


  Authentication:认证

  Authorzation:授权

  Accouting|Audition:审计




用户

  管理用户:UID:0,不一定是root,root的uid非0时并不是管理用户,主要还是看的uis


  普通用户:uid 1-65535

    系统用户:1-499(centos6) 1-999(centos7)

      系统用户是指那些nologin用户,对守护进程获取资源进行权限分配

    登录用户:500- (centos6) 1000- (centos7)

      通过账号密码登录的用户,交互式登录




  管理员组: GID:0


  普通组: 

    系统组:1-499(centos6) 1-999(centos7)


    普通组:500-             1000-




安全上下文:

  简单的说就是一个进程的权限取决于开启这个进程的用户的权限



linux组的类别

  用户的主要组:有且只能有一个组

    私有组:简单的说就是在组内只有以为与组同名的用户,这个组就叫做这个用户的私有组


  用户的附加组:可以有多个,也可以没有的组




主组的四个重要的配置文件


  主:/etc/passwd

      /etc/shadow


  组:/etc/group

      /etc/gshadow



  passwd:记录用户账户的一些相关信息的文件


  格式:

    用户名:x:UID:GID:描述内容:家目录:默认bash



  x:6以前的系统是一些加密的密码,6以后加密密码放在shadow,这里改成了x代替


  GID:passwd中的GID是显示用户的主组的GID


  shadow:记录用户加密密码的文件


  格式:

    用户名:加密类型:随机字符:加密密码正文:最后一修改密码的时间:密码的最小使用期限:密码的最大使用期限:警告期限:非活动期限:用户账号过期期限:保留字段


  随机字符:为了防止密码相同的用户在正文字段的加密密码显示相同,加密时会在密码中加入一些随机的字符


  最后:显示的是linux元年到最后一次修改密码经过的天数


  警告期限:在密码过期前X天警告你密码还有X天就要过期


  非活动期限:密码在过期后并不立即无法使用,会有一个最终期限供你修改密码,当最终期限过后,密码将失效


  用户过期期限:一个用户的使用期限,当过期后该用户将无法登陆

  当用户没有密码的时候,用户名:!!:~,!!代表无法登录,是系统默认给的,但是将!!删掉后就可以直接不需要密码登录,反过来看,当我们不想某个用户登录时,可以再shadow里给他的那串用户名后边(用户名!:)加一个!就行





  组的group和gshadow基本相同


  group的最后是组内的用户,这个前边一个是组管理员用户,添加组管理员,组管理员可以添加删除组成员对组进行一些修改






密码的复杂性策略:这还用人教?




4个小命令


  vipw和vigr

  更改passwd和group的命令,感觉似乎用不太到。。



  pwck和grpck

  检查passwd和group两个文件的修改是否有什么错误,感觉用到的可能性也不大。。


  姑且记住吧




用户管理命令

  useradd:添加用户的命令

     -u:制定创建用户的uid

     -g:制定用户主组的gid

         注意:不指定主组的话,将会自动创建用户的私人组

     -G:制定用户附加组的GID

     -d:制定用户的家目录

         注意:当制定的家目录存在的目录的时候,是不会默认添加文件的,可以手动从/etc/skel复制过来

     -c:添加描述内容

     -r:创建系统用户

     -s:制定用户的默认shell

     -M:不创建用户的家目录

         注意:当用户没有家目录时,仍旧可以登录,但是登录后不再家目录中,在/目录下

     -N:不创建用户的私人组,将用户的主组设置为useradd-    D中的默认组

     -D:一些默认的设置的更改

         注意:配置文件存放在:/etc/default/useradd下


  注意:一些默认的配置,想修改的话,可以去/etc/login.defs去更改



  userdel:删除用户,默认是不删除用户的家目录

     -r:连同用户的家目录mail等一同删除

  注意:当我们在删除一个用户的时候,不加-r的话用户的家目录等一些创建用户时自动给创建的目录都不会删除,反过来说,加上-r后只是会删除在创建用户时创建的那些目录,用户自行创建的目录文件是不会删除的,但是这些目录和文件的主、组会变成原用户的UID和GID,当这些ID再次被分配到某用户的时候,文件的主、组会变成这个用户


  提示:用户的一些目录可以自行删除

        家目录:/home

        邮箱:  /var/spool/mail


  usermod:修改用户的属性

     -u:修改用户的UID

     -g:修改用户的主组

     -G:修改用户的附加组

         注意:这个修改是指覆盖修改,即原来的附加组会被取消变成新的附加组,想要添加附加组加-a

     -aG:给用户添加附加组

     -c:修改用户的描述

     -d:修改用户的家目录

         注意:家目录的内容是不会移动的,想要连同家目录的内容一同移动,加-m

     -md:复制家目录的内容,移动到新指定的家目录

     -s:修改用户的shell

     -L,U:锁定解锁用户





组管理命名

  groupadd:创建新的组

    -g:指定GID

    -r:创建系统组


  groupdel:删除组


  groupmod:修改组

    -g:修改组GID

    -n:修改组名称



批量创建组用户

  newusers:创建一个文本,在文本里按照passwd的格式来写用户,然后

     newusers file


  chpasswd:批量修改用户口令

      文件内格式

      user : 密码


 id:查看用户id

   -u:查看用户的uid

   -g:查看用户的主组的gid

   -G:查看用户的所有附加组的id

   -n:不以id显示,以name显示




 su:切换用户的命令

   -:中间加-是指登录式用户切换,不加是非登录式用户切换

   却别自己查看一下两种方式切换后的用户的工作目录和家目录就能清楚了


   -c


   su - name -c command


     以name用户的身份运行command命令


 passwd:更改密码,不加任何参数为更改自己的密码,可加用户名来更改他人密码


    -e:修改最后一次更改密码日期,改成0下一次登录就必须更改密码

    -n,x:修改密码的最大最小期限

    -w:修改警告期限

    -i:修改费活动期限

    --stdin:

      passwd  --stdin name  可以通过重定向或者管道来更改密码


 gapsswd:不加参数为修改组密码,组密码的具体作用可以再newgrp看出

    -a:在组内添加用户

    -d:删除组内某个用户

    gpasswd -a name gname


 groupmems -a     -g:类似gpasswd加参数

    -a:添加用户

    -d:删除用户

    -l:列出组用户

    -p:清空组用户


 chage  -l  列出密码用户的各种期限时间


 chsh:更改用户的shell


 chfn:更改finger



 groups gname:查看某个组的组成员




 newgrp:临沭切换到某个组,切换的是主组。。当你不属于那个组的附加组的时候需要输入组密码(gpasswd的用处)

     加-选项同su



将系统设置成只允许管理员登录

   用touch在/etc先下创建/etc/nologin文件就行,取消的时候将这个文件删掉






 权限管理


 krwxrwxrwx


 k是指文件类型:-,d,c,b,l,s,p

 r:read

 x:excute

 w:write


 u:user


 g:group


 o:other

 a:all


 对于文件来说

    r:代表可以读取文件的内容

    w:代表可以给文件内容进行添加修改等操作

    x:代表该文件是可执行的

 注意:因为对于文件来说,一旦执行,影响的将不是文件本身而是整个系统,这是十分危险的操作,因此,默认的不会给与文件x权限即文件默认能得到的最大权限为

    -rw-rw-rw-


 对于目录来说

    r:代表目录可以通过ls查看目录内的内容,但不能用ll

    w:代表可以对目录内的文件进行添加删除

    x:代表可以cd至此目录中并且可以通过ll来查看目录内文件的具体属性

 注意:对于目录来说一般是要给与r与x 权限的



 -rwx rwx rwx

  421

  u   g   o


 权限相关命令:chmod chown chgrp umask


 chmod:修改文件或目录的权限

    -R:递归

    --reference=file1 file2  :按照file1给file2设置权限


 用法:chmod u=   ,g=    ,o= / a=     file

       设置具体权限


       chmod u+   ,g+    ,o+ / a+     file

       添加某个权限


       chmod 777 file

       设置具体权限


 注意:u,g,o可以一起写成ugo,ug,og,等等,分开写之间用逗号隔开

       chmod在使用-R的时候为了避免给文件加上x执行权限,可以使用X,这个的意思是只给目录x权限,不给文件



 chgrp :设置组

    -R:递归


 用法: chgrp gname file



 chown :设置主,组


    -R:递归

 用法:chown name : gname file


 注意:chown既可以改组也可以改主,只更改组时,gname前边的:一定记得写,不然会被识别成主,但是在只更改主的时候,后边的:一定记得不要写,不然会被识别成主,组是同名字


 同时,chmod -R +X dir      X对目录没有什么特殊做作,直接给与x权限,但是对于文件,如果文件的权限里,任何位置有一个x权限

 那么,X将给与ogu三个位置都给x权限,如果文件一个x权限都没有,那么X将不给于任何的x权限      




 umask:不知道怎么形容

   umask不加参数,显示当前的umask的值


   umask ####:更改umask值


   注意:通过这个更改的umask值只针对当前shell,umask的值相对全局修改,可以直接重定向到/etc/bashrc,同样的影响单个用户直接

   重定向到家目录下的.bashrc即可


Linux的特殊权限


 SUID:只针对可执行的二进制程序有效,对目录无效,作用是让用户在运行该程序的时候短暂获得该文件的所有者的权限

       典型的就是/usr/bin/passwd这个程序,用户在运行的passwd的时候可以影响到平常不能看的/etc/passwd


       用法: chmod u+s/S file       s:源文件具有x权限时用

                                     S:源文件不具备x权限时使用


       注意:这个权限事实上是一个很危险的权限,所有,我们在对一个程序加上这个权限,再去放在一些移动设备上例如U盘等,再去将U盘挂载到另一台机器或系统上

       而又需要手动挂载,需要记得启用noSUID,自动挂载是默认开启的,手动挂载需要自己开启


  SGID:可以对文件,也可以对目录使用,对文件使用效果与SUID差不多,是让运行这个程序的用户具有这个程序的组的权限,对目录使用时,对于此目录有w权限的用户在此目录下所创建的目录,其所属组将变成该目录,一般用于协作

       用法: chmod g+s/S file/dir       同上


       注意:SGID有类似递归行的特性,在SGID目录下创建的子目录同样具有SGID权限



  sticky:该权限只针对目录,对文件无任何意义,作用是让用户在目录下创建的文件,只有用户自己和管理员可以删除


       用法:chmod o+t/T  dir            同上

       注意:只是无法删除文件,但是文件的内容数据还是可以影响的,可以通过重定向来影响数据



  针对特殊权限,同样可以用数字来进行设定

  SUID=4  SGID=2  STICKY=1

  chmod X777 file/dir

  chmod X666  。。。



   ps:该命令是查看当前用户进程的命令

      -aux:连别的用户的命令也一并显示出来




文件的隐藏属性


   chattr:给文件目录添加隐藏属性的命令

       -i:文件不能被修改,包括删除,添加等

       -a:文件只能被添加内容,不能修改删除内容

       -R:递归,对目录用

       -v:显示详细

   lsattr:查看文件影藏属性的命令

       -R:递归

       -a:影藏文件的也显示出来

       -d:只查看目录的隐藏属性







本文出自 “博客作业初版” 博客,谢绝转载!

0518 第五节课


推荐阅读
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • 几何画板展示电场线与等势面的交互关系
    几何画板是一款功能强大的物理教学软件,具备丰富的绘图和度量工具。它不仅能够模拟物理实验过程,还能通过定量分析揭示物理现象背后的规律,尤其适用于难以在实际实验中展示的内容。本文将介绍如何使用几何画板演示电场线与等势面之间的关系。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 本文介绍如何在应用程序中使用文本输入框创建密码输入框,并通过设置掩码来隐藏用户输入的内容。我们将详细解释代码实现,并提供专业的补充说明。 ... [详细]
  • 本文介绍如何通过SQL查询从JDE(JD Edwards)系统中提取所有字典数据,涵盖关键表的关联和字段选择。具体包括F0004和F0005系列表的数据提取方法。 ... [详细]
author-avatar
love28119_529_700
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有