Linux系统用户管理
一、Linux账户
广义上讲,Linux的账户包括用户账户和组账户两种。
Linux系统下的用户账户有两种,普通用户和超级用户。普通用户在系统中的任务就是普通工作,管理员在系统上的任务就是对普通用户和整个系统进行管理。管理员对系统具有绝对的控制权,能够对系统进行一切操作。
除了用户账户之外,Linux系统下还有组账户。组是用户的集合。在Linux系统中组有两种类型:私有组和公共组,当创建一个新用户时,若没有指定他所属的组,Linux系统就创建一个和该用户同名的私有组。这个私有组只包括这个用户自己,而标准组则可以容纳多个用户。
二、Linux账户配置
/etc/passwd:用户账户信息配置文件(看不到密码)
各列含义:用户名 口令 用户标识号 组标识号 注释性描述 自家目录 命令解释器
/etc/shadow:用户账户密码(密文)
/etc/group:用户组账户信息配置文件(看不到密码)
各列含义:组名 组口令 GID 组成员
/etc/gshadow:用户组账户密码(密文)
三、Linux账户管理命令
1. 添加用户:
useradd 用户名
useradd -c “注释” 用户名 (添加注释性描述)
2. 修改用户:
usermod -l 新用户名 原用户名(-l一定要加上,只改变用户名,不改变用户主目录)
usermod -L 用户名:锁定账户:用户无法登陆
usermod -U 用户名:解锁账户
3. 删除用户:
userdel 用户名:删除用户(目录还在,私有组还在)
userdel -r 用户名:删除账户同时删除主目录和私有组
4. 添加用户组:
groupadd 组名
5. 修改用户组:
groupmod -n 新组名 原组名
6. 删除用户组:
groupdel 用户组名
7. 把一个用户加入一个组:
用户未创建:useradd -G 组名 用户名 (有私有组也有标准组)
用户已存在:usermod -G 组名,回车,输入用户名
8. 账户密码管理:
设置密码:passwd 用户名,回车,输入密码
(新建用户无密码,无法登陆系统,必须设置密码)
(若不输入用户名表示修改当前用户的密码,普通用户无法修改其他用户的密码)
删除密码:passwd -d 用户名(只有管理员账户root才能使用)
锁定密码:passwd -l 用户名(实现功能与usermod -L一样,都是使用户无法登陆系统)
解锁密码:passwd -u
9. 账户信息查询:
账户信息配置文件:/etc/login.defs(针对所有用户)
查看账户信息:chage -l 用户名 读取的信息来自/etc/login.defs
修改账户信息:Chage -m 2 -M 30 -W 5 用户名
(用户在2天之内不能修改自己的密码,密码将在30之后过期,将在过期5天前给用户警告信息)(针对个别用户)
id:查看当前用户信息如uid,gid等
groups:查看当前用户所在的组
newgrp 组名:改变当前用户的默认组(默认为私有组)
10. 切换用户:
切换用户:su - 用户名
(普通用户切换到管理员需要密码,管理员切换到普通用户不需要密码)
借用管理员权限来执行命令:sudo 命令
(需要先在visudo文件中配置相关权限,使用密码是当前用户的密码)
Linux系统用户管理的更多相关文章
- linux系统用户管理(一)
		Linux系统用户管理1.用户管理*****2.Linux用户命令****3.用户创建的原理***4.密码管理***5.组命令管理**6.身份切换*****7.sudo提升权限***** 我们现在所使 ... 
- 实验三:Linux系统用户管理及VIM配置
		项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接地址 学号-姓名 17043133-木腾飞 学习目标 1.学习Linux系统用户管理2.学习vim使用及配置 实 ... 
- 实验三 Linux系统用户管理及VIM配置
		项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接接地址 学号-姓名 17041428-朱槐健 作业学习目标 1.学习Linux系统用户管理 2.学习vim使用 ... 
- linux系统用户管理(二)
		5.组命令管理**组账户信息保存在/etc/group和/etc/gshadow两个文件中 /etc/group 组账户信息 [root@localhost ~]# head -2 /etc/grou ... 
- linux 下用户管理
		linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ... 
- linux系统--用户和用户组
		一.用户和用户组的概念 用户:使用操作系统的人 用户组:具有相同系统权限的一组用户.在linux系统中可以存在多个用户组 1.1 /etc/group 这里存储当前系统中所有用户组的信息 每一行对应一 ... 
- shell实现增加删除Linux系统用户脚本(密码为随机)
		README shell环境下运行脚本,根据需求选择相应的功能. List \t\t create the userlist 这一步是必须执行的,脚本会识别本地当前目录下的文件 Useradd \t\ ... 
- centos linux系统日常管理复习 CPU物理数逻辑核数,iftop ,iotop ,sar ,ps,netstat ,一网卡多IP,mii-tool 连接,ethtool速率,一个网卡配置多个IP,mii-tool 连接,ethtool速率  ,crontab备份,   第十八节课
		centos linux系统日常管理复习 物理CPU和每颗CPU的逻辑核数,uptime ,w,vmstat,iftop ,iotop ,sar ,ps,netstat ,一个网卡配置多个IP,mii ... 
- centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课
		centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课 rsync可以增量同步,scp不行 ... 
随机推荐
- cityEngine入门(实现数据的预处理以及cityEngine的3维显示)
			一. 实验要求 1. 提供数据: 中田村两个图幅影像数据 DEM提供包含高程数值的文本和矢量数数据 完成内容: 实现中田村两个图幅的拼接,生成一个影像数据(Image.tif) 将DEM数据 ... 
- JSP第三篇【JavaBean的介绍、JSP的行为--JavaBean】
			什么是javaBean JavaBean就是一个普通的java类,也称之为简单java对象–POJO(Plain Ordinary Java Object),是Java程序设计中一种设计模式,是一种基 ... 
- 06jQuery-06-AJAX
			1.JS的AJAX AJAX,Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求. 如果要让用户留在当前页面中,同时发出新的HTTP请求,就 ... 
- Jquery一些常用的方法
			整理以前的笔记,在学习JavaScript时候,经常会用到一些方法,但是有时忘掉了具体用法,因此记下.方便以后查阅. 这篇博文先说明这些方法的用途: removeClass().remove().cs ... 
- C/C++ 进程通讯(命名管道)
			服务端代码: // pipe_server.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdio.h> ... 
- Django(博客系统):按照时间分层筛选“/blog/article/?create_time__year=2017”,出现问题:Database returned an invalid datetime value. Are time zone definitions for your database installed?
			问题背景 添加文章时间没问题,但为了设定博客文章按照时间分层筛选(创建时间的年份.年月&月份来搜索文章),我在blog这个django app的admin.py的ArticleAdmin类中做 ... 
- vue路由跳转  vue-router的使用
			1.路由对象和路由匹配 路由对象,即$router会被注入每个组件中,可以利用它进行一些信息的获取.如 属性 说明 $route.path 当前路由对象的路径,如'/view/a' $rotue.pa ... 
- 第5章   不要让线程成为脱缰的野马(Keeping your Threads on Leash)  ---干净的终止一个线程
			干净的终止一个线程 我曾经在第2章产生一个后台线程,用以输出一张屏幕外的 bitmap 图.我们必须解决的一个最复杂的问题就是,如果用户企图结束程序,而这张bitmap 图尚未完成,怎么办?第2章的 ... 
- Qt学习之路MainWindow学习过程中的知识点
			一.Qt的GUI程序有一个常用的顶层窗口,叫做MainWindow MainWindow继承自QMainWindow.QMainWindow窗口分成几个主要的区域: 二.QAction类 QAct ... 
- python --- json模块和pickle模块详解
			json:JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式(用于数据序列化和反序列化).(适用于多种编程语言,可以与其他编程语言做数据交换 ... 
