将用户设置为无法登录
锁定账户
删除账户
锁定账户密码 本质锁定
-a????????让文件或目录仅供附加用途。只能追加
-i? ? ? ? ?不得任意更动文件或目录
对于新建用户
????????可以修改 /etc/login.defs 文件里的内容来设置密码规则
对于已有用户
? ? ? ? 可以使用chage命令
chage [选项] 用户名
????????-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
????????-M:密码保持有效的最大天数。
????????-w:用户密码到期前,提前收到警告信息的天数。
????????-E:帐号到期的日期。过了这天,此帐号将不可用。
????????-d:上一次更改的日期。
????????-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
????????-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
history:查看历史命令,默认一千条。通过修改/etc/profile文件中的HISTSIZE变量值,可以影响系统中的所有用户。
可以使用以下命令临时清除历史命令
????????history -c?
????????clear
su命令即 switch user,命令 可以切换用户身份,并且以指定用户的身份执行命令。
通式:?su [options...] [-] [user [args...]]
切换用户的方式:
????????su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换
????????su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
????????说明:root用户su至其他用户无须密码;非root用户切换时需要密码
????????注意:su切换新用户后,使用 exit 退回至旧的用户身份,而不要再用 su 切换至旧用户,否则会生成很多的bash子进程,环境可能会混乱。
su 与 su -
????????即有 - 选项,切换用户身份更彻底;反之,只切换了一部分,这会导致某些命令运行出现问题或错误(例如无法使用 service 命令)。
gpasswd -a lisi wheel
????????#将用户加入 wheel组
wheel组权限比root组高
# auth sufficient pam_rootok.so
# auth required pam_wheel.so use_uida) 以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
b) 两行都注释也是允许所有用户都能使用su命令,但root'下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
c) 如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令
d) 如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
PAM提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录。
查看当前系统pam:rpm -qi pam
查看模块:rpm -ql pam
包名: pam
模块文件目录:/lib64/security/*.so
特定模块相关的设置文件:/etc/security/
man 8 加模块名 可以查看帮助
应用程序调用PAM模块的配置文件
主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置
为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME
注意:如/etc/pam.d存在,/etc/pam.conf将失效
/usr/lib64/security? ? ? ? ? 存放功能模块
/etc/security? ? ? ? ? ? ? ? ? 复杂的配置文件
/etc/pam.d/? ? ? ? ? ? ? ? ? ? 存放配置文件
required:一票否决,如果失败最后一定会失败,但是会继续进行验证
requisite:一票否决,如果失败会立即结束验证,反馈失败
sufficient:验证成功则立即返回,不在继续,否则忽略结构并继续
optional:不用于验证,只是显示信息
功能:检查有效shell,pam_shells.so 只允许规定的shell类型通过, 是在/etc/shells文件中存在的类型通过
帮助:man pam_shells
功能:只允许root用户在/etc/securetty列出的安全终端上登陆
功能:如果/etc/nologin文件存在,将导致非root用户不能登陆,当该用户登陆时,会显示/etc/nologin文件内容,并拒绝登陆
功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间。
修改限制的实现方式:
(1) ulimit命令
????????ulimit是linux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制。
????????ulimit的设定值是 per-process 的,也就是说,每个进程有自己的limits值。使用ulimit进行修改,立即生效。
????????ulimit只影响shell进程及其子进程,用户登出后失效。
????????可以在profile中加入ulimit的设置,变相的做到永久生效
选项 | 效果 |
---|---|
-H | 设置硬件资源限制 |
-S | 设置软件资源限制 |
-a | 显示当前所有的资源限制 |
-c size | 设置core文件的最大值.单位:blocks |
-d size | 设置数据段的最大值.单位:kbytes |
-f size | 设置创建文件的最大值.单位:blocks |
-l size | 设置在内存中锁定进程的最大值.单位:kbytes |
-m size | 设置可以使用的常驻内存的最大值.单位:kbytes |
-n size | 设置内核可以同时打开的文件描述符的最大值.单位:n |
-p size | 设置管道缓冲区的最大值.单位:kbytes |
-s size | 设置堆栈的最大值.单位:kbytes |
-t size | 设置CPU使用时间的最大上限.单位:seconds |
-u size | 最大用户进程数 |
-v size | 设置虚拟内存的最大值.单位:kbytes |
unlimited 是一个特殊值,用于表示不限制 |
????????允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。
sudo特性:
sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440
root ALL=(ALL) ALL? ? ? ? #任意机器上的root用户都可以在本机上处理命令
sudo别名有四种类型:
User_Alias(用户)
Runas_Alias(代表用户)
Host_Alias(登录主机)
Cmnd_Alias(命令)
别名格式:必须大写字母,数字可以使用但是不能放在开头