LSA   管理用户和文件权限

一、管理用户和组账号

1.用户账号  超级用户:root。进行系统管理、维护任务。

                     普通用户:只在自己的宿主目录拥有完全权限

                     程序用户:低权限,不允许登录到系统,用于维持系统或某个程序的运行

2.组账号    基本组附加组

                   对组账号设置的权限,将适用组内的每一个用户账号。

3.UID和GID号(唯一性

  UID(用户账号):root  0   程序用户1-499  普通用户500-60000

  GID(组账号):root 0    程序用户1-499  普通用户500-60000

4.用户账户管理

★用户账号 文件

 相关的配置文件主要有 /etc/passwd  和/etc/shadow。前者用于保存用户名称、宿主目录、登陆shell等基本信息。后者用于保存用户的密码、账号有效期限等信息。

 passwd文件中的配置行格式

     /etc/passwd/是文本文件。任何用户都可以读取文件中的内容

     passwd从左到右包含七个配置字段

        第一字段:用户账号的名称

        第二字段:经过加密的用户密码字串,或者密码占位符“x”

        第三字段:用户账号的UID

        第四字段:所属基本组账号的GID号

        第五字段:用户全名,可填写与用户相关的说明信息

        第六字段:宿主目录,即该用户登陆后所在的默认工作目录

        第七字段:登陆shell等信息,用户完成登陆后使用的shell。

shadow文件中的配置行格式

    shudow文件中保存有各用户账号的密码信息。默认只有root用户能够读取文件中的内容,而不允许直接编辑该文件中的内容。

    shuddow从左到右包含九个配置字段

         第一字段:用户账号名称

         第二字段:使用MD5加密的密码字串信息,当为“*”或“!!”时表示该用户不能登录到系统。若该字段为空,则该用户无需密码即可登录系统。

         第三字段:上次修改密码的时间,表示从1970年1月1日(Unix的诞生日)算起到最近一次修改密码时间隔的天数。

         第四字段:密码的最短有效天数。默认值为0,表示不进行限制。

         第五字段:密码的最长有效天数。默认值为99999,表示不进行限制。

         第六字段:提前多少天警告用户口令将过期。默认为7.

         第七字段:在密码过期之后多少天内禁用此用户。

         第八字段:账户失效期间,此字段指定了用户作废的天数。默认为空,永久可用。

         第九字段:保留字段,目前没有特定功能。

useradd命令---添加用户账号

  用于设置账号属性的几个常用选项

  -u  指定用户的UID号,要求未被其他用户使用。

  -d  指定用户的宿主目录位置。

  -c  指定用户的账户失效时间

  -g  指定用户的基本组名

  -G:指定用户的附加组名

  -M  不建立使用者目录,,即使/etc/log in.defs系统档设定要建立使用者目录

  -s  指定用户的登陆shell

passwd---为用户账号设置密码

   必须设置密码才能登陆到linux系统。

   相关子选项

       -d  清空指定用户的密码,仅使用用户名即可登录系统

       -l   锁定用户账户

      -S  查看用户账户的状态(是否被锁定)

      -u   解锁用户账户

usermod---修改用户账户属性

   常用的几个选项

     -u  修改用户的UID号

     -d  修改用户的宿主目录位置

     -e  修改用户的账户失效时间

     -g  修改用户的基本组名

     -G  修改用户的附加组名

     -M  不为用户建立并初始化宿主目录

     -s  指定用户的登陆shell

     -l  更改用户账号的登陆名称

     -L  锁定用户账户

     -U  解锁用户账户

userdel---删除用户账号

  使用-r选项可以将该用户的宿主目录一并删除

★用户账号的初始配置文件

   来自于账号模板目录“/etc/skel”

 “.bash_profile”文件中的命令将在用户每次登录时被执行

 “.bashrc”文件中的命令在每次加载“/bin/bash”程序时被执行

 “.bash_logout”文件中的命令将在用户每次退出时被执行

5.组账号管理

★组账号文件

  与组账号相关的配置文件也有两个,分别是/etc/group、/etc/gshudow。前者用于报讯组账号的名称、GID号、组成员等基本信息。后者用于保存组账户的加密密码字串信息

groupadd命令---添加组账号

   -g  指定GID号

gpasswd---添加、删除组成员

  -a  添加用户成员

  -d  删除用户成员

  -M  可以同时添加多个用户

groupdel---删除组账号

  添加指定的组账号名称作为参数

6.用户和组账号查询

★groups命令---查询某个用户账户所属的组

★finger命令---查询用户账号的详细信息

★users、w、who命令---查询当前登录到主机的用户信息。

   三个命令查看的侧重点不同

    finger   列出用户登录名、终端、登录时间及个人信息等

    w   列出用户名、终端、执行的命令等各种统计信息

    who   列出用户名、终端、登录时间、来源地点等信息

   users   仅列出用户名信息

二 管理文件和目录的权限及归属

1. 在linux文件系统的安全模型中,为系统中的文件或目录赋予了两个属性:访问权限(权限)和文件所有者(归属)。访问权限包括读取、写入、可执行三种基本类型。归属包括属主、属组。

2.查看文件或目录的权限和归属

  ls -ld

  第一字段:表示该文件的访问权限  权限字段由4部分组成

         第1个字符:表示该文件的类型,可以是d(目录)、b(快设备文件)、c(字符设备文件)、减号“-”(普通文件)、字母“I”(链接文件)等

         第2-4个字符:表示该文件的属主用户(user)对该文件的访问权限

         第5-7个字符:表示该文件的属组内各成员用户(group)对该文件的访问权限

         第8-10个字符:表示其他任何用户(other)对该文件的访问权限

3.设置文件或目录的权限

   chmod命令实现。在设置针对每一类用户的访问权限时,可以采用两种形式的权限表示方法:子字符形式和数字形式。r、w、x权限字符可分别表示为八进制数字 4、2、1,表示一个权限组合时需要将数字进行累加。

  基本的命令格式

    ★chmod  【ugoa】【+-=】【rwx】

     “ugoa”表示该权限设置所针对的用户类别,“u”代表文件属组,“g”代表文件属组内的用户,“o”代表其他任何用户,“a”代表所有用户

      “+-=”表示设置权限的操作动作,“+”代表增加相应权限,“-”代表减少相应权限,“=”代表进设置对应的权限

      “rwx”是权限的字符组合形式,也可以拆分使用。

     ★chmod  nnn  文件或目录   nnn为需要设置的具体权限值

4.设置文件或目录的归属

  通过chown、chgrp命令进行。chown命令可以同时修改文件或目录的属组、属主,而chgrp命令只用于修改属组信息。

    基本的命令格式

   chown  属主【:【属组】】  文件或目录

   -R递归修改目录中所有子目录及文件的归属

5.使用附加权限

1.SET位权限

  SET位权限多用于给可执行的程序或脚本文件进行配置,其中SUID表示对属主用户增加SET位权限,SGID表示对属组内的用户增加SET位权限。执行文件被设置了SUID、SGID权限后,任何用户在执行该文件时,将获得该文件属主、属组账号对应的身份。

 

 设置了SET权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“s”。

2.粘滞位权限

  粘滞位主要用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限以后,即使用户对该文件有写入权限,也不能删除该目录中其他用户的文件数据。

  linux系统中/tmp、/var/tmp是系统的临时文件夹。

 设置了粘滞位权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“t”。