软考地带经典linux教程四用户管理.docx

上传人:b****4 文档编号:3512875 上传时间:2022-11-23 格式:DOCX 页数:11 大小:21.93KB
下载 相关 举报
软考地带经典linux教程四用户管理.docx_第1页
第1页 / 共11页
软考地带经典linux教程四用户管理.docx_第2页
第2页 / 共11页
软考地带经典linux教程四用户管理.docx_第3页
第3页 / 共11页
软考地带经典linux教程四用户管理.docx_第4页
第4页 / 共11页
软考地带经典linux教程四用户管理.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

软考地带经典linux教程四用户管理.docx

《软考地带经典linux教程四用户管理.docx》由会员分享,可在线阅读,更多相关《软考地带经典linux教程四用户管理.docx(11页珍藏版)》请在冰豆网上搜索。

软考地带经典linux教程四用户管理.docx

软考地带经典linux教程四用户管理

软考地带经典linux教程四:

用户管理

一.用户账号文件——passwd

Passwd是一个文本文件,用于定义系统的用户账号,该文件位于“/etc”目录下。

它包含了一个系统账户列表,给出每个账户一些有用的信息,例如,用户ID、组ID、主目录、shell等等。

由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。

passwd文件中每行定义一个用户账号,一行中又划分为多个字段定义用户的账号的不同属性,各字段用“:

”隔开。

各字段的说明如下所示。

表passwd文件各字段说明

字  段说    明

Account使用者在系统中的名字,它不能包含大写字母。

Password用户口令,出于安全考虑,现在不使用该字段保存口令,而用字母“x”来填充该字段,真正的密码保存在shadow文件。

删除该列,则不需要密码验证。

UID用户ID号,惟一表示某用户的数字。

GID用户所属的私有组号,该数字对应group文件中的GID。

COMMENT这字段是可选的,通常用于保存用户命名的信息。

Directory用户的主目录,用户成功登录后的默认目录。

shell用户所使用的shell,如该字段为空则使用“/bin/sh”。

UID:

0就表示超级用户

UID:

1~99系统帐号

UID:

100~499系统预留帐号

UID:

500以上普通用户帐号

关于UID的理解:

UID是用户的ID值,在系统中每个用户的UID的值是唯一的,更确切的说每个用户都要对应一个唯一的UID,系统管理员应该确保这一规则。

系统用户的UID的值从0开始,是一个正整数,至于最大值可以在/etc/login.defs可以查到,一般Linux发行版约定为60000;在Linux中,root的UID是0,拥有系统最高权限;

UID是确认用户权限的标识,用户登录系统所处的角色是通过UID来实现的,而非用户名,切记;把几个用户共用一个UID是危险的,比如我们上面所谈到的,把普通用户的UID改为0,和root共用一个UID,这事实上就造成了系统管理权限的混乱。

如果我们想用root权限,可以通过su或sudo来实现;切不可随意让一个用户和root分享同一个UID;

二.用户口令文件——shadow

在shadow文件中,每行定义了一个用户信息,行中各字段各字段用“:

”隔开。

为进一步提高安全性,shadow文件中保存的是已加密的口令。

“/etc/shadow”文件中的每个记录用“:

”隔开为9个域,每个域的含义分别为:

        登录名

        加密口令

        口令上次更改时间距1970年1月1日的天数

        口令更改所需的最小间隔天数

        口令有效期,默认为99999天

        口令到期前的提前警告天数

        口令到期后的宽限天数

        账号被封时距1970年1月1日的天数

        备用列

三.用户组账号文件——group

用户组是逻辑地组织用户账号集合的方便途径,它允许用户在组内共享文件。

系统上的每一个文件都有一个用户和一个组的属主。

使用“ls–l”命令可以看到每一个文件的属主和组。

对于系统上的每个组,在/etc/group文件中有一行记录,记录的格式为:

groupname:

passwd:

GID:

userlist

表3-2group文件字段说明

字  段说  明

Groupname是组的名字

Passwd是组的加密口令

GID是系统区分不同组的ID,在/etc/passwd域中的GID域是用这个数来指定用户的缺省组。

Userlist是用“,”分开的用户名,列出的是这个组的成员。

四.用户组口令文件——gshadow

gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用户可以读取。

gshadow文件中每行定义一个用户组信息,行中各字段间用“:

”分隔,每行记录的格式为:

groupname:

Encryptedpassword:

Groupadministrators:

Groupmembers

表3-3group文件字段说明

字  段说  明

Groupname用户组名称,该字段与group文件中的组名称对应。

Encryptedpassword用户组口令,该字段用于保存已加密的口令

Groupadministrators组的管理员账号,管理员有权对该组添加删除账号。

Groupmembers属于该组的用户成员列表,列表中多个用户间用“,”分隔。

五./etc/skel

保存用户默认配置文件和目录

如果有一系列标准文件,如新用户的公司政策,则可以将其复制到/etc/skel文件中。

所有用户的主目录中都会得到这些文件的拷贝。

六.用户主目录下的用户文件

~/.bash_history--用户执行命令的历史记录,可存放1000条,先进先出

~/.bash_logout--用户退出时执行的命令

~/.bashrc私有环境文件

~/.bash_profile私有环境文件

 

用户管理涉及的文件:

/etc/passwd帐号文件

/etc/shadow用户密码文件

/etc/group组文件

/etc/gshadow组密码文件

/etc/default/useradd添加用户的默认值文件

/etc/login.defs登录信息的默认文件

/etc/skel用户环境文件的标准模板

/etc/issue登录前的提示信息

包含参数:

\r内核的版本\m硬件等级\d日期\t时间\l第几个终端

/etc/motd登录后的提示信息,内容可自定义

/etc/bashrc公有环境文件

/etc/profile公有环境文件

~/.bashrc私有环境文件

~/.bash_profile私有环境文件

~/.bash_history保存历史命令的文件

~/.bash_logout退出登录的执行命令的文件

 

七.用户的增删改

1.添加用户:

#useraddus1

#passwdus1

新增用户属于锁定状态,必须用passwd设置密码解锁。

#useraddusx–u522–g0–c‘newuserusx’–d/tmp/usx–s/sbin/nologin–f5–e20080801

useradd命令参数说明:

-u:

指定UID

-g:

指定GID,此组必须已存在

-c:

指定帐户描述信息,如包含空格,必须用单引号括起来

-d:

指定主目录

-s:

指定登录后执行的程序

-f:

设置口令过期后宽限时间。

若为0,则表示帐号立即失效;为1,则表示该选项无效

-e:

指定帐户过期日期,格式MM/DD/YYYY或YYYYMMDD

-m:

自动创建用户主目录,并把环境目录(默认为/etc/skel)下的文件复制到用户主目录

-M:

不创建用户主目录

 

 

passwd命令还可以使用一些参数选项,这些参数选项可对账号的口令进行不同的操作,但这些带参数的passwd命令只有root用户可以使用。

这些参数选择包括:

-S:

用于查询指定用户账号的状态。

 -l:

用于锁定账号的口令

 -u:

解除锁定账号的口令

 -d:

删除指定账号的口令

 -x:

密码使用最大天数

 -n:

密码使用最小天数

 

 

#passwd–ufus1--密码解锁

#passwd-lus1--密码锁定

#passwd-dus1--清空密码

#passwd-n5us1--修改密码最少使用5天

#passwd-x900us1--修改密码最长用900天

 

2.      删除用户:

userdel命令用于删除指定的用户账号。

其使用的语法格式为:

userdel[-r][用户账号]

需要补充说明的是userdel命令可删除用户账号与相关的文件。

若不加参数,则仅删除用户账号,而不删除相关文件。

其中参数“-r”是用来删除用户登入目录以及目录中所有文件。

下面举例说明该命令的使用方法:

#greplyd/etc/passwd//查询用户账号lyd是否存在

#userdellyd//删除lyd账号

#greplyd/etc/passwd//再次查询用户账号lyd是否存在

#ll–d/home//查询用户lyd的主目录是否还存在

#userdel–rlyd//删除用户的同时删除其工作主目录

 

3.      修改用户帐号

usermod命令可用来修改用户帐号的各种属性,包括用户主目录、私有组、登录、shell等内容。

Usermod的命令格式如下:

usermod[-LU][-c<备注>][-d<登入目录>][-e<有效期限>][-f<缓冲天数>][-g<群组>]

[-G<群组>][-l<帐号名称>][-s][-u][用户帐号]

 

该命令的各个参数说明如下:

 -c<备注>:

修改用户帐号的备注文字。

 -d<登入目录>:

修改用户登入时的目录。

 -e<有效期限>:

修改帐号的有效期限。

 -f<缓冲天数>:

修改在密码过期后多少天即关闭该帐号。

 -g<群组>:

修改用户所属的群组。

-l<帐号名次>:

修改用户帐号的名称

下面举例说明该命令的使用方法:

(1)修改用户名,把用户名“liuyidan”改名为“lyd”,使用的命令是:

#usermod–llydliuyidan

(2)锁定“lyd”用户,使其不能登录。

命令如下:

#usermod–Llyd

(3)解锁“lyd”用户账号,使其可以登录。

命令如下:

#usermod–Ulyd

添加组帐号

groupadd命令可指定群组名称来建立新的群组账号。

该组账号的ID值必须是惟一的,且数值不可为负。

预设的最小值不得小于500,且每增加一个组账号ID值逐次增加。

ID值0~499是保留给系统账号使用。

该指令使用的语法格式为:

groupadd[-r]group

其中“-r”参数是用来建立系统账号。

系统账号的ID值不能大于500。

下面举例说明该命令的使用方法:

#groupaddlbgroup//建立组账号lbgroup

#groupadd-g555lbgroup//建立组帐号时指定GID

#greplbgroup/etc/group//查询group文件中lbgroup组是否建立

#groupadd–rsyslbgroup//建立系统组账号

#greplbgroup/etc/group//查询group文件中syslbgroup组是否建立

 

 

5.      修改组帐号

groupmod命令用来更改群组识别码或名称。

该命令的语法格式为:

groupmod[-g<群组识别码><-o>][-n<新群组名称>][群组名称]

命令中所使用的参数说明如下:

        -g<群组识别码> 设置欲使用的群组识别码。

        -o 重复使用群组识别码。

        -n<新群组名称> 设置欲使用的群组名称。

下面举例说明该命令的使用方法:

#greplbgroup/etc/group//查询group文件中lbgroup组属性

#groupmod–g503lbgroup//改变lbgroup组的GID为503

#greplbgroup/etc/group//查询操作结果是否正确

#groupmod–nydgrouplbgroup//改变lbgroup组名为ydgroup

#grep503/etc/group//查询操作结果是否正确

 

6.删除组账号

groupdel命令用于删除指定的组账号,若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

该命令的语法格式为:

groupdel[群组名称]

 

7.组中用户成员的维护

gpasswd命令可用于把一个账户添加到组、把一个账户从组中删除、把一个账户设为组管理员。

(1)添加用户到组的命令格式为:

gpasswd–a用户账号名 组账号名

(2)从组中删除用户的命令格式为:

gpasswd–d用户账号名组账号名

(3)设置用户为组管理员的命令格式为:

gpasswd-A组管理员用户列表 用户组

 

8.id命令

id命令用于显示用户当前的UID,gid以及所属群组的组列表该指令的语法格式为:

 id[选项][用户名称]

该命令所使用的选项参数说明如下:

        -g:

显示用户所属群组的ID。

        -G:

显示用户所属附加群组的ID。

        -n:

显示用户,所属群组或附加群组的名称。

        -r:

显示实际ID。

        -u:

显示用户ID。

 

9.whoami命令

whoami命令用于显示登录者自身的用户名称,本指令相当于执行“id–un”指令。

10.su命令

 su命令是用来将当前用户转换为其他用户身份。

其命令的语法格式为:

su[-flmp][-][-c<指令>][-s][用户帐号]

需要指出的是su命令可让用户暂时变更登入的身份。

变更时须输入所要变更的用户账号与密码。

该命令中的选项参数说明如下:

        -c<指令>:

执行完指定的指令后,即恢复原来的身份。

        -f:

适用于csh与tsch,使shell不用去读取启动文件。

        -:

改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。

此外,也会变更PATH变量。

        -m,-p:

变更身份时,不要变更环境变量。

        -s:

指定要执行的shell。

[用户帐号]:

指定要变更的用户。

若不指定此参数,则预设变更为root。

 

11.groups命令

groups命令用于显示指定用户所属的组,如未指定用户则显示当前用户所属的组。

该命令的语法格式为:

groups用户名

 

12.查看用户的操作

系统管理员在任一时刻都可查看用户的行为,在终端的提示符下输入w命令即可

命令响应中所示的信息分别说明如下:

第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登录用户总数及系统平均负载信息。

对于该行显示的几个数据意义是:

 4:

50pm表示执行w的时间是在下午4:

50。

 0days,11:

18表示系统运行0天11小时18分。

 4users表示当前系统登录用户总数为4

loadaverage与后面的数字一起表示系统在过去1、5、10分钟内的负载程度,数值越小,系统负载越轻。

从第2行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资源:

USER:

显示登录用户名。

用户重复登录,该账号也会重复出现。

 TTY:

用户登录所使用的终端。

FORM:

显示用户从什么地方登录到系统。

如果是从本地登录,此字段为“-”;如果从远程登录便会显示主机的IP地址或主机名。

LOGIN@:

是LOGIN AT的意思,表示登录进入系统的时间。

IDLE:

用户空闲时间,从用户上一次任务结束后开始计时。

JCPU:

以终端代号来区分,表示在某段时间内,所有与该终端相关的进程任务所耗费的CPU时间。

PCPU:

指WHAT域的任务执行后所耗费的CPU时间。

WHAT:

表示当前执行的任务。

另外,使用W命令还可在有很多用户登录时,查看某一个具体的用户名,使用的命令形式如下:

#wroot 

 

13.查看登录用户历史

系统管理员可以随时查看用户登录的历史行为,还可查看某一用户曾经登录到的系统,这些功能使用last命令即可实现。

 

14.别名命令

#alias

#aliasa=’cd~’--临时设置

设置单个用户主目录下的.bashrc文件,只对当前用户有效

设置/etc/.bashrc文件,对所有用户有效

如果在两个文件中同时设置相同别名命令,则以私有文件中的设置有效

 

15.系统环境变量$PATH

不同级别的用户默认环境变量的内容是不同的

#echo$PATH

#su–john

$echo$PATH

$PATH=$PATH:

/sbin--临时修改当时用户的环境变量

$vi.bash_profile--直接修改用户环境文件,永久保存

在文件中增加下面一行:

PATH=$PATH:

/sbin

 

16.系统环境变量PS1

控制命令提示行;

\d:

表示日期;

\t:

24小时制的时间,格式为:

HH:

MM:

SS

\T:

12小时制的时间;

\H:

主机名.域名;

\h:

主机名;

\A:

显示时间,格式为:

HH:

MM

\u:

当前登录名称;

\v:

BASH的版本;

\w:

所在目录的绝对路径;

\W:

当前目录的目录名;

\!

当前命令在历史缓冲区中的位置

\#命令编号(只要您键入内容,它就会在每次提示时累加)

\$:

提示字元,如果是root,则提示#;普通用户则提示$;

 

彩色化

颜色是通过在PS1中添加专用序列来选择的--基本上是夹在"\e["(转义开方括号)  和"m"之间数字值。

如果指定一个以上的数字代码,则用分号将它们分开。

前景编号(30-37),背景编号(40-47),颜色深度(1-10)

在bash显示出工作目录以后,我们需要使用"\e[0m"或"\e[;m"序列将颜色重新设置为正常值。

 

16.系统环境变量PS2

命令的二级提示符;

bash有俩级用户提示符。

第一级是bash在等待命令输入时的提示符。

可以通过在用户主目录下.bash_profile文件里设置PS1变量来实现。

当bash期待输入更多的信息以完成命令时将显示第二级提示符。

(比如:

你输入cpfilename1\,回车,这时候就出现第二级提示符。

\是续行的意思)默认的第二级提示符是“>;”。

如果要改变第二级提示符,可以通过在.bash_profile文件里设置PS2变量来实现。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1