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. WORLD F4快捷重复上一步操作

    只需做一次动作,后面就直接按F4即可重复上一次操作.

  2. 网页字体在Frontpage2000制作网页中的讲解

    运用HTML,我们可以对字体的大小及字形进行简单的修改,但要进行统一地控制.创建特殊效果,就必须要用到CSS.它能让您更有效地控制网页外观,并可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力. ...

  3. select2 插件编辑时设置默认值

    function htDate(selectCustomerId, val) { var customerId = selectCustomerId; var values = val; ajaxJs ...

  4. 动态的根据一个资源名获得到对应的资源id

    在做项目的过程中,遇到了一个需求,在Android代码里可以通过图片的ID动态加载图片.要加载Android文件夹里面的图片,我们就要知道它的ID,要动态获取,那么就得动态获取图片的ID. 那么应该怎 ...

  5. Android Touch事件传递机制 二:单纯的(伪生命周期) 这个清楚一点

    转载于:http://blog.csdn.net/yuanzeyao/article/details/38025165 在前一篇文章中,我主要讲解了Android源码中的Touch事件的传递过程,现在 ...

  6. Foundry feats. MultiverseStudio

    https://www.foundry.com/news-awards/foundry-jcube-announcement 经过这么多年的过程,本周本产品终于发布了PR,这次是由Foundry独家代 ...

  7. zxing开源库的基本使用

    如果你的项目中有模块跟二维码相关的话,那你一定听过或者用过大名鼎鼎的zxing开源库. 什么是zxing? ZXing是一个开源的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其 ...

  8. [转] Vue生命周期

    Vue生命周期 这是Vue文档里关于实例生命周期的解释图 那么下面我们来进行测试一下 <section id="app-8"> {{data}} </sectio ...

  9. 第一篇-Html标签中head标签,body标签中input系列,textarea和select标签

    第十四周课程(1-12章节) HTML 裸体 CSS   穿华丽衣服 Javascript 动起来 一 HTML (20个标签) 1.我们的浏览器是socket客户端 2.一套规则,浏览器认识的规则 ...

  10. PyCharm 专业版激活方法

    郑重声明: JetBrains公司的PyCharm专业版是收费的,本文所述激活方法仅限于短时内体验和试用PyCharm专业版,使用后请当天立即删除.若需要继续使用PyCharm专业版,请在官网购买.当 ...