Linux系统管理技术手册——第6章 添加新用户

6.1/etc/passwd文件

用户登录时Linux识别用户的文件/etc/passwd

/etc/passwd包括7个字段:

  登录名(不超过32位,使用NIS系统后不超过8位)

  经过加密的口令或口令占位符(大多数实际放在/etc/shadow文件中,默认采用MD5加密,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章 添加新用户

时间: 2024-08-02 12:15:26

Linux系统管理技术手册——第6章 添加新用户的相关文章

UNIX/Linux 系统管理技术手册阅读(一)

从现在开始,给自己定了一个任务,每天看一段<UNIX/Linux 系统管理技术手册 第4版 >,中英对照着看,以此加强自己的英文阅读能力! 2016.8.8 16:30-17:30 SECTION ONE BASIC ADMINISTRATION 1 Where to Start 第一部分 基本管理技术 第1章 从何处入手 An awful lot of UNIX and Linux information is available these days,so we've designed t

UNIX/Linux 系统管理技术手册阅读(三)

2016.8.12 23:20-23:50 1.2 SUGGESTED BACKGROUND 1.2 读者的知识背景 We assume in this book that you have a certain amount of Linux or UNIX experience. In particular, you should have a general concept of how the system looks and feels from the user's perspecti

UNIX/Linux 系统管理技术手册阅读(十一)

2016.11.7 2 Scripting and the Shell Good system administrators write scripts. Scripts standardize and automate the performance of administrative chores and free up admins' time for more important and more interesting tasks. In a sense, scripts are al

UNIX/Linux 系统管理技术手册阅读(七)

2016.8.22 9:00-9:40 The keywords database can become out of date. If you add additional man pages to your system, you may need to rebuild this file with mandb (Ubuntu, SUSE), makewhatis (Red Hat), or catman -w (Solaris, HP-UX, AIX). keyword指代的库可能已经过期

UNIX/Linux 系统管理技术手册阅读(九)

2016.8.31 10:00-10:30 1.12 WAYS TO FIND AND INSTALL SOFTWARE Chapter 12, Software Installation and Management, addresses software provisioning in detail. But for the impatient, here's a quick primer on how to find out what's installed on your system

UNIX/Linux 系统管理技术手册阅读(五)

2016.8.17 16:50-17:30 Some important questions to ask are Is this distribution going to be around in five years? Is this distribution going to stay on top of the latest security patches? Is this distribution going to release updated software promptly

UNIX/Linux 系统管理技术手册阅读(四)

2016.8.14 21:40-22:101.3 FRICTION BETWEEN UNIX AND LINUX1.3 UNIX他Linux之间的摩擦  Because they are similar, this book covers both UNIX and Linux systems. Unfortunately, mentioning UNIX and Linux together in the same sentence can sometimes be like stepping

UNIX/Linux 系统管理技术手册阅读(十)

2016.11.4 9:30-10:15 Adding new software If you do need to install additional software, you first need to determine the canonical name of the relevant software package. For example, you'd need to translate "I want to install locate" to "I n

启动脚本_《UNIX/LINUX 系统管理技术手册 第四版》

1.init 是系统引导起来之后第一个运行的进程,是系统最重要的守护进程,进程号始终为1. 2.随着机器的引导,init从运行级0开始,一级一级往上运行到/etc/inittab中所设置的默认运行级.当机器关闭时,将以相反顺序执行同样的处理过程. 3.启动脚本的主要文件位于/etc/init.d这个目录下面,每个脚本负责一个守护进程或者系统的某个特定方面. 4.为了实现不同运行级别下需要运行那些脚本(并带什么参数,K开头停止.S开头启动),当系统进入到一个新的运行级别时,不是直接在init.d目