在linux中,如何增加、修改、删除、暂停和冻结用户名
在Linux中,如何增加、修改、删除、暂停和冻结用户名
在操作增加、修改和删除用户名前,先认识linux中两个最重要的文件,它们就是账号管理最重要文件“/etc/passwd”与“etc/shadow”.
环境:windows 7 + virtualbox + fedora 15 KDE
1.认识“etc/passwd”文件
在命令行输入:vi /etc/passwd
打开/etc/passwd文件,如上图所示。
文件构造:每一行都代表一个账号,有几行就代表系统中有几个账号。需要特殊说明的是,里面很多账号本来就是系统中必须要的,称为系统账号,例如bin、daemon、adm和nobody等。这些账号是系统正常运行所需要的,不可随意删掉。
下面以第一行为例,解释每行中各部分的含义。
root:x:0:0:root:/root:/bin/bash
该行各部分之间以“:”分隔开,共7部分内容,分别是:
第一部分:root是账号名称,对应UID。
第二部分:x表示密码已经移到shadow加密文件了。
第三部分:0是UID,即用户识别码。当UID是0是,表示这个账号是“系统管理员”。UID在1~499一般保留给系统使用,而在500~65535一般用户用。
第四部方:0是GID,即用户组识别码,与/etc/group有关。
第五部分:root是用户信息说明栏,用来解释账号的意义。
第六部分:/root是用户家目录。
第七部分:/bin/bash是shell,用于当执行命令后,各硬件设备接口之间的通信。
2.认识“/etc/shadow”文件
命令行输入:# vi /etc/shadow
打开的/etc/shadow文件如上图所示。
下面以第一行为例,介绍每行中各部分的用途。
root:$6$jEfz355e$jBPBwazWDn7IzeNskhBBYwn/9ydVPDwC787BS3KrRwwKWL.XUT/PjjVGAMFO7VblvSyhv3SNx8lwwa88f54Gd.:15952:0:99999:7:::
shadow以“:”作为分隔符,工9个字段,用途如下:
第一部分:账号名称root。由于密码需要跟账号对应,因此,这个文件的第一栏就是账号,必须与/etc/passwd相同。
第二部分:密码$6$jEfz355e$jBPBwazWDn7IzeNskhBBYwn/9ydVPDwC787BS3KrRwwKWL.XUT/PjjVGAMFO7VblvSyhv3SNx8lwwa88f54Gd.,是编码后的密码。
第三部分:最近更改密码的日期15952。注意,linux日期的时间是1970.1.1作为1。
第四部分:密码不可更改的天数0,表示随时可以更改。
第五部分:密码需要重新更改的天数99999,表示密码不需要重新输入。
第六部分:密码更改期限前的警告期限7,密码到期前的7天之内,系统会警告该用户。
第七部分:密码过期的宽限时间,表示失效后无法登陆。
第八部分:账号失效日期。此字段规定日期后,将无法再使用。通常在“收费服务”的系统中使用该字段。
第九部分:保留。
3.增加一个用户
(1)完全参考默认值建立一个用户,名为vbird
命令行键入:# useradd vbird
(2)查看家/home下的vbird用户情况
命令行键入:# ls -l /home
可以看到/home下已经自动为vbird用户建立了家目录
(3)查看/etc/passwd、/etc/shadow、/etc/group内vbird用户情况
命令行键入:# grep vbird /etc/passwd /etc/shadow /etc/group
可以看到,三个文件中均为vbird用户添加了信息。
(4)在/etc/shadow所对应的行,可以看到,密码区对应的是“!!”,说明vbird用户还没有密码。如果没有密码,是无法登陆该用户的,下面利用passwd命令给该用户设定密码
命令行键入:# passwd vbird
密码规范挺复杂,简单的密码会提醒“BAD PASSWD: is too simple”,但再次输入该密码,系统就会接受你的密码。
看一下/etc/shadow内的vbird用户信息
命令行键入:# grep vbird /etc/shadow
可以看到,密码区已经有了内容(当然是编码后的结果)。
4.修改一个用户
修改用户时,主要使用usermod命令,也可以使用手动修改文件的方式。如果你的基础不牢固,建议采用usermod命令修改。
(1)将用户名vbird修改为vbirdfly
注意:关机(shutdown),再以root用户登录系统才能成功修改用户名,仅退出(layout)是不可以的。
命令行键入:# usermod -l vbirdfly vbird
vbird用户已经成功该名为vbirdfly,但其家目录和密码仍然是原vbird的。
退出(layout)系统后,再重新以vbird用户和原密码登录,已经无法登录;而采用vbirdfly用户和原密码登录,可以成功登录。
(2)如何才能将家目录也修改为vbirdfly呢?
·命令版
注意:关机(shutdown),再以root用户登录系统才能成功修改,仅退出(layout)是不可以的。
命令行键入:# usermod -d /home/vbirdfly -m vbirdfly
可以看出,/etc/passwd里的家目录部分已经修改成/home/vbirdfly。那/home下做了哪些修改呢?可以看出,原来的vbird文件改成了vbirdfly文件。这里需要说明一下usermod的-d和-m参数了:
如果命令是 usermod -d /home/vbirdfly vbirdfly 表示仅修改 /etc/passwd 第6栏的内容而已;如果加上-m 参数,即命令 usermod -d /home/vbirdfly -m vbirdfly ,则表示新建一个家目录;另外,如果原来的家目录是 /home/vibrd,那么usermod -d /home/vbirdfly -m vbirdfly 命令会将原来的 /home/vbird 更名为 /home/vbirdfly。
·手动版
首先,将家目录的名称改为vbirdly
命令行键入:
# cd /home
# mv vbird vbirdfly
可以看到,家目录已经成功修改名称。
这还不够,要在/etc/passwd中再作修改
命令行键入:# vi /etc/passwd
将红框部分改为vbirdfly
退出(layout)系统,我们以vbirdfly再登陆一下看看!
可以看出,vbirdfly是以/home/vbirdfly为家目录,修改成功!
5.删除一个用户
删除用户是指不让改用户在主机上使用任何数据,并将该用户的数据删除。
注意:关机(shutdown),再以root用户登录系统才能成功修改,仅退出(layout)是不可以的。
使用的命令是userdel
输入命令:# userdel -r vbird
可以看出该用户已经删除(包括家目录)。
如果vbird已经操作过一段时间,系统内可能会含有其他文件,如邮件信息(mail box)、例行命令(crontab)之类的文件,所以想要完整地将账号删除,最后执行userdel -r username之前,先以“find / -user username”查出整个系统内属于username的文件,然后再删除。
6.暂停一个用户
如果你只是想让某一用户“暂时不启用”,将/etc/shadow里最后导数一个字段设置为0,就可以让改账号无法使用。
参考上面的/etc/shadow介绍可知,将账号立即失效。
7. 冻结一个用户
如果你只是想让某一用户无法登陆,即密码冻结,可以使用passwd命令。
# passwd -l username
会显示:
Locking password for user username
passwd: Success
密码冻结解开
# passwd -u username
注:username只是为了说明,操作时只需用自己的用户名替换即可。
在linux中,如何增加、修改、删除、暂停和冻结用户名的更多相关文章
- Oracle 增加修改删除字段
Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],…. ...
- Linux中加入用户、删除用户时新手可能遇到的问题
Linux中加入用户.删除用户时新手可能遇到的问题 1.创建新用户后切换到新用户:No directory, logging in with HOME=/ 加入用户 #sudo us ...
- linux中/etc/fstab文件删除或修改了,导致系统无法启动
在linux中,/etc/fstab文件是磁盘挂载的问题,若该文件不小心给修改了,或者被删除了,那么就会导致系统无法重启.因为/etc/fstab文件是记录磁盘挂载的信息,若该文件出现了问题,那么对应 ...
- linux 用户/用户组添加修改删除(ubuntu/centos)
一.LINUX(UBUNTU/CENTOS)用户添加删除修改 1.建用户: adduser web //新建web用户 useradd web ...
- linux用户的增加与删除
sudo useradd xxx 仅仅是添加用户, 不会在home目录添加帐号很简单 Ubuntu中提供了两种方式 图形界面 增加 和 Windows 一样 ,还有一种就是 Linux传统的 增加方法 ...
- Oracle 增加修改删除字段与添加注释
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter ...
- Android webview中cookie增加/修改
最近项目需求中,需要满足往webview传递cookie,而且cookie需要增加修改: public class MainActivity extends Activity { private We ...
- linux中普通用户修改密码出现(passwd:Authentication token manipulation error)
如果在linux中,不管是root用户还是普通用户登录后,修改自己的密码,出现---passwd:Authentication token manipulation error---错误的解决办法: ...
- 转帖:对linux中半增加半连接数量和防止服务器被dos攻击
.增大队列SYN最大半连接数 在Linux中执行命令"sysctl -a|grep net.ipv4.tcp_max_syn_backlog",在返回的"net.ipv4 ...
随机推荐
- Python Web学习笔记之CPU时间片
时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的.如果在时 间片结束时进程还在运行,则CPU将被剥夺并分配给另一个 ...
- UVA756 Biorhythms
UVA756 Biorhythms crt crt裸题 因为模数已知所以有些值能直接求 #include<iostream> #include<cstdio> using na ...
- Linux多线程--使用信号量同步线程【转】
本文转载自:http://blog.csdn.net/ljianhui/article/details/10813469 信号量.同步这些名词在进程间通信时就已经说过,在这里它们的意思是相同的,只不过 ...
- uboot下的命令使用示例
1.usb 可以使用此命令读取u盘里的内容,此命令加上相关参数可以有以下功能: 1.1usb start 在使用u盘之前必须启动此命令以初始化好fat文件系统环境,笔者的输出如下: jello # u ...
- fastjson 简单使用 及其JSONObject使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser. ...
- 第四章 消息摘要算法--SHA
注意:本节内容主要参考自<Java加密与解密的艺术(第2版)>第6章“验证数据完整性--消息摘要算法” 4.1.SHA 原理:消息摘要长度(可以定量为加密后的字符串的长度)越长,安全性越高 ...
- 51nod 1201 整数划分 基础DP
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} ...
- C# 代码设置DataGrid列属性
1 DataGridTableStyle dts = new DataGridTableStyle(); 2 dataGrid1.TableStyles.Clear(); 3 dts.MappingN ...
- Java中的this
首先this作为关键字其实是随着对象的创建而产生的,当我们调用对象的一个方法的时候: 例如: A a = new A(); a.f(1) 其实我们可以理解为a.f(a,1) 编译器默默的把所操作的对 ...
- ubuntu14.04, keyboard shortcuts