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

本笔记说的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 密码强度检测软件

时间: 2024-08-01 10:43:55

Linux学习笔记十:Linux用户管理的相关文章

Linux学习笔记十:软件包管理

在Linux的众多版本中,可以大致分成两个系列,分别是:RedHat系Linux,Debian系Linux.在这两种不同系的Linux中,软件包的管理也是有着一定的区别,但他们的原理都大致相同.这篇笔记将以RedHat系Linux为重点讲解其软件包的管理,并简单介绍Debian系Linux软件包的管理.其大致的结构如下: · RedHat系Linux软件包管理 - 1. 二进制包管理(基于rpm) - 2. 二进制包管理(基于yum) - 3. 源代码包管理 - 4. 脚本安装 · Debian

Linux学习笔记之常用用户管理类命令

开始这个话题之前应该先了解下/etc/shadow这个文件中的构造,对于列所代表的意思大体有个了解,先以ftpuser账户来介绍:后边会给出一些相应的例题来做使用说明补充(好吧我承认,这,又是一篇博客作业^_^万恶的标题党). ftpuser:$6$T9WUEls/$AK4hTO1bZ7MXW7VoMej8e7tVG1qqxPy5axVJAAIz4m6uuzZmoYDcQjUG2XlXx7klx/i8yJ1luZDtoKYwJAMa4.:16929:0:99999:7:5:: 总共有9个字段被"

Linux学习笔记<十二>——磁盘管理

设备文件: b:块文件,按块为单位,随机访问的设备,如磁盘 c:字符文件,按字符为单位,访问有先后次序的线性设备,如键盘 ls -l查看设备文件,原显示大小的列改显示为 主设备号(major number) 用于标识设备类型 次设备号(minor number) 用于标识同一种类型的不同设备 mknod 创建块或字符设备文件 mknod [OPTION]... NAME TYPE [MAJOR MINOR] -m MODE 指定权限 例子:mknod -m 640 mydev c 66 0 硬盘

Linux学习笔记<十六>——进程管理

Process/Thread Model Stopped:进程收到停止信号后停止运行 Ready:正在运行 Executing正在运行队列中等待 Uninterruptible sleep:不可终端指的不是CPU不响应外部硬件的中断,而是进程不响应异步信号 Interruptible sleep:等待某些事件的发生而被挂起 Zombie:进程已终止,但进程的进程控制块(以及少数资源)没被回收 程序优先级,数字越小,越优先,更优先获得运行的机会,获得更多的CPU运行时间 0-99:内核控制 100

Linux学习笔记(四)之用户登录

1.Linux是一个网络操作系统,作为多用户,多任务的操作系统,其系统资源是所有用户共享的.任何要使用系统资源者必须先在系统内登记,注册,即开设用户账号,该账号又包含用户名,口令,所用的shell,使用权限等.为了计算机系统的安全,LInux会对每一个要求进入系统的用户进行用户名和口令的验证,如果验证成功则用户登录成功,否则系统拒绝登录. 2.其中用户登录又分为两种,一种是用户的终端登录,另外一种是远程登录,如果用户是在本地终端登录Linux系统,便为用户的终端登录,如果用户是通过网络登录Lin

Linux学习笔记:Linux发行版

Linux发行版 什么是Linux distribution – Linux的本质来说,它只是操作系统的核心(内核),负责控制硬件.管理文件系统.程序迚程等,并丌给用户提供各种工具和应用软件. – 人们以Linux核心为中心,再集成搭配各种各样的系统管理软件戒应用工具软件组成一套完整的操作系统,如此的组合便称为Linux发行版. Linux主要发行版 RedHat Linux:红帽企业级Linux是系统管理员的第一选择,它有众多的程序包,还有非常到位的支持,由于该发行版是商业化产品,所以丌是免费

Linux学习笔记(四)-Linux常用命令

常用命令格式 #command(指令) [-options] parameter1(参数1) parameter2(参数2)... 大小写区分,tab自动补全 Shell特殊字符 通配符 管道Pipe:把前面进程的输出作为后面进程的输入,把前面文件的输出作为后面进程的输入 输入/输出重定向 命令帮助 Man工具就是系统帮助手册:man+命令 Info工具是一个基于菜单的超文本系统 翻页 ctrl+f:下一页 ctrl+b:上一页 more 历史记录查看 history n(指定查看最近多少条)

Linux学习笔记十二:进程管理

1.查看进程 第一种,用w查看进程: [[email protected] ~]# w 05:22:23 up 14 min, 2 users, load average: 0.00, 0.02, 0.06 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT chenyr tty1 :0 05:08 14:38 2.35s 0.23s pam: gdm-passwo chanshuy pts/0 192.168.230.1 05:09 0.00

Linux学习笔记(21) Linux日志管理

1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致. rsyslogd的新特点: 基于TCP网络协议传输日志信息:更安全的网络传输方式:有日志消息的及时分析框架:后台数据库:配置文件中可以写简单的逻辑判断:与syslogd配置文件相兼容. 1)确定服务启动 ps aux