Ubuntu账户:
Ubuntu有三类账户:超级用户、普通用户以及系统用户。
每一个用户在ubuntu中都必须拥有一种账户,在Ubuntu中, /etc/passwd用来保存每个账户的信息。实际密码保存在 /etc/shadow中。
/etc/passwd文件每行基本格式:
username:password:uid:gid:gecos:homedir:shell
大多数都顾名思义,值得一提的是gecos是用于存放杂项信息的,一般不适用。

在Ubuntu中,普通用户可以使用sudo命令来完成系统管理员的操作。若想激活root用户,只需在命令行中输入sudo passwd root,并键入密码即可。
若想使用root终端,而不必每次键入sudo,则只需要输入sudo -i,便可看到“#”符号,完成工作后输入exit退出回到普通用户状态即可。

Ubuntu通过UID(user id)和GID(group id)区分不同的用户及用户组,root用户的UID和GID都为0.
1~499以及65534是系统用户的UID,普通用户的UID从1000开始递加。Ubuntu为每个大于1000的UID建立一个私有GID,管理员可以添加一个用户到某个GID,不允许一个用户分处多组。
文件访问权限:
Ubuntu用户访问权限分为3类,一次为Owner,Group,Other。每一类又分为r(read), w(write), x(execute),对应一个三位二进制码。
例如:777表示Owner,Group,Other都具有r, w, x权限。
其中,改变权限的命令为:
chgrp: 改变用户组权限
chown: 改变所有者
chmod: 改变访问权限

用户组管理:
用户组管理内容存储于/etc/group 文件中。
用于构成一个新用户的主目录所需的文件都位于/etc/skel中。这就为系统管理员提供了很多方便,因为任何需要大范围使用的文件,联系或目录都可以存放到/etc/skel中,创建新用户时系统会自动以合适权限分配给每一个新用户。

用户组管理命令:

  1. groupadd
  2. groupdel
  3. groupmod:改变用户组名称或GID,不会更改其中用户。
  4. gpasswd:创建用户组的口令。每个用户组都可以设置用户组口令和用户组管理员。-A参数可将一个用户指派为用户组管理员
  5. useradd -G,使用-G参数可以在用户最初创建的时候将它添加到某用户组
  6. grpck: 检查/etc/group文件的格式
  7. usermod -G:在用户没有登录到系统时将它添加到某用户组
    例如:
    useradd bbb -p abc -s j/bin/zsh -u 507:其中-p指定密码 -s指定shell,-u指定UID

权限提升:
命令 su - 将用户转变为root用户,并继承root用户环境变量等信息。(su的意义为substitute user)
命令su 将用户转变为root用户,不继承其他信息。

权限提升一般形式为sudo command。
使用了速冻命令后,速冻会核对/etc/sudoers文件,sudoers文件每行基本格式如下:
user host_computer=command

user字段可以是单独的用户或用户组(用%前缀表示用户组)
host——computer字段一般表示网络中所有主机ALL或本机localhost(也可以指定为单独一台机器)
command可以是ALL,指定的命令或者受限命令(即不能使用该命令,用!前缀表示)

Ubuntu用户管理原理的更多相关文章

  1. Ubuntu 用户管理/权限管理

    Ubuntu 用户管理/权限管理 小小记录一下 Ubuntu 下用户/权限管理常用的一些命令 用户管理 组管理 文件权限 给用户添加 sudo 权限 给用户添加 sudo 权限 首先先给出几个文件 / ...

  2. Ubuntu用户管理

    本文主要介绍Ubuntu的用户管理,包括建立和删除用户,用户授权等 ================== 创建用户并授权================== sudo adduser xxx 会在ho ...

  3. Ubuntu 破解密码及用户管理

    Ubuntu 破解密码及用户管理 ubuntu 16.04 破解密码 useradd 实现以下要求 1.ubuntu16.04破解密码 2.创建下面的用户.组和组成员关系 名字为xipudata 的组 ...

  4. mongodb3 ubuntu离线安装(非apt-get)及用户管理

    目前mongodb已经出到3.x,相对于2.x改动较大,本着学新不学旧的原则来捣鼓nosql数据库.最初想着apt-get安装但是软件源上都是2.x的,遂下载好后传到服务器安装. 1.下载 不得不说国 ...

  5. 基于操作系统原理的Linux 的用户管理

    一.实验目的 1.掌握为root用户修改密码的方法. 2.掌握创建新用户的方法. 3.掌握用户组的管理方法. 4.掌握为用户授权的方法. 二.实验内容 1.Linux的用户管理 (1)创建新用户创建新 ...

  6. ubuntu APT-GET工作原理

    转 http://kurenai.elastos.org/2013/05/02/ubuntu-apt-get%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86/   先介绍几个和 ...

  7. Linux运维六:用户管理及用户权限设置

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  8. Linux(7):用户管理

    用户管理 让一个脚本或命令开机自启动的方法: # 方法一: 把脚本放到 /etc/rc.local 中 # 方法二: 把脚本或命令通过 chkconfig 管理 # 如何让一个脚本被 chkconfi ...

  9. linux 用户管理(一)

    本节内容梗概: 1.用户管理配置文件 2.用户管理命令 3.用户组管理命令 4.批量添加用户 5.用户授权 学东西先讲原理,所以从配置文件入手 1.用户信息文件  /etc/passwd 存放了用户的 ...

随机推荐

  1. ClassCastException: org.apache.tomcat.websocket.server.WsServerContainer cannot be cast to javax.websocket.server.ServerContainer

    21:09:22.221 [MessageBroker-3] INFO c.t.s.s.impl.StockNewsServiceImpl - [2017-12-16 21:09:22] execut ...

  2. 省队集训 Day3 吴清华

    [题目大意] 给网格图,共有$n * n$个关键节点,横向.纵向距离均为$d$,那么网格总长度和宽度均为$(n+1) * d + 1$,最外围一圈除了四角是终止节点.要求每个关键节点都要通过线连向终止 ...

  3. GitLab 迁移与升级

    参考: [ 博客园 BigBao ] 环境说明: OS: CentOS 7.x gitlab-ce 初始版本: 8.8.5 gitlab-ce 升级到版本: 11.2.3 升级方式: rpm 安装升级 ...

  4. 关于scala 集合 List Map Set

    1,数组 2,List,ListBuffer 3, Map , mutable.Map

  5. Tomcat的安装以及基本配置

    Tomcat是目前最常见也是最流行的基于java的一个web服务器软件   Tomcat的安装   (1)首先需要java环境,也就是说要依赖于java虚拟机JVM   (2)下载Tomcat ,地址 ...

  6. Python 关于拷贝(copy)汇总(列表拷贝 // 字典拷贝 // 自定义对象拷贝)

    1.列表拷贝 引用是指保存的值为对象的地址.在 Python 语言中,一个变量保存的值除了基本类型保存的是值外,其它都是引用,因此对于它们的使用就需要小心一些.下面举个例子: 问题描述:已知一个列表, ...

  7. rabbitmq之配置文件详解(二)

    前言 前面介绍了erlang环境的安装和rabbitmq环境安装,接下来对rabbitmq详细配置: 设置配置文件 rabbitmq的系统配置文件一般是rabbitmq.conf,可以登录后台查看它的 ...

  8. python基础===PEP网站,代码规范指南

    PEP 8是最古老的PEP之一,它向Python程序员提供了代码格式设置指南.PEP 8的篇幅很长,但大都与复杂的编码结构相关. https://python.org/dev/peps/pep-000 ...

  9. C 实现一个简易的Http服务器 (二)

    正文 - 直接搞起 C 实现一个简易的Http服务器 很久以前写过一个简易的http服务器, 后面和一个朋友交流, 反思后发现问题不少.在这里简单搞一下. 让其更加简单去表现httpd本质, 弱化协议 ...

  10. mssql批量刷新多个表的数据

    DECLARE @SQL VARCHAR(MAX)SELECT @SQL=ISNULL(@SQL,'')+' UPDATE '+NAME+' SET B=3 WHERE B=2'FROM SYSOBJ ...