linux上的用户管理
作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理:
useradd可以在系统中新建一个用户
用法如下: useradd [选项] 用户名
常用选项:
-u 指定用户的UID
-g 指定用户的初始组ID
-G 指定用户的附加组
-c 为用户添加注释
-d 指定用户的家目录
-m 为用户添加家目录
-M 添加用户时不添加家目录
-s 为用户指定shell
-N 为用户设定特定的初始组,不创建与用户同名的初始组
-p 直接为用户定密码
-o 为用户创建的UID允许是已经存在的UID
-U 为用户创建一个跟用户名同名的组
-r 创建一个系统用户(UID在1到499之间)
-b 为用户指定特殊的家目录(未加这个选项的话,则在/home目录上为用户添加家目录)
-e 指定用户密码过期的时间(格式为YYYY-MM-DD)
-f 指定用户密码过期后等待的天数(0为密码过期后立即失效,-1为永不失效)
passwd可以设定用户的密码信息
任何用户输入这个命令都可以只可以更改自己的密码口令
只有管理员可以用这个命令接上别的用户名来更改别的用户的密码
命令如下: passwd [选项] [用户]
常用选项:
-l 锁定用户
-u 解锁用户
--stdin 用标准输入的方式为用户添加密码(脚本批量添加用户经常使用)
-d 快速删除指定用户的密码(只有root可以使用)
-e 强迫用户下次登陆的时候必需修改密码
-n 指定密码最短有效期限
-x 指定密码最大使用期限
-w 指定密码失效前多少天开始警告
-i 指定密码过期之后还能使用多少天
-S 输出指定用户的密码状态
系统中/etc/passwd和/etc/shadow这两个文件保存了该系统上的所有的用户信息.
/etc/passwd文件格式说明:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
这个文件共分为七段,相隔两段之间用“:”隔开,
第一段为用户的用户名,
第二段为用户的密码占位符,在这个文件里以"*"代替,
第三段为用户的UID,
第四段为用户的确GID,
第五段为用户的注释信息,
第六段为用户的家目录,
第七段为用户的SHELL。
/etc/shadow文件格式说明:
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
这个文件共分为九段,相隔两段也是用":“隔开,
第一段为用户名,
第二段为加密后的密码存放位置,
第三段为上次修改密码的时间(从1970年1月1日起的天数),
第四段为距离上次修改密码后多少天才可以再次修改密码
第五段为密码过期的时间
第六段为密码过期前,提前警告的天数
第七段为密码失效日期之后多少天这个帐号将被锁定
第八段为帐号失效日期
第九段为保留字段
```
这两个文件是系统安全方面很重要的文件,尤其是/etc/shadow这个文件,我们可以看到系统上这个文件的权限:
[root@localhost ~]# ls -lah /etc/passwd /etc/shadow
-rw-r--r-- 1 root root 1.2K Mar 19 16:30 /etc/passwd
---------- 1 root root 782 Mar 19 16:30 /etc/shadow
所有的用户都没有权限读取到这个文件(当然root可以读取滴),所以管理员必须要小心保护好这个文件,以免这台服务器沦为不法分子的“肉鸡”。
说完了添加用户,再来说说用户管理方面的那些事。
usermod用来来更改用户的某些信息
命令如下: usermod [选项] 用户名
常用选项:
-a 为用户添加附加组
-c 为用户添加注释
-d 为用户指定家目录
-e 指定密码过期时间
-f 指定密码失效日期
-g 更改用户GID
-G 为用户添加附加组
-L 锁定用户密码
-m 移动用户家目录到新的目录
-p 为用户指定新的密码
-s 更改用户的SHELL
-u 更改用户的UID
-U 解锁用户的密码
####userdel用来删除某个用户。
用法如下: userdel [选项] 用户
常用选项:
-f 强制删除用户
-r 删除用户家目录(删除前请再三确认这个用户家目录里没有很重要的文件,否则。。。。。)
####chage命令:这个命令可以用来修改帐号和密码的有效期限。
用法如下: chage [选项] 用户名
常用选项
-m 密码可更改的最小天数,即为上次修改密码之后过多久用户可以再次修改自己的密码,为0则代表任何时候都可以更改密码
-M 密码最大有效天数
-w 密码到期前的警告天数
-E 帐号到期的天数
-d 上一次更改密码的时间,从1970年1月1日到今天的总共天数
-I 密码失效日期,密码过期之后的多少天帐号将被锁定而不能登陆
这些信息保存在/etc/login.defs中
PASS_MAX_DAYS 99999 密码最大有效天数
PASS_MIN_DAYS 0 密码可更改的最小天数
PASS_MIN_LEN 5 密码最小长度
PASS_WARN_AGE 7 密码过期前的警告天数
管理员可以修改这个配置文件中的这部分来为新增加的用户增强帐号的安全级别.
祝大家工作学习愉快!!
linux上的用户管理的更多相关文章
- 安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
VM tools:方便我们虚拟机和宿主机之间复制数据或移动文件等 安装VMtools 1.菜单栏-虚拟机-安装VM tools 将其选中 2.进入系统,在桌面位置里面有VM tools的光盘,双击进入 ...
- linux上的组管理
上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理. groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制 ...
- Linux学习之用户管理命令与用户组管理命令(十五)
Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...
- linux上限制用户进程数、cpu占用率、内存使用率
限制进程CPU占用率的问题,给出了一个shell脚本代码如下: renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > ...
- Linux常用命令--用户管理,文件权限,打包命令等
幕布链接 Linux常用命令--用户管理,文件权限,打包命令等
- linux下主机用户管理(完整详情)
(一) 创建新用户 useradd命令(也可以使用adduser)用来创建新的用户帐号,其命令格式如下: 表4-19 useradd命令常用选项 常用现象意 义 -d设置新用户的登陆目录 -e设置新用 ...
- 如何在Linux上安装服务器管理软件Cockpit
Cockpit 是一个自由开源的服务器管理软件,使得我们可以通过它好看的 Web 前端界面轻松地管理我们的 GNU/Linux 服务器,非常轻量级,Web 界面也非常简单易用. Cockpit 使得 ...
- Linux里的用户管理
在linux中系统中,它并不认识帐号名称.它认识的是我们的帐号ID,帐号ID保存在/etc/passwd文件中.我们在登录linux主机时,在输入完帐号和密码时,linux会先查找/etc/passw ...
- Linux命令整理,用户管理,用户组管理,系统管理,目录管理常用命令
知识点梳理 Linux课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...
随机推荐
- JavaScript字符串转换成数字的三种方法
在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...
- BZOJ1294: [SCOI2009]围豆豆Bean
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1294 状压dp,dis[s][i][j]表示从(i,j)出发围的状态是s的最短路. 然后判断一 ...
- python列表二
比如说要交换两个的顺序,用中间变量temp即可,和java的方法一样 >>> mix[1, '小尹', 5, '小虎', 3.5, [1, 2, 2], '葫芦娃', 0, '1', ...
- 属性getter和setter
我们知道,对象属性是由名字.值和一组特性(attribute)构成的.在ECMAScript5 中,属性值可以用一个或两个方法替代,这两个方法就是getter和setter.由getter和sette ...
- Spark算子--join
join--Transformation类算子 代码示例 result
- java finally深入探究
When---什么时候需要finally: 在jdk1.7之前,所有涉及到I/O的相关操作,我们都会用到finally,以保证流在最后的正常关闭.jdk1.7之后,虽然所有实现Closable接口的流 ...
- 【Jsp/Servlet】获取客户端使用的ip
一般使用jsp的时候大多数时间都可以使用request.getRemoteAddr() 来获取ip,但是这个前提是未经过反向代理等操作的原始地址,所以,需要在反向代理等操作之后还要获取客户端的ip变得 ...
- angularjs+ionic+'h5+'实现二维码扫描功能
今天给大家分享一下基于angularjs与ionic框架实现手机二维码扫描的功能.没有用到cordova等任何插件,h5+实现的. 开发工具:hbuilder 首先,需要在hbuilder项目下面的配 ...
- Apache 403 错误解决方法-让别人可以访问你的服务器
参考网址:http://www.cnblogs.com/mrlaker/archive/2013/04/29/3050888.html http://www.jb51.net/article/6119 ...
- PowerDesigner设置null约束
在PDM的表属性的字段列表中每行最后的P,F,M中的M(Mandatory)打勾就可以了,这样在生成的SQL中会变成not NULL Mandatory:强制的,不知道是不是可以理解为必须赋值的