用户帐号管理

用户账号文件—passwd

基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患,后来经改进后,将密码转存入专门的shadow文件中(见下页)并严格控制全新,而passwd文件中仅保留密码占位符“x”。

passwd文件用于保存用户的账号基本信息,文件的保存位置位于/etc/passwd,在该文件中每一行对应一个账号的基本信息。

利用以下语句查看passwd的基本内容如下:

[root@localhost ~]# tail -2 /etc/passwd

sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin

benet:x:500:500:BENET Student User:/home/benet:/bin/bash

字段1:用户帐号的名称

 字段2:用户密码字串或者密码占位符“x”

 字段3:用户帐号的UID号

 字段4:所属基本组帐号的GID号

 字段5:用户全名

 字段6:宿主目录

 字段7:登录Shell信息

 用户帐号文件 ——shadow

shadow文件用于保存密码字串、密码有效期等信息,文件的保存位置位于/etc/shadow,在该文件中每一行对应一个用户的密码记录。

利用以下语句查看shadow的基本内容如下:

[root@localhost ~]# tail -2/etc/shadow

sabayon:!!:14495:0:99999:7:::

benet:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495:0:99999:7:3:2012-10-14:

字段1:用户帐号的名称

 字段2:加密的密码字串信息

 字段3:上次修改密码的时间

 字段4:密码的最短有效天数,默认值为0

 字段5:密码的最长有效天数,默认值为99999

 字段6:提前多少天警告用户口令将过期,默认值为7

 字段7:在密码过期之后多少天禁用此用户

 字段8:帐号失效时间,默认值为空

 字段9:保留字段(未使用)

默认只有root用户能够读取文件中的内容,并且不允许root直接编辑该文件中的内容,上次修改密码的时间,表示从1970年01月01日(可理解为Unix系统的诞生日)算起到最近一次修改密码时间隔的天数。

添加用户帐号

useradd命令

格式:useradd  [选项]...  用户名

常用命令选项

-u:指定 UID 标记号

-d:指定宿主目录,缺省为 /home/用户名

-e:指定帐号失效时间

-g:指定用户的基本组名(或UID号)

-G:指定用户的附加组名(或GID号)

-M:不为用户建立并初始化宿主目录

-s:指定用户的登录Shell

-r :系统用户

例:

创建名为st02的用户帐号,并将其UID号指定为504

[root@localhost ~]# useradd -u 504st02

[root@localhost ~]# tail -1/etc/passwd

st02:x:504:504::/home/st02:/bin/bash

创建一个考试测试用的帐号exam01,指定属于users组,该帐号于2009-07-30失效

[root@localhost ~]# useradd -gusers -e 2009-07-30 exam01

用户帐号的初始配置文件

文件来源

新建用户帐号时,从 /etc/skel 目录中复制而来

主要的用户初始配置文件

~/.bash_profile:用户每次登录时执行

~/.bashrc:每次进入新的Bash环境时执行

~/.bash_logout:用户每次退出登录时执行

充分理解这些文件的作用,便于我们安排一些自动运行的后台管理任务,例如:.bashrc文件中默认设置了一些命令别名,在后面学习完Shell脚本编写以后,将可以充分利用这些文件减轻系统管理员的负担,默认情况下,用户宿主目录下的初始配置文件只对当前用户有效,而全局配置文件对所有用户有效。

每个shell的启动,执行命令和程序的机制,如何处理命令和程序的输入输出,以及任何编程都受到某些环境变量设置的影响.每个系统都有一个初始的系统启动文件,通常是/etc/profile.这个文件包含了对shell和其他一些实用程序起作用的重要环境变量的初始设置.另外特定的shell还有一些隐藏的文件和点文件在你启动该shell的时候执行,这些文件也叫shell的启动文件,通常是一用户的主目录下的~/.profile,或者是一个特定shell的profile或login文件.例如bash的profile文件通常是~/.bash_profile与~/.bash_login。

当你登录并且登录Shell是Bash时,Bash首先执行/etc/profile文件中的命令(如果该文件存在),然后它顺序寻找~/.bash_profile,~/.bash_logi或~/.profile文件,并执行找到的第一个可读文件中的命令.当登录bash退出时,它将执行~/.bash_logout文件中的命令。

                                     设置/更改用户口令

                                     passwd命令

格式:passwd  [选项]...  用户名

常用命令选项

-d:清空用户的密码,使之无需密码即可登录

-l:锁定用户帐号

-S:查看用户帐号的状态(是否被锁定)

-u:解锁用户帐号

“未设置密码”的用户帐号尚未完成初始化,处于不可登录状态,这与“空密码”的情况(已经为用户设置密码,但密码字串为空)是不同的,“未设置密码”的用户将被禁止登录系统,而拥有“空密码”的用户是可以在本地终端登录的。普通用户也可以使用passwd命令,但只能更改自己的密码,密码要求有一定的复杂性(如不要直接使用英文单词,长度保持在6位以上),否则系统可能拒绝进行设置。被锁定的帐号也将无法登录系统。

 修改用户帐号的属性

 usermod命令

格式:usermod  [选项]...  用户名

常用命令选项

-l:更改用户帐号的登录名称

-L:锁定用户账户

-U:解锁用户账户

以下选项与useradd命令中的含义相同

 -u、-d、-e、-g、-G、-s

usermod有两个选项“-L”、“-U”,分别用于锁定、解锁用户帐号,这两个选项与passwd命令的“-l”、“-u”选项作用基本相同,只不过大小写存在区别。

 删除用户帐号

 userdel命令

格式:userdel  [-r]  用户名

添加 -r 选项时,表示连用户的宿主目录一并删除

例:

[root@localhost ~]# useradd stu01

[root@localhost ~]# ls -ld/home/stu01/

drwx------ 2 stu01 stu01 409609-09 12:38 /home/stu01/

[root@localhost ~]# userdel -rstu01

[root@localhost ~]# ls -ld/home/stu01/

ls: /home/stu01/: 没有那个文件或目录

当系统中的某个用户帐号已经不再需要使用时(如该员工已经从公司离职等情况),可以使用userdel命令将该用户帐号删除。使用userdel命令需要指定帐号名称作为参数,添加“-r”选项时可以将该用户的宿主目录一并删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值