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. 用函数式编程对JavaScript进行断舍离

    译者按: 当从业20的JavaScript老司机学会函数式编程时,他扔掉了90%的特性,也不用面向对象了,最后发现了真爱啊!!! 原文: How I rediscovered my love for ...

  2. 2018-12-03 VS Code英汉词典插件v0.0.7-尝试词性搭配

    续上文VS Code英汉词典插件v0.0.6-改为TS实现, 加测试后, 继续重构(提取常量, 避免var, 添加类型等等), 并完善测试. 测试方法参考: Testing Visual Studio ...

  3. 2018-06-20 中文代码示例视频演示Python入门教程第三章 简介Python

    知乎原链 Python 3.6.5官方入门教程中示例代码汉化后演示 对应在线文档: 3. An Informal Introduction to Python 不知如何合集, 请指教. 中文代码示例P ...

  4. 如何用ABP框架快速完成项目(10) - ABP只要加人即可马上加快项目进展- 全栈篇(1) - 发挥DDD理论优势的时候到了!

    正如我在<程序员英语二三事(2) - 从听开始>里说的, 任何技术/工具/语言都有其适用场景和上下文环境. DDD理论同样是如此.   现在, 终于到了发挥DDD理论优势的时候啦!   一 ...

  5. Python_记一次网站数据定向爬取实现

    记一次网站数据定向爬取实现 by:授客 QQ:1033553122 测试环境: Python版本:Python 3.4 Win7 请勿用于商业及非法用途,仅供学习研究用,否则后果自负 数据爬取场景 如 ...

  6. (python)数据结构---字典

    一.描述 由键值key-value组成的数据的集合 可变.无序的,key不可以重复 字典的键key要可hash(列表.字典.集合不可哈希),不可变的数据结构是可哈希的(字符串.元组.对象.bytes) ...

  7. 个人项目:Java实现WC

    Java实现WC Github项目地址:https://github.com/auxshaw/WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个 ...

  8. Bresenham算法的实现思路

    条件已知两个点的坐标p1(x0,y0),p2(x1,y1)要求画出这条直线 之后的e代表每次的误差积累,初始值为0,可以计算出斜率为k=dy/dx=(y0-y1)/(x0-x1) 1.x为阶跃步长(直 ...

  9. MSSQL Sql加密函数 hashbytes 用法简介

    转自:http://www.maomao365.com/?p=4732 一.mssql sql hashbytes 函数简介 hashbytes函数功能为:返回一个字符,通过 MD2.MD4.MD5. ...

  10. EOS智能合约开发(三):EOS创建和管理账号

    没有看前面文章的小伙伴可以看一下 EOS智能合约开发(一):EOS环境搭建和启动节点 EOS智能合约开发(二):EOS创建和管理钱包 创建好钱包.密钥之后,接下来你就可以创建账号了,账号是什么?账号保 ...