Linux学习笔记06—系统用户及用户组的管理
一、认识/etc/passwd和/etc/shadow
1、/etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是:
- 用户名
- 存放账号的口令;现在存放在/etc/shadow下,在这里只用一个 ‘x’ 代替
- 用户标识号,也叫做uid;0是超级用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始;UId取值范围:0~65535(但实际上已经可以支持到4294967294)
- 组标识号,也叫做gid;这个字段对应着/etc/group 中的一条记录
- 注释说明,该字段没有实际意义
- 用户的家目录,当用户登录时就处在这个目录下;
- Shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell
2、/etc/shadow, 用 ‘:’ 分割成9个字段
- 用户名
- 用户密码
- 上次更改密码的日期
- 要过多少天才可以更改密码,默认是0,即不限制
- 密码多少天后到期
- 密码到期前的警告期限
- 账号失效期限
- 账号的生命周期
- 作为保留用的,没有什么意义。
二、新增/删除用户和用户组
1、 groupadd 命令
作用:添加一个组
语法:groupadd [-g GID] groupname
“-g” 选项可以自定义gid.;不加 “-g” 选项则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的
2、 groupdel 命令
作用:删除组
格式:groupdel groupname 如果组中存在账号是不能删除的,必须先删除组内的账号
3、 useradd 命令
作用:添加账户
格式:useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]
-u :设置用户UID
-g :设置用户组GID
-d : 自定义用户的家目录
-M: 不建立家目录
-s : 自定义shell
注意:不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组
4、 userdel 命令
作用:删除账户
语法 : userdel [-r] username
参数:‘-r’ 选项的作用只有一个,就是删除账户的时候连带账户的家目录一起删除。
三、创建/修改一个用户的密码
1、 passwd 命令
作用:修改用户密码
格式:passwd [username]
注意:
1、 只有root才可以修该其他账户的密码,普通账户只能修改自己的密码,其他账户的密码是不可以修改的。
2、 如果直接使用passwd则修改当前用户的密码
mkpasswd 命令
作用:自动生成密码
默认你的Linux是没有这个命令的,需要安装一个包 “expect”, 如果你的CentOS可以上网,请使用命令 yum install -y expect 即可完成安装
四、用户身份切换
1、 su 命令
作用:切换用户
语法:su [-] username
注意:- 可以添加也可以不添加。添加之后会初始化当前用户的各种环境变量。例如:
如果不加 ‘-‘ 切换到root账户下时,当前目录没有变化,而加上 ‘-‘ 切换到root账户后,当前目录为root账户的家目录,这跟直接登陆root账户是一样的。当用root切换普通用户时,是不需要输入密码的。这也体现了root用户至高无上的权利
Whoami 命令
作用:查看当前使用的用户
Sudo 命令
见网页:
http://www.apelearn.com/study_v2/chapter8.html
Linux学习笔记06—系统用户及用户组的管理的更多相关文章
- Linux 的基本操作(系统用户及用户组的管理)
[认识/etc/passwd和/etc/shadow] 这两个文件可以说是linux系统中最重要的文件之一.如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的. /etc/pa ...
- Linux学习--第七天--用户和用户组
用户和用户组 usermod -a -G groupname username // 将已有用户添加到已有用户组 /etc/passwd michael:x:500:500:CentOS:/home/ ...
- Linux学习笔记13-用户和组
操作系统通过用户.组概念来管理使用计算机的人 用户代表一个使用计算机的使用者,操作系统通过用户概念限制一个使用者能够访问的资源 组用来组织管理用户 用户具有以下概念: 每个用户有一个用户名和一个用户I ...
- linux学习(十一)用户和用户组管理
一.用户文件 文件:/etc/passwd 这个文件记录了用户了用户名,用户id,所属组,家目录,shell信息: [root@iZ25lzba47vZ ~]# tail -n3 /etc/passw ...
- kali linux学习笔记之系统定制及优化(附:中文输入法设置)
fix update flash plugin on kali rolling author:@kerker 0x00设置软件源 root@kali:~# vim /etc/apt/sources.l ...
- 鸟哥Linux学习笔记06
Linux 系统常用的压缩命令 1,*.Z compress程序压缩的文件,这个已经很老了,几乎不再使用,因此不再介绍. 2,gzip应用最广泛的压缩命令.目前gzip可以解开compress.zip ...
- linux学习笔记 4建立用户
一般用法 #useradd mysql 含义 创建 mysql用户 特殊用法 1> #useradd -d /usr/cjh -m cjh 含义:创建cjh用户 产生一个主目录 /usr/cj ...
- Linux学习笔记——1.超级用户
以超级用户工作:su su命令允许临时变换到任何一用户标识(如果拥有口令的话),并挂起当前shell,为新用户开启一个新的shell. su <user> 将当前用户标识harley变换为 ...
- linux学习笔记之系统标准:POSIX,ISO C...
一.POSIX,ISO C,Single UNIX Specification的概念. 1,POSIX:Portable Operating System Interface.可移植操作系统接口.期望 ...
随机推荐
- dedecms织梦列表页调用TAG标签并带上链接的实现方法
在需要调用的地方添加如下代码: [field:id runphp='yes'] global $cfg_cmspath; $tags = GetTags(@me); $revalue = ''; $t ...
- PHP-Redis操作
/*1.Connection*/ $redis = new Redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超 ...
- Zookeeper笔记之四字命令
Zookeeper支持一些命令用来获取服务的状态和相关信息,因为这些命令都是四个字母的,所以一般称为四字命令. 四字命令可以使用telnet或者nc向服务器提交,使用下面这个脚本可以当做是一个简易的客 ...
- C#调用Java WebService int、DateTime等类型值接收到为空
今天在调用Java接口时,有个int类型的值很明确的传了1,但接口一直返回没有接收到这个值. 解决方法: 引用接口时,VS会自动生成一个类,类中对于非string类型的字段会生成一个xxSpecifi ...
- 常用 Git 命令清单【转】
转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是 ...
- innobackupex不停库的数据备份并恢复到别的服务器上【转】
1.innobackupex原理: 备份原理 1).首先会开启一个后台检测进程,实时检测myql redo的变化,一旦发现redo中有新日志写入,立即将日志记入后台日志文件xtrabackup_log ...
- Python3安装配置【转】
不建议卸载python2 可能会导致系统内其他软件无法使用,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存 (前 ...
- InteliJ IDEA 简单使用:配置项目所需jdk
1:配置项目所需jdk: File->Project Structure 弹出如下界面: 首先选中SDKs,会出现下图界面:点击“+”标志弹出Add New SDK 然后选择JDK,会弹出路径框 ...
- MySQL 获得当前日期时间\时间戳 函数
MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +———————+ | now() | +—— ...
- Java流程控制练习--万年历
Java流程控制练习--万年历 标签: Java入坑之旅 0x01. 打印倒三角和正三角 public static void main(String[] args) { // TODO Auto-g ...