当前位置: 首页 > news >正文

Ubuntu中的用户管理(一)用户账户

Linux系统中通常有三种类型的用户:超级用户(super user),常规用户(regular user)和系统用户(system user)。超级用户的UIDGID都是0。常规用户的UID1000开始。系统用户的UID1—499,还包括65,534Ubuntu通常会为每一个大于1000UID创建不同的GID,系统管理员可以将其他用户添加到相同的GID,或者创建一个新的group,然后添加用户到这个group中。

Ubuntu使用文件/etc/passwd保存系统中的用户账户信息。所有的用户在passwd文件中都有一行条目,保存了用户名,编码后的密码,用户IDUID以及群IDGID)。最后两项是用户的/home目录,以及默认的shell/bin/bash)。


不管系统中有多少个系统管理员,都只有一个超级用户帐号。超级用户帐号,通常指的是root user,对系统拥有完全的控制权。超级用户是唯一的,超级用户的UIDGID都是0。如下:

root:x:0:0:root:/root:/bin/bash

Ubuntu默认禁用超级用户帐号,而是让系统的第一个用户通过sudo命令获得超级用户的所有权限。所以通常情况下你看到的命令提示符为($),当你需要执行系统管理命令时,需要在命令前加sudo,而后被提示输入密码,输入密码后,Ubuntu系统将会执行该条命令,就好像你是超级用户。

在其他Linux系统中,你想进入超级用户root时,输入命令su -nd,然后输入超级用户密码,即可看到超级用户命令提示符(#)。在Ubuntu中,你可以通过输入sudo -i,然后输入密码,看到超级用户命令提示符(#),当你执行完相关的命令后,输入exit,然后回车,就会回到常规用户提示符($)。

Ubuntu中,超级用户帐号是默认禁用的。但是你可以通过以下方法启用超级用户帐号:在终端输入sudo passwd,然后根据提示输入根用户的用户名和密码。超级用户(root account)被启用。由于以超级用户权限工作时,常常会造成不可修复的灾难,因此在Ubuntu中不推荐启用超级用户。


常规用户是指那些登陆到Linux系统,但不执行管理任务的用户,例如文字处理或者收发邮件等。超级用户通过文件和目录的访问权限给予普通用户以操作权限。例如:

cindy:x:1000:1000:cindy,,,:/home/cindy:/bin/bash

在这里你看到密码的位置是x,但这并不是真正的编码后的密码。所有的密码都编码存储在/etc/shadow文件中。在前面的内容中我们知道每个文件有三种权限,rwx(读写执行),而对于每个文件或目录,权限被分配给三类目标:用户,群组,和其他人。对文件权限的管理有三个常用的命令,如下:

chgrp——更改文件或目录的所属群组

chown——更改文件或目录的所属用户

chmod——更改文件或目录的访问权限


系统用户并不是一个人,也被称为逻辑用户或伪用户。系统用户没有相应的/home目录和密码。系统帐号通常是Linux系统使用的一个管理日常服务的管理帐号。例如,系统用户www-data拥有Apache web服务器和它相关的文件。只有系统用户www-data和超级用户具有这些文件的访问权限。在passwd中系统用户表示如下:

www-data:x:33:33:www-data:/var/www:/bin/sh


相关文章:

  • Ubuntu中的用户管理(二)群组管理
  • Ubuntu中的用户管理(三)用户管理
  • Ubuntu中的用户管理(四)密码管理
  • Ubuntu中的用户管理(五)授予常规用户系统管理员权限
  • Ubuntu中的用户管理(六)硬盘配额
  • Ubuntu中的用户管理(七)相关Ubuntu命令
  • Windows下Ubuntu 12.04 LTS 的安装(双系统使用EasyBCD)
  • Ubuntu 12.04下安装QQ2012Beta3
  • Ubuntu 12.04 中文输入法
  • Ubuntu下的截图软件Deepin Scrot
  • SHELL 编程入门与提高(一)第一个shell程序
  • Ubuntu 12.04 LTS 中文txt文件显示乱码问题
  • SHELL 编程入门与提高(二)bash/pdksh中的表达式比较
  • SHELL 编程入门与提高(三)SHELL中的语句详解(上)
  • SHELL 编程入门与提高(三)SHELL中的语句详解(下)
  • ES6指北【2】—— 箭头函数
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Android系统模拟器绘制实现概述
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript对象详解
  • JavaScript实现分页效果
  • js如何打印object对象
  • Kibana配置logstash,报表一体化
  • mysql中InnoDB引擎中页的概念
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • underscore源码剖析之整体架构
  • Vue 动态创建 component
  • webpack+react项目初体验——记录我的webpack环境配置
  • 闭包--闭包作用之保存(一)
  • 诡异!React stopPropagation失灵
  • 机器学习学习笔记一
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 实现简单的正则表达式引擎
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #define与typedef区别
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $.ajax()方法详解
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C#)一个最简单的链表类
  • (差分)胡桃爱原石
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)linux使用docker容器运行mysql
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (转)setTimeout 和 setInterval 的区别
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • ***检测工具之RKHunter AIDE
  • ..回顾17,展望18
  • .jks文件(JAVA KeyStore)
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .Net Winform开发笔记(一)