Linux用户:Username/UID

  管理员:root,0

  普通用户: 1-65535

    系统用户:1-499

      对守护进程获取资源进行权限分配;

    登陆用户:500+

      交互式登录;

Linux组:Groupname/GID

  管理员组:root,0

  普通组:

    系统组:1-499

    普通组:500+

Linux安全上下文:

  运行中的程序:进程(process)

    以进程发起者的身份运行;

  进程所能够访问的所有资源的权限取决于进程的发起者的身份;

Linux组的类别:

  用户的基本组(主组):

    组名同用户名,且仅包含一个用户:私有组

  用户的附加组(额外组):

Linux用户和组相关的配置文件:

  /etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);

  /etc/group:组及其属性信息;

  /etc/shadow:用户密码及其相关属性;

  /etc/gshadow:组密码及其相关属性;

/etc/passwd:

  account:password:UID:GID:GECOS:directory:shell

/etc/group:

  group_name:passwd:GID:user_list

  组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)

/etc/shadow:

root:$$pX89hXMLJ11VQTuV$efkL761n04ambIMkFwIsS2UvAmNU9ZMJMJwBje1N4HD0.alpduURuv9zF3S52W62wUqXSkQk2.VwXGQO.IhgZ.:::::::

用户名:$加密方式$杂质$加密后的密码:最近一次更改密码的日期:密码的最小使用期限:最大使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段

用户和组的相关管理命令:

  用户创建:useradd

    useradd [options] LOGIN

      -u UID:[ UID_MIN, UID_MAX ],定义在/etc/login.defs

      -g GID:指明用户所属基本组,可为组名,也可以GID;组必须事先存在。可以通过命令id USERNAME查看。

      -c "COMMENT":用户的注释信息;

      -d /PATH/TO/HOME_DIR:以指定的路径为家目录;

      -s SHELL:指明用户的默认shell程序,可用列表在/etc/shells文件中;

      -G GROUP1 [, GROUP2, ...[, GROUPN]]]:为用户指明附加组,组必须事先存在;

      -r:创建系统用户;

    默认值设定:/etc/default/useradd文件中

      useradd -D

        -s SHELL

      示例:

        useradd -D -s /bin/tcsh  修改默认值的,/etc/default/useradd

  示例: 

    [root@localhost ~]# tail -1 /etc/shadow
    tom:!!:17776:0:99999:7:::    两个!!表示账号处于禁用状态,linux是禁止空密码用户登陆的。

  练习:创建用户gentoo,附加组为distro和linux,默认shell为/bin/csh,注释信息为“Gentoo Distribution";

创建组:groupadd

  groupadd [options] group_name

    -g GID:指明GID号;

    -r:创建系统组;

查看用户相关的ID信息:id

  id [OPTION]... [USERNAME]

    -u:UID

    -g:GID

    -G:Groups

    -n:Name

切换用户或以其它用户身份执行命令:su

  su [OPTION]... [-] [USER [ARG]...]

    切换用户的方式:

      su UserName:非登录式切换,即不会读取目标用户的配置文件;

      su - UserName:登录式切换,会读取目标用户的配置文件,完全切换;

      Note:root su至其它用户无须密码;非root用户切换是需要密码;

    换个身份执行命令(账户不切换):

      su [ - ] UserName -c "COMMAND"

    选项:

      -l:“ su -l UserName" 相当于" su - UserName"

用户属性修改:usermod

  usermod [OPTION] login

    -u UID:更改UID;

    -g GID:更改GID;

    -G GROUP1 [, GROUP2, ...[, GROUPN]]]:新附加组,原来的附加组会被覆盖;若保留原有的,则要同时使用-a选项,表示append

    -l login_name:新的名字;

    -L:lock指定用户;

    -U:unlock指定用户;

给用户添加密码:passwd

  passwd [OPTION] UserName:修改指定用户的密码,仅root用户有权限。

  passwd:修改自己的密码;

    常用选项:

      -l:锁定指定用户

      -u:解锁指定用户;

      -n mindays:指定最短使用期限;

      -x maxdays:最大使用期限;

      -w warndays:提前多少天开始警告;

      -l inactivedays:非活动期限;

      --stdin:从标准输入接收用户密码;

        echo "PASSWORD" | passwd --stdin USERNAME  # 此种方式直接赋值,不需要确认。

      Note:/dev/null,bit buckets

         /dev/zero

删除用户:userdel

  userdel [OPTION]... login

    -r:删除用户家目录;

组属性修改:groupmod

  groupmod [OPTION]...group

    -n group_name:新名字

    -g GID:新的GID

组删除:groupdel

  groupdel GROUP

组密码:gpasswd

  gpasswd [OPTION] GROUP

    -a user:将user添加至指定组中;

    -d user:删除用户user的

    -A user1,user2,....:设置有管理权限的用户列表

  newgrp命令:临时切换基本组;

    如果用户本不属于此组,则需要组密码;

权限管理:

  文件的权限主要针对三类对象进行定义:

    owner:属主,u

    group:属组,g

    other:其它,o

  每个文件针对每类访问者都定义了三种权限:

    r:Readable

    w:Writable

    x:eXcutable

    文件:

      r:可使用文件查看类工具获取其内容;

      w:可修改其内容;

      x:可以把此文件提请内核启动为一个进程;

    目录:

      r:可以使用ls查看此目录中的文件列表;

      w:可在此目录中创建文件,也删除此目录中的文件;(能否删除一个文件,取决于此)

      x:可以使用ls -l 查看此目录中文件列表,可以cd进入此目录;

    

  修改文件权限:chmod

    chmod [OPTION]... OCTAL-MODE FILE...

      -R:递归修改权限

    chmod [OPTION]... MODE[,MODE]... FILE...

      MODE:

        修改一类用户的所有权限:  # 此种方式为全部修改,不涉及的改为无。

          u=r  # 修改后文件只有读权限,拥有的其它权限将修改为无

          g=

          o=

          ug=

          a=

          u=,g=

        修改一类用户某位或某些位权限,无法同时执行+-操作,如果操作中包含加和减使用上面修改方法。  # 此种方式为部分修改,不涉及的不修改。

          u+rw

          u-

          ug+

    chmod [OPTION]... --reference=RFILE FILE...

      参考RFILE文件的权限,将FILE的权限修改为同RFILE;

修改文件的属主和属组:

  仅root可用;

  修改文件的属主:chown  注:这个命令也可以修改属组

    chown [OPTION]... [OWNER][:[GROUP]] FILE...

    用法:

      OWNER

      OWNER:GROUP

      :GROUP

      Note:命令中的冒号可用.替换

    示例:chown :root fstable 

      -R:递归

    chown [OPTION]... --reference=RFILE FILE...

修改文件的属组:chgrp

  chgrp [OPTION]... GROUP FILE...

  chgrp [OPTION]... --reference=RFILE FILE...

文件或目录创建时的遮罩码:umask

  FILE:666-umask

    Note:如果某类用户的权限减得的结果中存在x权限,则将其权限+1

  DIR:777-umask

  umask:查看

  umask #:设定

Linux:Day4(下) 用户及组管理的更多相关文章

  1. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...

  2. Linux下用户和组管理

    用户与组之间的关系是,组下面有若干个用户,每个用户必须从属于唯一一个组.组可以理解为权限的集合.用户管理的命令有:useradd, userdel, usermod, passwd, chsh, ch ...

  3. linux基础之用户和组管理及权限

    一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...

  4. 【Linux下用户和组管理】

    创建用户--useradd . 命令格式:useradd [参数] 用户名 useradd也可写成adduser . 参数如下 -u 指定UID号 -d 指定宿主目录 -e 指定生效时间 -g 指定基 ...

  5. 浅析Linux系统下用户与权限管理

    Linux作为一种多用户多任务操作系统,在日常的使用中不可避免地要划分出一个角色的概念来管理和使用计算机,这个角色与每一个计算机使用者关联,在Linux中称这种角色为用户.而在每一个用户使用计算机的过 ...

  6. Linux命令之用户与组管理

    介绍 Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统严格约束的正式这种清晰.严谨的用户与用户组管理系统.在很 ...

  7. 命令行界面下用户和组管理之groupmod和groupdel的使用

    NAME    groupmod - modify a group definition on the system SYNOPSIS       groupmod [options] GROUP O ...

  8. 命令行界面下用户和组管理之userdel的使用

    userdel - delete a user account and related files 在Linux中,userdel命令的功能是删除系统中的用户及相关的文件 语法    userdel ...

  9. 命令行界面下用户和组管理之groupadd的使用

    groupadd - create a new group groupadd命令用于创建一个新的组 语法     groupadd [options] group 选项:    -h 获得帮助信息   ...

随机推荐

  1. HTML5效果:实现树叶飘落

    实现如图所示的东西效果(落叶下落): html代码: <!DOCTYPE html> <html> <head> <title>HTML5树叶飘落动画& ...

  2. SqlMapConfig配置加注解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...

  3. 在PeopleSoft中,什么是AlterAudit,Sysaudit和DDDAudit报告

    Alter Audit-是一个进程,它标识任何需要SQL Alter process的记录.即:如果AD中定义的record与数据库的中定义不匹配则标识该记录为应该修改. SQL Alter-AD中的 ...

  4. 实战 | Android中文图混排时文图的居中对齐 FontMetrics以及自定义ImageSpan实现

    这个标题有点长,乍一看这么个标题你可能没明白啥意思,且听我慢慢道来. 公司的项目中新增了一个“心动” 的功能,用户初次使用时需要给一个引导页,就是下面图中的这个样子(这就是做完之后的效果了). 在上图 ...

  5. web-worker 的使用

    JavaScript采用的是单线程模式,它每次也只能执行一个事件,所以它在加载大量的事件的时候会比较慢. 而web-worker的作用就是给JavaScript提供一个多线程的模式. 注意的是 web ...

  6. Java根据年龄段获取对应年份起始时间戳和最终时间戳、根据生日时间戳获取月份(与数据库的时间戳处理成的月份拼接成SQL条件)

    1.传入年龄段,两个值,一个最小值,一个最大值,然后获取该年龄段的两个时间戳: (1)处理时间方法: /** * 根据年龄获取时间戳(开始年龄key取0,返回一年最后一秒时间戳,时间戳大:反之结束年龄 ...

  7. (后端)Mybatis中#{}和${}传参的区别及#和$的区别小结(转)

    原文地址:https://www.cnblogs.com/zqr99/p/8094234.html 最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下, ...

  8. 基于pygame实现飞机大战【面向过程】

    一.简介 pygame 顶级pygame包 pygame.init - 初始化所有导入的pygame模块 pygame.quit - uninitialize所有pygame模块 pygame.err ...

  9. Python基于皮尔逊系数实现股票预测

    # -*- coding: utf-8 -*- """ Created on Mon Dec 2 14:49:59 2018 @author: zhen "&q ...

  10. JQuery实现全选、全不选和反选功能

    看重点就行了,最后面给一个网页完整的代码 代码实例: function selectStu() { $.ajax("StuList",{ type:"post" ...