第十一章 Linux账户管理与ACL权限设置(下)

目录

用户身份切换

su (switch user)

sudo (super user do)

用户的特殊shell与PAM模块

特殊的shell:/sbin/nologin

PAM模块简介

常用模块简介

Linux主机上的用户信息传递

查询用户:w、who、last、lastlog

用户对谈:write、mesg、wall

用户邮件信箱:mail


用户身份切换

su (switch user)

切换用户:su zhangsan     切换用户

切换用户:su - zhangsan   切换用户,切换家目录;

注:不加参数-,只能切换用户;而加上参数-不仅可以切换用户,还可以切换到对应用户的家目录下;

         root用户切换到其它用户都输不需要密码的,而普通用户之间的切换以及往root用户切换都是需要输入密码

         直接使用su -命令表示切换到root用户

 

尽管我们可以通过su命令切换用户,但是在系统中很多命令的执行普通用户都是没有权限的;我们可以通过下面的命令来执行命令:

su - -c ‘mount /dev/cdrom /mnt’     以root用户的身份,执行-c后面的命令

注:-c参数表示以某个用户的身份去执行命令,而并不需要切换到该用户


sudo (super user do)

在系统中,除了root用户具有最高的权限之外;通常会划分一些管理员进行管理系统;但是在系统中有很多操作是需要root权限才可以操作的,如果只是简单通过su到管理员,有会被提示需要root用户的密码;而在一个企业中root用户的密码往往是不会轻易泄露的,这种情况下就需要使用sudo命令;sudo命令的原理就是将某一个命令的使用权赋予给某一个用户

查看sudo配置文档:vim /etc/sudoers

 

编辑sudo配置文档,为用户赋予命令使用权:

编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出

 

执行sudu命令:sudo mount /dev/cdrom /mnt

注:当我们使用普通用户执行sudo命令的时候,首先会要求你输入该用户的密码;以证明你当前身份的真实性;如果密码验证通过命令将会被执行;并且该条命令会在缓存中保留五分钟,当我们下次再执行这条命令的时候系统就不会要求你输入密码了

 

sudo -k     清空密码缓存

 

设置用户使用命令不需要密码验证:

注:当加上NOPASSWD之后,用户使用sudo执行命令的时候就不需要输入密码确认身份了

 

查看root赋予给当前用户使用权的命令:sudo -l


用户的特殊shell与PAM模块

特殊的shell:/sbin/nologin

在Linux中,如果用户的shell被设置成了/sbin/nologin,那么其它所有的用户都不能切换到该用户中;连同这个用户自己也无法登陆系统;/sbin/nologin的作用是可以给用户提供登录到主机中的服务,而不允许用户登录到系统;从而保护了系统的安全


PAM模块简介

Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式. 换句话说,不用(重新编写)重新编译一个包含PAM功能的应用程序,就可以改变它使用的认证机制. 这种方式下,就算升级本地认证机制,也不用修改程序. 

        PAM使用配置/etc/pam.d/下的文件,来管理对程序的认证方式.应用程序调用相应的配置文件,从而调用本地的认证模块.模块放置在/lib/security下,以加载动态库的形式进行;因为在Linux系统中很多服务是没有验证功能的,当我们要使用该服务的时候需要我们输入用户名、密码等信息进行验证;当这些服务收到用户发送过来的验证信息时,会把用户名、密码等信息发送给PAM;PAM根据自己的配置文件调用不同的模块去实现验证;像我们使用su命令时,系统会提示你输入root用户的密码.这就是su命令通过调用PAM模块实现的.

查看PAM所有的配置文件:ls /etc/pam.d

 

查看PAM配置文件的内容:vim sshd   (以远程连接的配置文件举例)

由上图可以将配置文件分为四列,

第一列代表模块类型

第二列代表控制标记

第三列代表模块路径

第四列代表模块参数

查看系统所有的PAM模块:ls /lib/security

 

PAM的模块类型:

Linux-PAM有四种模块类型,分别代表四种不同的任务

它们是:认证管理(auth),账号管理(account),会话管理(session)和密码(password)管理,一个类型可能有多行,它们按顺序依次由PAM模块调用.

 

PAM的控制标记:

PAM使用控制标记来处理和判断各个模块的返回值.(在此只说明简单的认证标记) 

 

模块路径:

模块路径.即要调用模块的位置. 如果是64位系统,一般保存在/lib64/security,如: pam_unix.so

同一个模块,可以出现在不同的类型中.它在不同的类型中所执行的操作都不相同.这是由于每个模块针对不同的模块类型,编制了不同的执行函数.

模块参数:

模块参数,即传递给模块的参数.参数可以有多个,之间用空格分隔开,如:

password   required   pam_unix.so nullok obscure min=4 max=8 md5


常用模块简介

实例:

1pam_securetty.so

限制roottty1,tty2tty5登录(无实际意义,只是演示pam_securetty的用法)

/etc/pam.d/login中添加如下一行

/etc/pam.d/securetty中将tty1,tty2,tty5注释即可

之后使用root用户再次登录,就会出现

这么做其实并不是只限制root用户,也可以将其它用户用此方法来限定,当系统安装完成后,使用此方法来增强一下安全性。


Linux主机上的用户信息传递

查询用户:w、who、last、lastlog

查看当前有哪些用户登录系统:w      或者 who

 

查看历史登录的用户信息:last  或者 lastlog


用户对谈:write、mesg、wall

Linux中可以让多个用户同时登录到系统,在这些用户之间同样可以进行信息的交流;

使用write演示用户之间发送信息:write zhangsan tty2

 

查看用户接收信息是否开启:mesg

关闭用户接收消息:mesg n                  

开启用户接收消息:mesg y

注:只能拒收非root用户的消息,root发来的消息还是能收到

 

使用wall演示发送广播信息:

wall “xxxxxxyyyyyyyy”

注:使用wall发送的广播信息,登录系统的每个用户都能收到


用户邮件信箱:mail

在Linux中默认都是开启了邮箱的服务

查看邮件运行状态:service sendmail status

给用户发邮件:echo “xxxxxxx” | mail -s “hello zhangsan” zhangsan

查看用户的邮件信息:mail -u zhangsan


原创文章,转载请注明出处

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旷野亮光

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值