Ubuntu用户管理原理
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中,创建新用户时系统会自动以合适权限分配给每一个新用户。
用户组管理命令:
- groupadd
- groupdel
- groupmod:改变用户组名称或GID,不会更改其中用户。
- gpasswd:创建用户组的口令。每个用户组都可以设置用户组口令和用户组管理员。-A参数可将一个用户指派为用户组管理员
- useradd -G,使用-G参数可以在用户最初创建的时候将它添加到某用户组
- grpck: 检查/etc/group文件的格式
- 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用户管理原理的更多相关文章
- Ubuntu 用户管理/权限管理
Ubuntu 用户管理/权限管理 小小记录一下 Ubuntu 下用户/权限管理常用的一些命令 用户管理 组管理 文件权限 给用户添加 sudo 权限 给用户添加 sudo 权限 首先先给出几个文件 / ...
- Ubuntu用户管理
本文主要介绍Ubuntu的用户管理,包括建立和删除用户,用户授权等 ================== 创建用户并授权================== sudo adduser xxx 会在ho ...
- Ubuntu 破解密码及用户管理
Ubuntu 破解密码及用户管理 ubuntu 16.04 破解密码 useradd 实现以下要求 1.ubuntu16.04破解密码 2.创建下面的用户.组和组成员关系 名字为xipudata 的组 ...
- mongodb3 ubuntu离线安装(非apt-get)及用户管理
目前mongodb已经出到3.x,相对于2.x改动较大,本着学新不学旧的原则来捣鼓nosql数据库.最初想着apt-get安装但是软件源上都是2.x的,遂下载好后传到服务器安装. 1.下载 不得不说国 ...
- 基于操作系统原理的Linux 的用户管理
一.实验目的 1.掌握为root用户修改密码的方法. 2.掌握创建新用户的方法. 3.掌握用户组的管理方法. 4.掌握为用户授权的方法. 二.实验内容 1.Linux的用户管理 (1)创建新用户创建新 ...
- 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/ 先介绍几个和 ...
- Linux运维六:用户管理及用户权限设置
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...
- Linux(7):用户管理
用户管理 让一个脚本或命令开机自启动的方法: # 方法一: 把脚本放到 /etc/rc.local 中 # 方法二: 把脚本或命令通过 chkconfig 管理 # 如何让一个脚本被 chkconfi ...
- linux 用户管理(一)
本节内容梗概: 1.用户管理配置文件 2.用户管理命令 3.用户组管理命令 4.批量添加用户 5.用户授权 学东西先讲原理,所以从配置文件入手 1.用户信息文件 /etc/passwd 存放了用户的 ...
随机推荐
- 【BZOJ4880】排名的战争 [暴力]
排名的战争 Time Limit: 8 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 小Q是一名出色的质检员,他负责质检 ...
- SQL语句中的单引号处理以及模糊查询
为了防止程序SQL语句错误以及SQL注入,单引号必须经过处理.有2种办法: 1.使用参数,比如SELECT * FROM yourTable WHERE name = @name; 在C#中使用Sql ...
- Maven学习笔记(一)
我们暂且可以把Maven理解成是一个项目构建与依赖管理的工具 为什么选用maven? 约定(惯例)优先原则,默认限定了项目目录结构 提供三方依赖管理(解决了依赖维护的问题) 提供了一致的项目构建管 ...
- HTML -- get与post提交方式的区别 -- (转)
在写代码过程中,get与post是两种不同的提交方式.下面,列举出两种方式的不同. 方法/步骤 get是从服务器上获取数据,post是向服务器传送数据. get是把参数数据队列加到提交表单的A ...
- hdfs文件上传机制与namenode元数据管理机制
1.hdfs文件上传机制 文件上传过程: 1.客户端想NameNode申请上传文件, 2.NameNode返回此次上传的分配DataNode情况给客户端 3.客户端开始依向dataName上传对应 ...
- Java中class的初始化顺序
由于Java 中的一切东西都是对象,所以许多活动 变得更加简单,这个问题便是其中的一例. 除非真的需要代码,否则那个文件是不会载入的.通常,我们可认为除非那个类的一个对象构造完毕, 否则代码不会真 ...
- 常见网络命令之traceroute命令一起其他常用命令
备注:任何命令+/?就可以显示命令帮助,比如:ipconfig /?. traceroute命令 traceroute是UNIX系统中的名字,用来跟踪一个分组从源点到终点的路径.在Windows系统中 ...
- perl6中函数参数(1)
sub F($number is copy){ $number++; say $number; } F(); #下面是错误的 sub F($number){ $number++; say $numbe ...
- Metlnfo cms后台getshell漏洞复现
整体思路 挖掘伪全局变量 然后找可控参数进行利用#伪全局变量:可理解为全局变量,例部分CMS为了全局过滤SQL注入或者XSS之类的漏洞就会将GET.POST.COOKIE等请求借入全局然后直接过滤.这 ...
- android隐藏EditText光标
在android中如果有EditText,那么在载入时,光标会默认显示在第一个EditText框中,如果不想显示光标,且也不想把该光标移动到下一个EditText框,最简单的方法是在该 EditTex ...