Linux下用户账号管理基础
当我们管理一台Linux主机的时候,用户账号的管理是我们最经常要做的事情,今天主要就是介绍一下Linux下用户账号管理最为基本的一些操作,能够满足我们最基本的要求。
关于用户账号操作设计的最重要的几个文件有:/etc/passwd , /etc/group , /etc/shadow,/etc/gshadow 等文件,这里我们不再说这几个文件里面具体包含哪些字段,具体有什么用了,不过本人还是建议如果你真想弄明白用户账号以及用户组操作的有关问题,还是一定要去看看这几个文件的。好,我们就来单独讲一下都有哪些命令吧:
1. 新建用户 useradd
这个命令的基本用法就是 useradd [-gGsMm] 用户名
最简单的用法为:<假设新建用户hou> useradd hou
查看一下是否新建成功:grep hou /etc/passwd /etc/shadow
里面包含我们的信息则说明我们这个用户新建成功,执行完这样的操作,我们还不能利
用该账号登录,因为我们还没有设置密码,下面我们执行: passwd hou
弹出修改密码的操作,这里我们输入两次密码就可以了,这里要注意一下修改普通用户的密码,对密码的长度、格式等有很严格的要求,所以如果我们的密码不符合系统的要求是无法修改成功的,这是因为系统采用了PAM的方式对我们的密码进行检验。这里还应当注意,如果我是以root的身份来执行: passwd 后面不接任何东西,此时是修改root的密码,这里千万要注意,很可能你一不小心就将root的密码改掉。这里root修改自己的密码时也会有对密码的限制不过root用户输入两次密码后会强制生成此密码,而不用理会系统弹出的限制条件等信息。
Useradd -g 503 hou 这里的-g是为hou用户指定他的用户组。
Useradd -G group hou 这里的-G是用户hou可以加入的次要用户组
Useradd - s /bin/bash 这里的-s是设定用户hou的shell路径,默认为/bin/bash
Useradd - M hou 这里的-M表示强制不要创建主文件夹,是系统账号默认的属性
Useradd - m hou 这里的-m表示强制创建用户主文件夹。
2. 删除指定用户 userdel [-r] username
-r 在这里起的作用是连同该用户的主文件夹一起删除
执行 userdel hou 代表删除该hou用户 当我们执行id hou 或者 grep /etc/passwd /etc/shadow的时候没有信息了,但是在主目录文件夹下仍然存在名字为hou的文件夹,如果你确定要清空用户hou的文件数据就执行 userdel -r hou 吧。
3. 对创建的用户属性进行微调usermod [-gGsMm] username
当创建完一个用户后,对其属性进行微调,例如我想改变用户hou的登陆shell
Usermod -s /sbin/nologin hou
4. 创建用户组 groupadd [-g gid] [-r] groupname
-g 执行用户组的组号,例如我知道502这个号没有利用,我可以创建一个student用户组用这个gid
Groupadd -g 502 student
-r是指创建系统用户组,我们知道系统用户组的组号范围为2-500 就是这个作用
5 删除用户组 groupdel groupname
注意这个命令执行成功的前提是在该用户组内没有用户,也可以说如果在/etc/passwd文件中某个账号的GID的号码还是该用户组的号码,那么这个用户组就无法删除,必须要确认/etc/passwd内的账号没有任何人使用该用户组作初始用户组才行。
6 chage -d 0 username
为什么指出这个命令呢,如果我们作为一个管理员,在批量创建用户的时候可以先为他们制定初始密码为用户自己的名字,然后当用户第一次登陆的时候就要提醒用户将默认的密码修改为自己的密码,这不失为一种好的方式,而我们这个命令就是实现这个功能的。
一个小例子:
在account.txt中每一行有一个用户名,批量创建该文件内的所有账号,以用户名作为初始密码,而且当用户登陆时要提醒用户修改为自己的私有密码
Vi account.sh
#!/bin/bash
Export PATH=/bin:/sbin:/usr/bin:/usr/sbin
#检测account.txt是否存在
If [ ! -f account.txt] ; then
Echo “所输入的账号文件不存在,请新建账号文件,每行一个账号名称”
Exit 1
Fi
Username = $ ( cat account.txt )
For username in $username
Do
Useradd $username
Echo $username | passwd --stdin $username #设置为与账号相同的密码
Chage -d 0 $username
Done
保存后,执行sh account.sh 即可批量创建account.txt内的所有账号。
Account.txt内容如下:
Student01
Studeng02
Student03
Student04
Studeng05
.........
Linux下用户账号管理基础相关推荐
- linux 下用户管理
linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...
- Linux下用户管理
Linux下用户管理 linux下用户管理有两个重要的配置文件 一个是:/etc/shadow #保存的是用户的密码信息 另一个是:/etc/pas ...
- Linux下libxml2编程基础
Linux下libxml2编程基础 一.libxml2的简介 xml是一个实现读.创建.以及操作xml数据功能的C语言库.并且支持XPATH查询,以及部分的支持XSLT转换等的功能. libxml2的 ...
- linux下mysql数据库基础及客户端命令详解
linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES; #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...
- LINUX下磁盘管理的基本流程与相关操作命令
LINUX下磁盘管理的基本流程与相关操作命令 磁盘的管理 添加磁盘 格式化分区 磁盘挂载 磁盘的管理 在Linux中我们可以通过以下几种方式来查看我们所用的磁盘 (1)df命令: 还可以添加后缀命令( ...
- linux第一块硬盘的第一个分区,Linux下硬盘分区基础
什么是硬盘分区,分区用来做什么? Linux下硬盘分区基础 什么是硬盘分区,分区用来做什么? 分区就是硬盘的"段落".Windows分区有自己的盘符(C:,D:等等),这些分区看起 ...
- linux按进程分配物理内存,linux下内存管理学习心得(一)
最近在学习内存管理的时候,发现对linux下的所谓内存如何管理如何分配都不熟悉,通过最近的查阅资料可总结如下,如有不妥之处欢迎大家批评与指正. 总的的来说linux的内存管理其实主要难理解的是以下几个 ...
- linux服务与进程管理sup,linux下进程管理工具-supervisord
一 简介 supervisord是linux下的一个优秀的进程管理工具,通过supervisord可以方便管理和应用linux系统下服务进程过多的问题,其支持服务异常退出自动重启,通过浏览器管理控制相 ...
- linux下进程管理工具-supervisord
一 简介 supervisord是linux下的一个优秀的进程管理工具,通过supervisord可以方便管理和应用linux系统下服务进程过多的问题,其支持服务异常退出自动重启,通过浏览器管理控制相 ...
最新文章
- 塔利亚菲科 ajax,[欧冠小组赛第4轮]阿贾克斯 3-1 中日德兰
- 思科分析引擎助力大型数据中心应用发展
- tomcat and server configuration for loadrunner test
- 每日一皮:我们最要避开的山寨产品...
- python处理excel表格实例-python读写Excel表格的实例代码
- Python-爬取自己博客文章的URL
- 数据的结构和运算(求和,最大和最小)
- GitHub 配置 SSH 连接
- 序(不知道是什么时候的模拟题)
- java base64编码的三种方式
- rust建的怎么拆除_罗志祥私建泳池已拆除,后续还将接受物业的监督与教育
- redis学习——数据持久化
- 手机QQ空间装逼代码收集
- linux服务器22端口不通,怎么解决linux的端口不通问题
- javaer的目标,是星辰大海!
- win10去除广告弹窗的有效方法
- R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
- cee怎么把大图片放进小盒子_PS的实际应用:怎么给盒子制作包装图片
- 课程设计报告 C++通讯录管理系统
- 电子邮箱万一被盗该怎么办?