实验10.2 用户管理
一、实验目的
学习用户和组的控制和管理。
二、实验内容
1、创建一个具有密码限制的用户
2、实现和测试用户登陆控制
3、从系统中删除一个用户
4、创建一个组
5、执行pwdadm ,更改用户的密码
6、调用用户通信的命令
三、 实验步骤
1、用户管理
2、组管理
3、自定义默认的profile文件
4、删除用户
5、与用户交流
6、检查安全设置
7、自定义登陆提示
四、实验方法
① 用户管理
- 作为root用户登录系统。使用SMIT,列举出你的系统上定义的当前的用户。
» # smit
安全性及用户组 ->
用户组 ->
列举所有用户
» F3 返回菜单
- 按照以下的限制,创建一个名为usera的新用户:
- 为期3天的密码过期警告
- 在重新使用前,有2个密码
- 过期和锁定仅隔一周
- 防止其他用户切换到usera
» F3返回SMIT用户组菜单
»选择增加一个用户
用户名 [usera]
其他用户能否利用 SU切换到 USER? false
警告用户密码过期的天数 [3]
在重新使用前的密码个数 [2]
过期和锁定之间所隔得周数 [1]
» 确认或回车键.
» F3返回菜单
- 列举出用户的属性。退出SMIT,查看/etc/security/user的文件。
» 返回用户组菜单。
更改显示用户的特征
用户名 [usera]
» 确认或回车键
» F10 退出SMIT
» # pg /etc/security/user
- 为了检测新用户,注销并作为usera登录。
- 你可以登录吗?-----不可以
- 为什么?
Usera并没有密码,因此是无效的用户。
» # exit
» login: usera
usera's password: <输入密码>)
你输入了无效的用户名或是密码
login:
- 作为root登录并通过/etc/passwd文件翻阅。
- usera的身份口令字段是什么?
The * character.
- 这是什么意思?
usera并不是一个有效的用户,因为没有设置密码。因此,对于usera在/etc/security/passwd没有身份进入。
» # pg /etc/passwd
- 给usera分配一个身份密码。显示etc/passwd文件。
- usera的身份口令字段是什么?
- 这是什么意思?
usera是一个设置了密码的有效用户。一次,,对于usera在/etc/security/passwd有一个身份进入。
» # pwdadm usera
»Changing password for "usera"
» usera's New password: <输入新密码>
» Enter the new password again: <再次输入新密码>
» # pg /etc/passwd
- 列举出所有文件的清单,包括在usera的主目录下的隐藏文件。
创建了哪些文件?
» # ls -al /home/usera
- 测试新用户ID。注销并作为用户usera登录。当提示你更改密码,键入在步骤6中分配的相同密码,以检测在步骤2中设置的用户ID的重使用限制。当你得到重使用错误信息后, 对usera的密码进行与之前不同的更改。在你作为用户usera成功登录后,注销。
» # exit
» login: usera
usera的密码: <输入原始密码>
提示你更改你的密码。
请选择一个新的密码。
usera的新密码<再次输入原始密码>
密码最近被使用,且再次使用是无效的。
usera的新密码: <输入新密码>
再次输入新密码: <输入密码>
» $ exit
- 假设用户usera正处于长假。作为用户root/登录并使用SMIT,锁定usera的登陆账号。
» # smit
Security & Users ->
Login Controls ->
Change/Show Login Attributes for a User
用户名 [usera]
用户是否被锁定 [true]
» OK or Enter.
» F3 返回菜单。
- 退出SMIT并尝试作为用户usera登录以测试账户锁定,。你应该是不可以的。如果可以,重做步骤9并再次测试。
» F10 to exit SMIT.
» login: usera
usera's Password: <输入密码>
你的账户已被锁定,请查询系统管理员。
Login:
- 作为用户root登录并试着使用su切换到用户usera。同时,试着更改usera的环境。
你可以吗? 可以。
为什么?
Root不被锁定在用户上设置的任何限制,考虑到用户锁定的特征,当你添加用户usera,你也提出了限制即其他用户不可以通过su切换到这个账号。正如该账户锁定的特征,root
豁免于这个限制。
结束subshell。并给usera的账号解锁。
» # su - usera
» $ <ctrl-d>
» # smit login_user
用户名 [usera]
这个用户锁定了吗? [false]
» 确认或回车键
» F3 返回菜单。
- 一些用户也许会试着猜其他用户的密码。为了有助于防止非法的登录,对于usera,尝试把失败登录的次数设置为2。退出SMIT并注销。
» 使用F3返回到更改,显示用户对话小组的登录属性。
用户名 [usera]
失败登录次数 [2]
用户账号被锁定
» OK or Enter.
» F10 退出SMIT
» # exit
- 通过三次尝试作为usera登录并输入错误密码。,测试改变。在第四次尝试时,输入正确的密码。如果你正在进行Windows会话,退出,从一个ASCII命令行执行这条指令。
» login: usera
usera's Password: <输入错误密码>
你输入了无效的登录用户名或是密码
» login: usera
usera's Password: <输入错误密码>
你输入了无效的登录用户名或是密码
» login: usera
usera's Password: <输入错误密码>
你输入了无效的登录用户名或是密码
屏幕应滚到刷新登录提示。
» login: usera
usera's Password: <输入正确密码>
有太多不成功的登录尝试,请查询系统管理员。
» login:
- 作为root登录并为usera重置失败登录次数。
» login root
»# smit user
Reset User’s Failed Login Count
* User NAME [usera] +
» 点击回车键
» F10退出SMIT.
- 使用正确的密码,以usera的身份尝试登陆。它能成功吗?
»# exit
» login usera
- 作为root登录,对于usera,尝试把失败登录次数限制为0以禁用失败登录检查。
» # smit login_user
用户名 [usera]
失败登录的次数 [0]
» 确认或回车键
» F3 返回菜单。
» F10 退出 SMIT。
② 集团管理
- 随着你公司的成长,你也许可能需要增加额外的系统管理员来执行一些管理任务。作为root,创建一个名为helper的用户名,通过成为安全组中的一员来帮助你只在用户和用户组管理员之间通信。给helper组而不是主要组,添加security。设置与用户名相同的密码。
» # smit
Security & Users ->
Users ->
增加一个用户
用户名 [helper]
群集 [security]
» 确认或回车键
» F3 返回菜单
» Go back to Security & Users menu.
Passwords ->
更改用户密码
用户名 [helper]
为"helper"更改密码
helper's 新密码: helper
再次输入 helper新密码: helper
» 确认或回车键。
» F3 返回到菜单。
- 退出SMIT,翻阅/etc/group文件。查找security并确保helper位于列表中
» F10 to return to the command line
» pg /etc/group
- 注销然后作为helper登录。执行小组命令以确定你属于两个组,staff and security。作为一个新的系统管理员,新添一个名为budget的小组。列举出所有小组以确保新组的增加。
» # exit
» login: helper
helper's Password: <输入密码>
» $ groups or setgroups or id
» $ smit
Security & Users ->
Groups ->
添加一个用户
小组名 [budget]
» 确认或回车键。
» F3返回菜单
» 返回到组菜单.
Select List All Groups
- 现在添加两个新用户userb 和userc。使它们成为群集budget的成员。
» Go back to Security & Users menu.
Users ->
添加用户
用户名 [userb]
群集 [budget]
» 确认或回车键
» F3 返回菜单.
» 返回添加用户菜单.
用户名 [userc]
群集 [budget]
» 确认或回车键
» F3 返回菜单.
- 退出SMIT。为userb 和userc分配密码。使得每个密码都和对应的用户名相同。
» Exit SMIT
» $ pwdadm userb
Changing password for "userb"
helper's Password: <输入 helper>
userb's New password: <输入userb>
Re-enter userb's new password: <输入 userb>
» $ pwdadm userc
Changing password for "userc"
helper's Password: <输入helper>
userc's New password: <输入 userc>
Re-enter userc's new password: <输入 userc>
- 注销然后作为usreb登录.(因为这是userb的首次登录,提示你更改密码。仅仅只需保持相同。你必须对你所做的很熟悉。因此将不会提示)。更改到budget小组并创建一个名为report的文件,给report增加一个允许写的组,在文件上做一个列表用来鉴证组访问属于budget组。返回到默认小组。
- 除了你使用的命令来变更小组,还有什么其他可用的命令呢?
命令setgroups budget和newgrp budget是一样的。命令setgroup –r和newgrp一样。
» $ exit
» login: userb
userb's Password: <enter password>
» $ id
» $newgrp budget
» $ id
» $vi report
(type a few lines)
» $ chmod g+w report
» $ ls -l report
» $ newgrp
» $ id
- 让我们测试看budget小组的成员能否编辑文件report。 注销然后作为usrec登录。正如上一步所述,这是userc的首次登录。相应的更改密码。编辑report并增加你的名字,注销。
- 在编辑文件之前,难道userc发出了任何特殊的命令。 没有。
- 为什么?
- 当userc试着编辑在userb目录下的文件时,budget小组检查/etc/group。既然userc的名字出现在budget小组,则访问是允许的。
» $ exit
» login: userc
userc的密码: <输入密码>
» $ vi /home/userb/report
(输入你的名字)
» $ exit
③ 自定义默认的profile文件
- 当创建一个用户时,默认的profile文件将被复制到用户的主目录下。作为一个系统管理员,登录,su切换到root,并编辑默认的profile文件,因此所以新建的用户都有
他们主要的提示字符串反映了用户当前的目录。(提示:记住PSI变量是主要的提示字符串和PWD变量包含了当前目录的价值。)
注意:你也许想要返回且从文件/etc/security/.profile中删除PSI变量分配,因此$成为主要的提示字符串。
» $ su - root
» # vi /etc/security/.profile
EDITOR=/usr/bin/vi
PS1='$PWD=> '
export PATH EDITOR PS1
- 创建一个名为userd的用户,并给它指定密码。注销然后作为usred登录。你可以看到被列为提示的当前目录。接着显示了EDITOR变量值。如果这个结果不是你所期望的,重复之前的步骤,再试。
» # smit mkuser
User NAME [userd]
»OK or Enter.
» F3 to return to the menu.
» Exit SMIT
» # pwdadm userd
» # exit
» login: userd
userd's Password: <输入密码>
» /home/userd=> echo $EDITOR
/usr/bin/vi
④ 删除用户
- 作为root登录。在你从系统中删除userb之前,在/etc/security/passwd,为userb查找stanza
» # pg /etc/security/passwd
- 从系统上删除userb。采用默认选项Remove AUTHENTICATION。
- 这是做什么?
当删除认证时,对于用户userb,stanza已经从文件/etc/security/passwd中删除了,如果你选择不,userb的stanza也许仍在文件中。原因是给与的选项是可提供一种额外的认证方法,应为你的系统进行定制,认证方法不包括在本课程里。
» # smit rmuser
User NAME [userb]
»OK or Enter.
» F10 to exit SMIT
- 阅览/etc/security/passwd文件以确保用户userb的stanza已经删除了。
» # pg /etc/security/passwd
- 当从系统上删除用户时,用户的主目录和文件没有被删除。查证用户的userb的主目 录和文件仍然存在。删除与userb有关的所有文件和目录。
» # ls -ld /home/userb
» # ls -al /home/userb
» # rm -r /home/userb
⑤ 与用户交流
- 作为root,编辑/etc/motd并且在文件中添加"TODAY IS USERA'S BIRTHDAY. SURPRISE CAKE AT 11:00." 首先,检查,用户访问该文件的权限已经写入权限,如果没有,设定写为“user”.
» # ls -l /etc/motd
» # chmod u+w /etc/motd (if necessary)
» # vi /etc/motd
TODAY IS USERA'S BIRTHDAY. SURPRISE CAKE AT 11:00
- 通过注销然后作为usera登录,显示信息。
» # exit
» login: usera
root's Password: <enter password>
- 现在在usera的主目录下创建一个长度为0,名为.hushlogin.的隐藏文件。你想要除了usera外登录的任何人都可以看到/etc/motd的输出。注销并作为usera登录。文件/etc/motd应该是不被显示的。
» $ touch /home/usera/.hushlogin
» $ exit
» login: usera
usera's Password: <enter password>
- 作为root,在/var/news目录下创建一个名为newsitem的文件。输入一些行。注销并作为teamxx登录,阅读news。
» $ su
» # cd /var/news
» # vi newsitem1
(Type a few lines)
» # exit
» # exit
» login: teamxx
teamxx's Password: <enter password>
» $ news
- 做这个步骤,在你的本地系统上必须有多个用户。如果在你的系统上,你是唯一的用户而且你有两个终端,用两个不同的teamxx IDs 在终端上登录。从一个终端上做这个实验,而在另一个终端上查看信息。作为root,发送一张便条给系统上的所有用户,这个系统30分钟内关机。
» # wall The system will be shutdown in 30 minutes
⑥ 检查安全设置
- 作为root,检查你没有看到的任何安全文件。
»$ su root
» # more /etc/passwd
» # more /etc/security/passwd
» # more /etc/security/user
» # more /etc/group
» # more /etc/security/group
» # more /etc/profile
» # more /etc/environment
» # more /etc/security/environ
» # who /etc/security/failedlogin
» # more /etc/security/login.cfg
⑦ 自定义登录提示
- 如果你正与其他同学共享你的系统,你们需要共同努力配置新的登录提示。一台机器一个人才可以执行此步。
你可以自定义出现在个人终端上的登录提示,以至于根据你在/etc/security/login.cfg改变的stanza,所有的终端使用同样的登录先驱。在这步中,你设置了一个全局默认的先驱。
The herald should read:
. 你的公司名称
未经授权的用户将受到起诉。
login:
首先,为这个文件/etc/security/login.cfg创建备份。如果这个文件损坏了,你就无法再次登录。
- 在/etc/security/login.cfg中编辑默认的stanza,并添加先驱行。提醒!在看起来像 该行的结尾处不要使用<回车键Enter>。让vi结束这行。这\r和\n是转义字符,分别是指<回车> 和<换行>。请注意,对于一些终端仿真而言,\r <回车>也作文字。在那些仿真上,而\n<换行>处理回车和换行。
当结束时,保存文件并退出。
» # vi /etc/security/login.cfg
default:
sak_enabled = false
logintimes =
logindisable = 0
logininterval = 0
loginreenable = 0
logindelay = 0
herald = "\n\n YOUR COMPANY NAME\r\nUnauthorized users will be
prosecuted..\r\nlogin: "
» # exit
» $ exit
- 检查这个登录提示是否是你所期望的。你必须使用一个ascii界面来看改变的效果。
一些学生使用本地控制台:如果你使用的是ASCII屏幕,应显示你的新登陆先驱。如果你使用CDE,你将看不到你的更改,除非你选择了Option按钮并选择Command line命令行。如果你仍没有看到你的登录先驱,然后就要坚持你在/etc/security/login.cfg中的进入。
一些学生使用远程访问,可尝试新的远程连接。例如:你也许通过telnet命令或是PuTTY,使用telnet协议。
实验结束
五、实验报告填写要求
1、实验项目名称、实验日期、分组名单
2、实验步骤和实验结果
3、实验中遇到的问题和解决方法
4、其他
六、注意事项