您的位置:首页 > 博客中心 > 网络系统 >

Linux学习笔记十:Linux用户管理

时间:2022-04-03 09:39

本笔记说的Linux用户管理主要包括以下内容:

1、用户配置文件(/etc/passwd  /etc/shadow)

2、组配置文件(/etc/group  /etc/gshadow)

3、用户缺省配置文件(/etc/login.defs  /etc/default/useradd)

4、/etc/motd文件、/etc/issue文件

5、SetUID权限、SetGID权限、黏着位

6、典型案例之一:手动创建一个用户

7、典型案例之二:批量添加用户

8、典型案例之三:限制用户使用su

9、典型案例之四:root权限的开放——sudo

10、John the Ripper 密码强度检测软件

 

1、用户配置文件

用户配置文件主要包括两个文件,分别是:/etc/passwd和/etc/shadow。其中/etc/passwd存放的是用户的信息,/etc/shadow存放的是用户的密码信息。这两个文件的文件内容都是按照一定的格式编写的。

其中/etc/passwd文件格式如下:

用户名:密码位:UID:GID:描述信息:宿主目录:使用的shell命令

如:zhangsan:x:0:0:marketing dept:/home/zhangsan:shell

其中/etc/shadow文件的格式如下:

用户名:加密密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:帐号闲置时间:失效时间:标志

最后一次修改时间:是指最后一次修改密码的天数与1970年1月1日相隔的天数

最小时间间隔:指两次修改密码之间的最小天数(当为0时表示不限制)。

最大时间间隔:是指密码多少天之后失效,但是可以再重新密码使账户可以重新启用。而失效时间是指多久之后账户就直接无效(当不限制时,直接设置一个很大的值即可。)

警告时间:当密码失效前n天就进行提示警告(当为0时表示不警告)

帐号闲置时间:指用户没有登录活动但账号仍能保持有效的最大天数(不设置则留空 MARK)

失效时间:指多久之后账户就直接无效。一般应用于短期外来人员的帐号。

标志:一般不使用

如:待补充 MARK

当我们要添加一个用户的时候,我们可以使用useradd [用户名]/passwd [用户名] 设置用户的信息。

如:useradd hellen 添加用户hellen

passwd hellen  为hellen设置密码(之后输入密码即可)

2、组配置文件

组配置文件也是包括一个组信息文件和一个组密码文件,分别是:/etc/group、/etc/gpasswd。它们也是有一定的编写格式的。

其中/etc/group文件的格式如下:

组名:组密码位:GID:组成员列表

其中组成员如果有多个,则用英文逗号隔开

如:sys::3:root,bin,adm

上面表示有一个组名为sys,GID为3的组,这个组有root,bin,adm三个用户。

/etc/gshadow文件的格式如下:

组名:组密码:用户组管理员的账号:组成员列表

如:MARK 待补充

3、用户缺省配置文件

用户缺省配置文件指的是/etc/login.defs和/etc/default/useradd文件。

它们指的是当我们使用useradd命令添加用户时,对用户的缺省设置(如密码强度、警告时间、最长有效时间等)。

其中/etc/login.defs文件可以定义警告时间、最长有效时间等信息。

而/etc/default/useradd文件可以设置home目录,使用的shell等。

4、/etc/motd文件、/etc/issue文件

/etc/motd文件:存放登录成功之后的提示信息(Message of The Day)

/etc/issue文件:存放登录的提示信息。只要你尝试登录,它就会提示这个文件中的信息,而。一般这个文件只存放一些形式上的欢迎信息,不会透漏服务器的任何信息。

5、SetUID权限、SetGID权限、黏着位

SetUID权限,其实对应与二进制文件的S权限位,它表示其他凡是对此文件有执行权的用户执行时权限自动提升为所有者的权限。如:

-rwsr-xr-x  小写s表示具有SetUID权限,当为大写S时表示SetUID权限出现了错误。

SetUID权限 权限值=4 代号s

授予/撤消SetUID权限(用s表示)分别有两种方式:

chmod u+s  或 chmod 4755

chmod u-s  或  chmod 755

注:4所在的位表示特殊位,而4这个值是SetUID权限的权限值。

 

SetGID权限 权限值=2 代号g

授予/撤消SetGID权限(用s表示)分别有两种方式:

chmod g+s  或  chmod 2755 

chmod g-s  或   chmod 755

如果同时授予SetGID和SetUID则用:chmod 6755

黏着位 权限值=1 代号t

黏着位(用t表示)只能针对权限为777的目录设置。(权限要为777,并且是目录!)。如果一个目录具有黏着位,那么表示每个用户都可以在这个目录下创建文件,但是只能删除自己创建的文件。

授予/撤消黏着位分别有两种方式:

chmod o+t 或 chmod 1777

chmod o-t  或 chmod 777

6、典型案例之一:手动创建一个用户

我们除了可以通过useradd添加一个用户之外,我们也可以通过修改配置文件的方式手动添加一个用户。只要按下面的顺序我们就可以手动添加一个用户:

① 修改/etc/passwd、/etc/shadow文件(MARK 有待补充,补充完整的一个实例)

② 创建宿主目录

③ 拷贝/etc/skel下的配置文件到宿主目录/home/samlee(用户名)下

7、典型案例之二:批量添加用户

下面以批量添加10个用户为例。(MARK 补充一个完整的实例)

① 用newusers命令 - 导入用户信息文件

② pwunconv命令 - 取消shadow password功能

③ chpasswd命令 - 导入密码文件(格式->用户名:密码)

④ pwconv命令 - 将密码写入shadow文件

8、典型案例之三:限制用户使用su

限制用户使用su的本质是改变su命令的可执行位,对所有具有使用su命令的用户授予x权限。

① 创建sugroup组并改变su命令的权限

#groupadd sugroup

#chmod 4550 /bin/su  只有创建者和所属组具有x权限

② 改变/bin/su所属组为sugroup

#chgrp sugroup /bin/su

设定之后,只有sugroup中的用户可以使用su切换为root。

9、典型案例之四:root权限的开放——sudo

Sudo是一个软件,它可以让普通用户以root身份执行命令,并且可以精细化到命令的参数。

Sudo的配置文件是:/etc/sudoers,要编译Sudo的配置文件用命令:visudo,用一般的vi命令是不能编译的。

而我们编辑sodoers文件也要按照一定的格式,/etc/sudoers文件的格式为:用户名(组名) 主机地址=命令(绝对路径)

比如我要让hellen具有添加用户的权限,那我用visudo编辑配置文件并加入下面的配置:

hellen localhost=/usr/sbin/useradd  //有多个命令要赋予时,用英文逗号隔开

这样当我用hellen登录的时候,我可以用“sudo [命令]”的格式去添加用户,如:

sudo useradd testuser

sudo passwd testuser

这样就可以成功添加testuser用户了。

此外,你可以用“sudo -l 命令”查看看当前用户被授予了哪些命令的root执行权限。如:

补充实例 MARK

另外,sudo可以精细化地进行命令的授权,如:

hellen localhost=/sbin/shutdown -h now       //只允许用户执行sudo shutdown -h now命令,少一个参数都不行。

10、John the Ripper 密码强度检测软件

 

本类排行

今日推荐

热门手游