一:概念

  - 在 Linux 中,分为三种用户

    - 普通用户 (即为所有使用 Linux 的真实用户)

    - 根用户 (即为 root 用户,拥有对于系统的完全控制)

    - 系统用户 (系统运行时的必须用户,但并不是真实用户,例如 PHP 的 www-data)

  - UID/GID (用户ID/组ID)概念

    - 在 Linux 中,使用一个 32位整数 来记录每一个用户(USER ID 简称 UID)

    - 这意味着在 Linux 中,可以有 40亿 个不同的用户。

    - 系统默认从 500之后创建用户/组 (1-499系统用户使用)

    -  用户的 UID/GID(Group ID 简称 GID) 为 0.

  - 用户信息存在哪?

    - 在 /etc/passwd 记录了每一个用户组/权限等信息

    - 由于每个用户都有权限查看 /etc/passwd 权限.对于密码来说,是不安全的。

    - 所以现代 Linux 将 密码信息剥离到了 /etc/shadow 里面,只有 root 用户 可以查看

二: 账号管理

  - useradd 添加用户

    - 推荐使用 useradd -m 用户名 创建用户,这样会同时生成用户 ‘家(home)’ 目录。

      • root@1feebb8a548b:~# useradd -m homework
        
        root@1feebb8a548b:~# cd /home/homework/
        root@1feebb8a548b:/home/homework# pwd
        /home/homework

    - 用户创建成功后,Linux 会在在 /etc/passwd 和 /etc/shadow 追加该用户记录,同时分配一个 UID 和 GID

      • cat /etc/passwd
        ...
        homework:x::::/home/homework: cat /etc/shadow
        ...
        homework:!:::::::

    - 同时创建这个用户组

      • cat /etc/group
        ...
        homework:x::

  

  - passwd 修改密码

    - 没有设置过密码的用户(在 /etc/shdow 里面会有 ! 作为标识)  是不允许登录的.

  - usermod 修改用户

    - 冻结账户     usermod -L 用户名

    - 解冻账户     usermod -U 用户名

    - 指定家目录  usermod -d /home/homework_new -m 用户名

      - -m 的作用为,创建新的家目录文件 并指向新的家目录

  - usedel 删除用户

    - 使用 usedel 删除用户, 同时会删除 /etc/passwd 和 /etc/shadow 的记录

    - 但是 Linux  出于安全考虑,并不会删除所有的用户记录(保留邮件和家目录)

    - 如果想彻底删除,使用 usedel -r 用户名 可以删除与用户相关的所有信息。

三:  用户组管理

  - groupadd 新增用户组

    - groupadd 组名,新增的用户组可在 /etc/group 中查看

  - groupdel 删除用户组

    - groupdel 组名, 如果组内有成员,则删除失败

四:  用户信息

  - id (查看自己的 UID 和 GID)

  - who (查看当前登录用户) 

    • homework@lihong ~ $ who
      用户名 来源 日期
      homework pts/ -- : (xx.xx.xx.xx)
      homework pts/ -- : (xx.xx.xx.xx)

  - w (查看当前登录用户详细信息)

    • 
      
      17:48:12 up 77 days, 21:26,  8 users,  load average: 0.03, 0.06, 0.01
      USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
      用户名 终端 来源 登录时间 闲置时间 与终端相关的CPU运行量 与当前WHAT进程消耗的CPU时间总量 当前运行进程
      homework pts/1 xxx.xx.xxx.xx 15:07 6:15 0.07s 0.07s -bash
      homework pts/2 xxx.xx.xxx.xx Wed15 25:13m 0.08s 0.01s tail -f php-error.log
      homework pts/9 xxx.xx.xxx.xxx 17:47 0.00s 0.00s 0.00s w

-

《linux 用户管理》- useradd/userdel/usermod/groupadd/who/w的更多相关文章

  1. Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

    一. 概述  在上一篇中讲到了与用户账户有关的二个文件passwd和shadow,以及useradd工具的介绍.这篇接着讲useradd+参数,删除用户,修改用户的演示. 1. 删除用户userdel ...

  2. Centos-用户管理-useradd userdel usermod groupadd groupdel id

    linux是多用户.多任务操作系统 linux角色分类 超级用户 root # 管理员.特定服务主进程 0 普通用户    $  普通管理员.服务运行需要的用户 500~65535 虚拟用户 不能登录 ...

  3. CentOS 用户管理useradd、usermod等

    1.创建新用户useradd,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组. 主要参数: -d 指定用户的家 ...

  4. Linux 用户管理命令-userdel和su

    userdel [选项] 用户名,可以删除用户,常用选项 -r :删除用户的同时删除用户的家目录,一般都要用,例如:userdel -r xbb 新建用户和删除用户的本质也就是修改了 /etc/sha ...

  5. Linux用户管理——useradd

    除了useradd还有一个命令adduser,两者是链接关系 [root@51cto ~]# which adduser /usr/sbin/adduser [root@51cto ~]# which ...

  6. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  7. Linux用户管理(笔记)

    用户:UID, /etc/passwd组:GID, /etc/group 影子口令:用户:/etc/shadow组:/etc/gshadow 用户类别:管理员:0普通用户: 1-65535    系统 ...

  8. 11.Linux用户管理

    本笔记说的Linux用户管理主要包括以下内容: 1.用户配置文件(/etc/passwd  /etc/shadow) 2.组配置文件(/etc/group  /etc/gshadow) 3.用户缺省配 ...

  9. Linux用户管理的复习时间

    所谓三天不练手生,你还记得关于Linux用户管理的所有知识吗?现在就来跟我一起复习一下吧! 1.常用配置文件 用户信息文件: /etc/password 密码文件: /etc/shadow 用户组文件 ...

随机推荐

  1. 浅谈.net中事务

    .net中的事务 关键几点 概念:1:什么是事务 2:什么时候用事务 3:基本的语法 (1): 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常 ...

  2. EventBus vs Otto vs Guava--自定义消息总线

    同步发表于http://avenwu.net/ioc/2015/01/29/custom_eventbus Fork on github https://github.com/avenwu/suppo ...

  3. 奇葩问题 eclipse中DDMS的LOGcat只有一列level

    http://stackoverflow.com/questions/25010393/eclipse-logcat-shows-only-the-first-letter-from-each-mes ...

  4. X-Frame-Options 配置

    最近在修改ASP老网站,使用是iframe框架部署上去后出现“此内容不能显示在一个框架中”错误 以下错误解决方案是需要配置:X-Frame-Options X-Frame-Options: 他的值有三 ...

  5. 在Android Studio中查看Sqlite的方法

    只说最好的方法,使用工具stetho:http://facebook.github.io/stetho/ 1.在Gragle中加上如下语句: dependencies { // Stetho core ...

  6. 修改git用户密码

    第一步:登录git服务器: 第二步:切换到git用户 su git 第三步:登录GitLab的Rails控制台(GitLab使用RoR语言开发), gitlab-rails console produ ...

  7. 八、K3 WISE 开发插件《工业单据老单插件中获取登陆用户名》

    备注:如果是BOS新单,都有获取用户名的方法.在单据有m_BillInterface.K3Lib.User.UserId,在序时薄有m_ListInterface.K3Lib.User.UserID ...

  8. nginx 自启动脚本

    nginx 自启动脚本 创建脚本 cd /etc/init.d vi nginx 脚本如下: #! /bin/bash # chkconfig: 35 85 15 # description: Ngi ...

  9. iOS - 开发中加载本地word/pdf文档说明

    最近项目中要加载一个本地的word/pdf等文件比如<用户隐私政策><用户注册说明>,有两种方法加载 > 用QLPreviewController控制器实现 步骤 : & ...

  10. python 闭包用法

    def make_addr(addend): def addr(augend): return augend + addend return addr p = make_addr(23) q = ma ...