Linux基础知识与实操-篇七:用户身份切换与特殊控制


在理解了前篇 篇六:用户权限控制与账号管理 后,我们继续深入用户权限控制关于用户身份切换、限制特殊权限相关的内容。

使用者身份的切换

操作服务器的几个建议:

  • 使用一般账号(非root账号)进行系统操作,可以避免很严重的错误指令
  • 使用较低权限启动系统服务
    比对对于不同的系统服务,apachemysql 等服务,分别单独建立一个用户专门用来启动该服务,防止破坏整个系统
  • 软件本身的限制
    有些软件默认就是不允许root 身份登录的,比如elasticsearch,只能使用一般用户登录

image

关于su命令的使用,还有有要注意的地方的:

su [-lm] [-c 指令] [username]

-  单纯使用- ,代表 login -shell 方式登录系统,如果后面没有 使用者,则默认是 root身份
-l  与-类似,但后面需要加上要切换的使用者的账号,也是 login-shell的方式
-m  与-p命令一样,表示目前的环境设定,而不读取使用者的配置文件
-c  仅进行一次的命令,所以-c后面可以加指令

这个su 命令有没有那个-,差距还是比较大的,如下:
image

单纯使用『 su 』切换成为 root 的身份, 读取的变量设定方式为 non-login shell 的方式,这种方式
很多原本的变量不会被改变
,所以很多root的惯用指令,只能通过 绝对路径执行,因为 环境变量 并不是 root!
所以在切换身份到root时,务必使用su - 命令
image


如果未来防止root用户的密码泄露,有想要使用root的执行权限,就可以通过sudo 命令来实现 使用root身份来执行命令,而且只有/etc/sudoers 内的用户才可以使用 sudo命令

基本使用如下:

sudo [-b] [-u 新使用者账号] 

-b  将后续的指令放到背景中让系统自行执行,不与目前的shell产生影响
-u  后面可以接要切换的使用者,若无此选项,则表示切换到root

执行 sudo 的流程如下:
image

所以 sudo命令的重点就是,必须要看/etc/sudoers的设定值,可以使用sudo的是通过输入用户自己的密码来执行后续的指令串的,但是sudoers文件不建议直接修改,最好是通过visudo命令进行修改

配置sudo

除了 root 之外的其他账号,若想要使用 sudo 执行属于 root 的权限指令,则 root 需要先使用 visudo 去修改 /etc/sudoers ,让该账号能够使用全部或部分的 root 指令功能, 这是由于 etc/sudoers 是有设定的语法的,如果设定错误的话,会造成无法使用功能sudo指令的不良后果,所以需要 visudo 去修改,这样在结束修改的时候,系统会自动检查语法

一般在某用户使用 sudo 命令时,是需要输入 该用户的密码的,但是如果两次执行 sudo 的时间间隔在 五分钟之内,那么再次执行 sudo 就不用再次输入密码了

单一用户

设置单一用户可以进行root所有指令:
image

在主机可以修改的位置如下:
image-20220609203258724

这其中四个组件的含义如下:

  1. 使用者账号:即系统的那个账号可以使用sudo这个指令
  2. 登入者的来源主机名:指定客户端计算机,相当于信任源
  3. 可切换的身份:该账号可以切换为什么身份来下达后续的指令,默认的root表示可以切换为任何人
  4. 可下达的指令:可以使用该指令下达什么命令

上面的 ALL 是个特殊的关键词,表示 任何身份、主机或指令的意思

群组处理

对于群组的处理:
image

image

上面的设定值就表示 任何加入wheel这个群组的使用者,都可以使用sudo 切换身份来操作任何指令,就相当于是 群管理员了。

有限制的命令操作

实现用户仅能进校部分系统任务,比方说,系统上面的 myuser1 仅能够帮 root 修改其他用户的密码时,亦即『当使用者仅能使用 passwd 这个指令帮忙 root 修改其他用户的密码』时 的情况
image

如果现在有 若干个用户,需要设置为同样的权限,可以不用写这样的若干行代码,而是通过 别名实现:
image

如果需要大量执行很多root的工作,可以使用sudo 搭配su 使用:
image

特殊shell与PAM模块

考虑建立仅使用系统资源,但是不登录系统的权限,就是可以使用部分系统资源,但是无法使用bash或者shell来登录系统,在Linux主机中,各个系统账号,打印作业由 lp 这个账号在管理, WWW 服务由 apache 这个账号在管理, 他们都可以进行系统程序的工作,但是『就是无法登入主机取得互动的 shell』而已
image

PAM:可以说是一套应用程序编程接口 (Application Programming Interface, API),他提供了一连串的验证机制,只要使用者将验证阶段的需求告知 PAM 后, PAM 就能够回报使用者验证的结果 (成功或失败)。
执行流程如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-osrXzymQ-1667999827129)(02鸟哥的Linux私房菜10-14.assets/image-20220609210210360.png)]

关于PAM的其他内容,这里不再整理 详见 《鸟哥的Linux私房菜》13.5.3、13.5.4、13.5.5

Linux用户信息传递

关于Linux某个账号的信息,查询使用者的命令,上面的 idconfig 命令都可以实现,last 命令可以查询该用户登录的时间

查询目前已经登录再系统上的用户: wwho
image

每个账号最近登录时间:lastlog, 该命令会去读取 /var/log/lastlog 文件
image

与当前系统上其他用户对话

通过write命令将 信息传递给 接受者

write 使用者账号 [用户所在终端接口] 

使用如下:
image

但是 mesg 这个命令对 root 传递的信息没有任何阻挡力

还可以使用mail 命令操作:
image

收信者,只要使用 mail命令就可以打开收件箱,查看 邮件信息了,在输入提示符那里,可以输入操作指令:
image

建立大量账号

先看pwck 命令:pwck 这个指令在检查 /etc/passwd 这个账号配置文件内的信息,与实际的家目录是否存在等信息,还可以比对 /etc/passwd /etc/shadow 的信息是否一致,另外,如果 /etc/passwd 内的数据字段错误时,会提示使用者修订
image

本部分没有整理,详见 《鸟哥的Linux私房菜》13.5.7

最后

一起提高,慢慢变强

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值