系统运维之Linux 运维基础:用户管理
小职 2021-07-16 来源 : 阅读 789 评论 0

摘要:本篇主要介绍了系统运维之Linux 运维基础:用户管理,通过具体的内容展示,希望对Linux开发的学习有一定的帮助。

本篇主要介绍了系统运维之Linux 运维基础:用户管理,通过具体的内容展示,希望对Linux开发的学习有一定的帮助。

系统运维之Linux 运维基础:用户管理

用户类型

系统运维之Linux 运维基础:用户管理


用户管理基本操作

创建用户


# 创建普通用户danni

useradd danni

# 创建用户,指定用户id,所属组,附属组,用户注释

useradd danni -u 2000 -g danni -G dannis -c "An IT girl"

# 创建虚拟用户 mysql

useradd mysql -M -s /sbin/nologin -c "database manager"


useradd参数说明:

系统运维之Linux 运维基础:用户管理


查看用户信息


用户的信息保存在 /etc/passwd 目录下


# 查看用户信息

[root@smartgirl ~]# grep mysql /etc/passwd

mysql:x:1002:1002:database manager:/home/mysql:/sbin/nologin

1    2  3    4    5               6            7

------------------------------------------------------------------------

各字段含义:

1.用户名

2.用户密码,正真的密码保存在/etc/shadow中,此处仅占位

3.用户id

4.所属组id

5.用户注释

6.用户家目录 --- 虚拟用户的家目录实际并不存在

7.用户登录方式  /sbin/nologin ---- 不能登录


修改用户信息


usermod $用户名 $参数 $信息


# 修改用户登录方式 --- 当有员工离职,账号可以设置为不可登录(保留账号)

usermod danni -s /sbin/nologin


删除用户


userdel $用户名 — 不会删除用户的家目录

userdel -r $用户名 — 彻底删除用户,会删除用户家目录


补充:

groupadd $用户组名 — 创建用户组

groupdel $用户组名 — 删除用户组


设置用户密码


交互式设置


passwd $用户名


非交互式设置


echo 密码信息|passwd --stdin $用户名


查看所有用户登录信息


# 根据用户信息空闲时间,当前操作等,可以判断用户的使用系统情况

# 如判断用户是否占用CPU资源过多,是否长时间运行脚本

# 从而判断是否执行了死循环脚本,或者系统被植入病毒

[root@smartgirl ~]# w

05:47:31 up 10:19,  2 users,  load average: 0.00, 0.01, 0.05

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/2    10.0.0.1         01:45    3.00s  0.24s  0.00s w

root     pts/3    10.0.0.1         01:45    2:55m  0.03s  0.02s bash

1 2   3     4 5     6 7

----------------------------------------------------------------------

各字段含义:

1. 登录用户用户名

2. pts/x 远程登录系统

   tty1 本地登录

   echo '请勿继续操作!' >> /dev/pts/2   --- 将在用户终端输出该信息,可用于提醒用户

3. 从哪连接的服务器

4. 登录时间

5. 空闲时间 --- 无操作

6. 用户操作系统 消耗的CPU资源

7. 用户当前操作 ich(执行脚本)  bash命令行输入 


文件/目录权限

文件/目录权限的设置是用户管理中非常重要的内容,因为Linux中一切皆文件,掌握了文件的控制权,就掌握了系统的控制权,文件权限的管理对服务器的安全至关重要。


文件权限说明

r 可读

w 可执行

x 执行这个文件(脚本文件)

权限配置结论:


root用户对任何文件都默认有读写权限,即使没有执行权限也可以用sh命令执行文件

对于文件来说,写权限和执行权限都需要有读权限支持

普通如果想对文件进行操作,必须对文件赋予读的权限

目录权限说明

r 可读目录中文件的属性

w 可在目录中添加或删除文件数据信息

x 可进入到目录中

目录权限配置结论:


root用户对目录有绝对权限

对于目录来说,写权限和读权限都需要有执行权限的配合

如果想对目录进行操作,必须对目录赋予执行操作

root用户文件默认权限:644


保证属主可编辑文件,其他用户可读文件


root用户目录默认权限:755


保证属主可编辑目录中文件,其他用户可读取目录信息,并进入到目录


ps:文件是否可以编辑查看,不仅与文件自身的权限有关,还与上一级或上n级目录的权限有关


设置用户文件权限

修改单类型用户权限


属主 — user — u

属组 — group — g

其他用户 — other — o


chmod u+r/w/x — 添加权限

chmod u-r/w/x — 减少权限

chmod u=rw — 直接赋值


修改所有类型用户权限


数值设定:chmod 755 $文件名

符号设定:chmod a=x $文件名


修改文件属主/属组


# 修改属主

chown $属主 $文件

# 修改属组

chgrp $属组 $文件

# 修改属主和属组

chown $属主.$属组 $文件

chown $属主. $文件

# 修改目录的权限

chown  -R $属主.$属组 $目录 --- 递归修改(注意参数是大写R)


默认用户文件/目录权限

系统中有一个umask,是文件/目录权限掩码,不同用户的umask值是不一样的,不同用户的umask的值可以是不一样的,umask决定了用户创建的文件/目录的默认权限。


这里只用root用户权限来作说明。


默认umask : 0022

默认文件权限: 666 - 022 = 644

默认目录权限:777 - 022 = 755

文件权限计算:


对于目录,只需要用 777 减去 umask的值即可

但是,对于文件,其情况就比较特殊

若 umask 某一位是奇数,则该位对应的计算结果要+1

若都是偶数,则不需要特殊处理,也就是说:

假如umask是033,那么文件权限是 666 - 033 => 633 + 011 => 644


修改umask


临时修改


umask $数字


永久修改


vi /etc/profile


文件特殊权限位

文件在系统中一共有12个权限位,除了属主,属组和其他用户rwx一共9个权限位外,还有另外三个,分别时:


setuid:将用户属主所拥有的能力分配给所有人chmod u+s $文件名 或 chmod 4xxx $文件名

setgid:将用户属组所拥有的能力分配给所有人 chmod g+s $文件名 或 chmod 2xxx $文件名

sticky bit(粘滞位):可以将不同用户信息放置到共享目录中,实现不同用户数据可以互相查看,但是不可以互相随意修改,可以用于创建一个共享目录 chmod o+t $目录 或 chmod 1777 $目录

系统有一个默认的共享目录 /tmp

普通用户提权

修改文件/目录 rwx 权限位

修改/etc/sudoers文件内容,使用sudo命令执行被赋予的权限

# 示例

# `visudo` 或 `vi /etc/sudoers` 可对文件进行编辑,推荐使用`visudo`,其有语法检查功能

92 root ALL=(ALL) ALL

93 danni ALL=(ALL) /usr/sbin/useradd

------------------------------------

[danni@smartgirl ~]sudo useradd danni01   # 获得添加用户的权限


设置setuid/setgid,赋予普通用户属主/属组的权限

注意:

setuid 权限一般赋予二进制文件的命令文件或者一些可执行的脚本文件

setgid

特殊目录和文件

系统中一个特殊的目录 : /etc/skel/


该目录是用户家目录的样板目录,新创建用户的家目录会参考这个目录


目录中自带的文件有:

系统运维之Linux 运维基础:用户管理


/etc/skel 目录的应用:


目录中可以存储运维操作规范说明文件

调整命令提示符信息

用户家目录中文件被恶意删除,出现问题:命令提示符变为bash-4.2$

可将/etc/skel目录中的文件复制到用户家目录下,提示符即恢复正常

用户家目录下的特殊文件


.bash_history — 历史命令记录文件

.viminfo — 样式信息(可设置默认显示行号,文件头信息)

系统中和用户相关的文件

/etc/passwd — 记录系统用户信息文件

/etc/shadow — 系统用户密码文件

/etc/group — 组用户记录文件

/etc/gshadow —组用户密码信息

/etc/shells — 所有可选登录方式


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

系统运维之Linux 运维基础:用户管理

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程