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. 【BZOJ4104】解密运算 [暴力]

    解密运算 Time Limit: 10 Sec  Memory Limit: 512 MB[Submit][Status][Discuss] Description 对于一个长度为N的字符串,我们在字 ...

  2. 【LA】5135 Mining Your Own Business

    [算法]点双连通分量 [题解]详见<算法竞赛入门竞赛入门经典训练指南>P318-319 细节在代码中用important标注. #include<cstdio> #includ ...

  3. Spring整合Quartz分布式调度(山东数漫江湖)

    前言 为了保证应用的高可用和高并发性,一般都会部署多个节点:对于定时任务,如果每个节点都执行自己的定时任务,一方面耗费了系统资源,另一方面有些任务多次执行,可能引发应用逻辑问题,所以需要一个分布式的调 ...

  4. 首行缩进css

    html首行缩进2字符,可以使用CSS属性中的[text-indent]进行设置. 设置代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...

  5. web_一些常用的线上脚本地址记录(个人使用)

    1.jquery <script src="http://code.jquery.com/jquery-1.4.1.min.js"></script> 2. ...

  6. webpack自动化构建你的项目

    1.读万卷书,行万里路. 2.书山有路勤为径,学海无涯苦作舟. 技术段: 相信很多刚接触前端的小伙伴,对一些自动化工具会感觉无可下手.现在前端的发展的势头,势必和后台形成一个对立面,独挡一面. 这篇文 ...

  7. servlet线程不安全

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAE9CAIAAABY1Yv/AAAgAElEQVR4nOy9eVxN2/8/viuaU5kqZW

  8. python基础===列表类型的所有方法

    链表类型有很多方法,这里是链表类型的所有方法: append(x) 把一个元素添加到链表的结尾,相当于a[len(a):] = [x] extend(L) 通过添加指定链表的所有元素来扩充链表,相当于 ...

  9. [转] Socket心跳包异常检测的C语言实现,服务器与客户端代码案例

    转载自:zxh2075的专栏 在Socket心跳机制中,心跳包可以由服务器发送给客户端,也可以由客户端发送给服务器,不过比较起来,前者开销可能较大.本文实现的是由客户端给服务器发送心跳包,服务器不必返 ...

  10. Trapping Rain Water——经典的双边扫描问题

    Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...