操作系统通过用户、组概念来管理使用计算机的人

用户代表一个使用计算机的使用者,操作系统通过用户概念限制一个使用者能够访问的资源

组用来组织管理用户

用户具有以下概念:

每个用户有一个用户名和一个用户ID(UID),用户ID是操作系统真正用来管理标识用户的,UID为32位长,从0开始,最大一般到60000。

用户分为:root用户(uid为0)、系统用户(uid 1~499)、普通用户(uid 500+)

每个用户有一个家目录,用来保存用户私有数据,root用户的家目录为/root,普通用户家目录为/home下与用户名相同的目录

每个可登陆用户拥有一个指定的shell

一个用户可以属于一个主组,可以属于一个或多个附属组

用户、组信息保存在以下三个文件中:
/etc/passwd 用户信息
/etc/shadow 用户密码
/etc/group 组信息

以下命令用以显示登陆用户信息:
whoami 显示当前用户
who 显示登陆的用户的信息
w 显示登陆的用户的详细信息

创建用户:
useradd 新用户名
该命令执行以下操作:
1,在/etc/passwd添加用户信息;
2,如果使用passwd命令创建密码,则密码加密保存在/etc/shadow
3,为用户建立一个新的家目录
4,将/etc/skel中的文件复制到用户的家目录中
5,建立一个与用户名相同的组,并默认属于这个同名组

useradd支持以下参数:
-d 指定家目录
-s 登陆shell
-u userid
-g 主组
-G 附属组(最多31个,用“,”分割)

修改用户信息usermod
usermod 参数 username
支持以下参数:
-l 新用户名
-u 新用户ID
-d 用户家目录位置
-g 用户所属主组
-G 所属附属组
-L 锁定用户使其不能登陆
-U 解除锁定

删除用户:
userdel 用户名 (删除用户,保留家目录)
userdel -r 用户名 (删除用户,包括家目录)


通过组,可以更加方便地归类、管理用户。
每个用户拥有一个主组,同时还可以拥有最多31个附属组。

创建组:
groupadd 组名

删除组:
groupdel 组名

修改组:
groupmod -n newname oldname 修改组名
groupmod -g newid oldid 修改组ID

Linux学习笔记13-用户和组的更多相关文章

  1. linux学习笔记-5.用户和组

    1.添加一个tom用户,设置它属于users组,并添加注释信息 分步完成: useradd tom usermod -g users tom usermod -c "hr tom" ...

  2. 《鸟哥的Linux私房菜》学习笔记(4)——用户和组

    一.用户和组的基本概念                                              1.用户 用户:用于获取计算机资源或服务的标识符,比如用户名.计算机处理的是UID,用 ...

  3. Linux学习笔记:用户与用户组

    基本概念 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户 也就是说任何需要使用操作系统的用户,都 ...

  4. Linux学习笔记1_用户和权限

    自从我大微软终于放下身段,决定给开源社区一个迟来的拥抱,追随多年的拥趸们像是突然得到了女神的垂青,各种茫然失措.痛哭流涕.欢欣鼓舞,纷纷唱了起来:“等了好久终于等到今天,梦了好久终于把梦实现……”唱完 ...

  5. Linux学习笔记13——使用curses函数库

    一 安装curses库 如果你的Linux系统中curses库,直接敲入命令sudo apt-get install libncurses5-dev,然后就会自动安装curses库,安装好之后敲入命令 ...

  6. linux —— 学习笔记(用户管理与权限控制)

    目录:1.用户的创建和管理    2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel . ...

  7. LINUX 学习笔记 账号与群组的管理

    LINUX 账号与群组的管理 UID:UserID 保存文件:/etc/passwd GID:GroupID 保存文件:/etc/group /etc/passwd 文件结构 一行代表一个账号,里面还 ...

  8. linux学习笔记-13.进程控制

    1.查看用户最近登录情况 lastlastlog 2.查看硬盘使用情况 df 3.查看文件大小 du 4.查看内存使用情况 free 5.查看文件系统 /proc 6.查看日志 ls /var/log ...

  9. Android(java)学习笔记13:线程组的概述和使用

    1. Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. (1)默认情况下,所有的线程都属于主线程组. public final T ...

随机推荐

  1. MongoDB更新文档

    说明:来看一下关系型数据库的update语句 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某 其中where子句就类似查询文本,定位要更改的子表,set子句类似于修改器,更 ...

  2. 【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历

    2013年给1个大学的小客户部署过一个小型的Asp.NET网站,非常小,用的sqlite数据库,今年人家说要换台服务器,要重新部署一下,好吧,虽然早就过了服务时间,但无奈谁叫人家是客户了,二话不说,上 ...

  3. Advice for students of machine learning--转

    原文地址:http://www.mimno.org/articles/ml-learn/ written by david mimno One of my students recently aske ...

  4. Android 软键盘弹出时把原来布局顶上去的解决方法

    键盘弹出时,会将布局底部的导航条顶上去. 解决办法: 在mainfest.xml中,在和导航栏相关的activity中加: <activity            android:name=& ...

  5. Spark入门实战系列--5.Hive(上)--Hive介绍及部署

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Hive介绍 1.1 Hive介绍 月开源的一个数据仓库框架,提供了类似于SQL语法的HQ ...

  6. SQL Server代理(3/12):代理警报和操作员

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 如我们在这个系列的文章里所见,SQL Se ...

  7. EF总结

    1.Entity Framework 查询历史最严重bug求解十万火急 2.http://www.cnblogs.com/badly1984/p/3203565.html 3.Entity Frame ...

  8. C语言学习002:第一个完整的C程序代码

    #include <stdio.h>//引用相关的外部库,stdio.h包含了终端读写数据的代码 //程序入口,程序通过main函数的返回值判断程序是否运行成功,0表示成功,非0表示程序运 ...

  9. 在_Layout模版中使用@Styles.Render()没有效果

    刚才有测试一个功能,就是在_Layout母版中使用了@Styles.Render()时行Render样式文件,所有在此母版下的视图均没有应用到样式,没有效果.是什么原因? 经查证资料,原来Insus. ...

  10. 【UWP】不通过异常判断文件是否存在

    从WP升到WinRT(Win8/WP8.1/UWP)后所有的文件操作都变成StorageFile和StorageFolder的方式,但是微软并没有提供判断文件是否存在的方法通常的做法我们可以通过下面方 ...