Linux系统管理技术手册——第6章 添加新用户
6.1/etc/passwd文件
用户登录时Linux识别用户的文件/etc/passwd
/etc/passwd包括7个字段:
登录名(不超过32位,使用NIS系统后不超过8位)
经过加密的口令或口令占位符(大多数实际放在/etc/shadow文件中,默认采用MD5加密(加密后34位),SUSE中采用Blowfish,通过passwd命令设置)
UID(用户ID)号(32位无符号数,建议限制为32767内,root的UID为0,让多个账号UID为0会产生潜在安全漏洞,LDAP是一种流行的UID管理工具)
默认的GID(组ID)号(/etc/group文件中定义,GID 0:root组,GID 1:bin组,GID 2:daemon组,默认GID在创建新文件和目录时起作用)
“GECOS”信息:全名、办公室、分机号、住宅电话(记录用户个人信息,finger,chfn,GECOS信息非常适合LDAP管理)
主目录(修改/etc/login.def的DEFAULT_HOME为no,则会禁止没有主目录的用户登录)
登录shell(chsh命令改变自己所用的shell,/etc/shells文件中包含chsh命令允许用户使用的shell列表,向shell文件中增加项,必须使用绝对路径)
6.2/etc/shadow文件
格式: root:$1$buJ6v3Ch$bwLIof5each9Nv.OEzD3T0:13348:0:180:14::14974:
只有超级用户才能读/etc/shadow文件
在使用隐蔽口令系统的情况下,/etc/passwd文件中原来的口令字段一定要包含一个x
管理员必须两个文件/etc/shadow和/etc/passwd都维护(或使用useradd工具自行维护)
可以使用pwconv工具让shadow文件和passwd文件内容保持一致
/etc/shadow文件9个字段:
登录名 (和/etc/passwd中相同)
加密后的口令
上次修改口令的时间 (从1970年1月1日开始的天数)
两次修改口令之间最少的天数 (防止用户修改口令后马上改回口令,建议设置0)
两次修改口令之间最多的天数
提前多少天警告用户口令将过期
账号过期的日期 (从1970年1月1日开始的天数)
保留字段,目前为空
6.3/etc/group文件
格式:
wheel:x:10:net,evi,lynda,boggs,tom,millert
student:*:200:dotty
newgrp命令让不属于某个组的用户变为属于该组
/etc/group文件包含4个字段:
组名 (尽量限制在8个字符内)
加密的口令或者包含一个x,表明有一个gshadow文件
GID号 (为避免与厂商提供的GID冲突,建议从GID 500开始分配本地组)
成员列表,彼此用逗号隔开(不要加空格)
6.4添加用户
为新用户创建账号之前,该用户在本地用户协议和政策声明的副本上签字并注明日期是非常重要的
系统所需的步骤:
编辑passwd和shadow文件定义用户账号:
把用户添加到/etc/group文件里
设置一个初始口令
创建用户主目录,用chown和chmod命令改变用户主目录的属主和属性
为用户进行的步骤:
将默认的启动文件复制到用户的主目录中
设置用户的邮件主目录并建立邮件别名
为管理员准备的步骤:
核实账号是否设置正确
将用户的联系信息和账号状态加入数据库
1)编辑passwd和shadow文件
Fedora和RHEL系统使用vipw编辑passwd文件后会询问是否再编辑shadow文件,SUSE、Debian和Ubuntu使用vipw -s实现上述功能
添加账号linda到/etc/passwd:
linda:x:2000:2000:linda,,,:/home/linda:/bin/sh
在/etc/shadow文件中添加:
linda:*:16268:0:99999:7:::
2)编辑/etc/group文件
linda::2000:linda
3)设置初始口令
passwd linda
4)创建用户主目录
mkdir /home/linda
chown linda:linda /home/linda
chmod 700 /home/linda
5)复制默认启动文件
cp /etc/skel/[a-zA-Z]* ~linda (skel在ubuntu12.04下是在/etc/skel,其他系统下请 find / -name skel)
chown linda:linda ~linda/[a-zA-Z]*
chmod 600 ~linda/[a-zA-Z]* (注意,不能写成~linda/.*,因为这也包括..(/home),将导致linda不但是自己文件的属主,也是其父目录的属主,很危险)
6)设置用户的邮件主目录
见18.3.2节
7)验证新的登录
退出登录,再以新用户身份登录,并执行命令
pwd /*核实主目录*/
ls -al /*检查启动文件的属主和属组*/
8)记录用户状态和联系信息
维护联系信息和账号状态数据库
6.5删除用户
手工删除用户步骤:
将用户从所有本地用户数据库或者电话簿中删除
将用户从alias文件中删除,或者添加一个转发地址
删除用户的crontab文件和所有挂起的at作业
终止所有仍在运行的用户进程
将用户从passwd、shadow、group和gshadow文件中删除
删除用户主目录
删除用户的邮件存储文件
6.6禁止登录
方法1)在加密的口令前添加一个星号或其他字符,使其无法通过口令访问登录
方法2)usermod -L linda 和usermod -U linda分别表示对口令上锁和解锁(SUSE无效)
方法3)替换用户的shell,这个伪shell不在/etc/shells中
6.7账号管理工具
useradd命令把用户添加到passwd文件中(如果可以的话,还会添加到shadow文件中)
usermod命令可以改变已有用户在passwd文件中的条目
userdel命令可以将用户从系统中删除,还可以删除用户的主目录
groupadd、groupmod、groupdel可以对/etc/group文件操作
添加用户
useradd -c "David Hilbert" -d /home/hilbert -g facultry -G famous -m -s /bin/sh hibert
效果如下:
在/etc/passwd中(hilbert:x:1005:30:David Hilbert:/home/hilbert:/bin/sh)
在/etc/shadow中(hiblert:!:11508:0:99999:7:0::)
在/etc/group中(将hilbert添加到faculty和famous组中)
创建了主目录/home/hilbert
复制了/etc/skel的内容到主目录中
删除用户
userdel hilbert
删除了passwd、shadow和group文件中与hilbert相关的资料
加上-r选项后会删除用户的主目录
Linux系统管理技术手册——第6章 添加新用户的更多相关文章
- UNIX/Linux系统管理技术手册(2)----bash脚本编程
1. 一个简单的例子: $ vim readname.sh #file:readname.sh#!/bin/bash echo -n "Enter your name: " rea ...
- Unix/Linux系统管理技术手册学习笔记——shell
创建日期:2016/02/29 更新日期:2016/02/29 shell变量赋值时不能在等号两边留空白,否则shell会把变量名误认为是命令名 双引号括起来的变量可以进行替换(用*和?这样的文件名匹 ...
- UNIX/Linux系统管理技术手册(3)----bash 数组和算术运算
复杂的数据结构和计算不是 bash 的特长.但它的确至少提供了数组和算术运算. 1.算术运算 所有的 bash 变量的值都是字符串,所以 bash 在赋值的时候并不区分数字 1 和 字符串 " ...
- UNIX/Linux系统管理技术手册(1)----脚本和shell
1. 管道和重定向 (i) 要让第二条命令只有在第一条命令成功完成之后才执行,可以用一个 && 符号把两条命令隔开.例如: $ > /dev/null && cd ...
- linux下禁止root远程登录和添加新用户
https://www.cnblogs.com/jianz/p/7979250.html 一.添加和root权限一样的用户 1. adduser admin passwd admin (修改密码) ...
- 给Linux添加新用户,新建用户,新建帐号
给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...
- linux SVN添加新用户
首先找到用户文件:authz.conf; 用vi 编辑authz.conf文件在develps 后面添加你要添加的用户名:如图: 上图:cheny就是我后面添加上去的用户名 按Esc :wq保存au ...
- linux不使用useradd添加新用户
不使用useradd创建新的用户 1.进入用户特征信息:/etc/passwd 编辑: vim /etc/passwd 命令模式 :G 进入末行 进入编辑模式 :在最后添加新用户信息: 例:new_u ...
- ubuntu添加新用户并添加管理员权限
Ubuntu创建新用户并增加管理员权限 Family 2014-06-24 22:21:22 $是普通管员,#是系统管理员,在Ubuntu下,root用户默认是没有密码的,因此也就无法使用(据说是为 ...
随机推荐
- God of War - HDU 2809(状态压缩+模拟)
题目大意:貌似是一个游戏,首先给出卢布的攻击,防御,还有血量,再给出每升一级增加的攻击防御还有血量,然后又N个敌人,杀死每个敌人都会得到一些经验,求杀死完所有敌人时剩余的最大血量. 分析:因为敌人比较 ...
- zoj 2100 Seeding
Seeding Time Limit: 2 Seconds Memory Limit: 65536 KB It is spring time and farmers have to plan ...
- 390. Elimination Game
正规解法直接跳到代码上面一点的部分就可以了.但我想记录下自己的思考和尝试过程,希望二刷能看到问题所在. 找规律的时候写了好多,虽然规律很简单. 只要随便写3以上的例子,就应该发现,相邻的2个最后结果是 ...
- BJUI 转
B-JUI 前端框架B-JUI(Bootstrap for DWZ)是一个富客户端框架,基于DWZ-jUI富客户端框架修改. 本文是B-JUI中文使用手册,包括使用示例代码,感兴趣的同学参考下. 概览 ...
- java.lang.ClassCastException: Ljava.lang.Object; cannot be cast to com.entity.Advertisem异常
今天一不小心就碰到了这样的问题,以前从来没有碰到过,在网上搜了很多办法,思路正确,但是还是要根据自己的程序改变. 一开始写的是hql语句进行统计每个月的数据,但是试了很久,程序一直提醒hql语句异常, ...
- CSS3 新增属性
1Css3概述 从2010年开始,HTML5与CSS3就一直是互联网技术中最受关注的两个话题. 从前端技术的角度可以把互联网的发展分为三个阶段:第一阶段是web1.0以内容为主的网络 前端主流技术是H ...
- bzoj2822: [AHOI2012]树屋阶梯
咦,这里有好多东西https://en.wikipedia.org/wiki/Catalan_number 每个矩形最多贡献一个拐角 枚举左上角的点和那个拐角是一个矩形 #include<cst ...
- [转] Initial Impressions on GraphQL & Relay
https://kadira.io/blog/graphql/initial-impression-on-relay-and-graphql http://graphql.org/blog/subsc ...
- hihocoder 北大网络赛 E.
给一个1000个点的多边形(从某个点依次按照外形给出每个节点),这个多边形不一定是凸多边形 再给一个圆,问这个多边形与圆相交区域的周长 我们将这个问题分成两个部分,第一部分是求线段在圆内的长度,第二部 ...
- 23、Javascript DOM
DOM Document Object Model(文档对象模型)定义了html和xml的文档标准. DOM 节点树 <html> <head> <title>DO ...