当前位置: 首页 > article >正文

Linux系统用户和权限

文章目录

  • Linux系统用户和权限
    • 1 用户管理
      • 1.1 用户分类
      • 1.2 切换用户
      • 1.3 用户相关文件
        • 1.3.1 /etc/passwd
        • 1.3.2 /etc/shadow
      • 1.4 用户的创建、删除、修改
        • 1.4.1 创建用户
        • 1.4.2 删除用户
        • 1.4.3 修改用户密码
        • 1.4.4 修改用户
      • 1.5 组的相关命令
      • 1.6 系统配置文件
      • 1.7 补充命令
    • 2 权限管理
      • 2.1 修改权限
      • 2.2 修改文件所属关系
      • 2.3 小实验

Linux系统用户和权限

1 用户管理

1.1 用户分类

uid:Linux系统根据uid号来确定账号的身份信息

超级管理员:拥有最高权限,超级管理员在系统中是唯一的

普通用户:是权限受限的用户,但是在自己的家目录中拥有完整的权限

程序用户:在Linux安装时,或者是安装第三方的软件时,需要运行的账户,但是这些账户不需要登录系统,仅作为程序启动时的依赖账户或者是维持某个程序正常运行的账户。

命令行:

格式:

root@test1:~#

含义:

root:表示当前的登录用户
test1:当前的主机名
~:当前所在的目录
#:表示当前用户时管理员
$:表示当前用户是一个普通用户

1.2 切换用户

从管理员切换到普通用户时不需要输入密码

su - 用户名		完全切换

su 用户名		不完全切换

su 刷新功能	# 仅限于root用户

hostnamectl set-hostname 主机名	永久修改主机名	# su刷新立即生效,无需重启

vim /etc/hostname	修改配置文件(只有第一行生效)	# 必须要重启

hostname 主机名	临时修改	# 重启失效

1.3 用户相关文件

1.3.1 /etc/passwd

/etc/passwd存放用户信息

格式:

root:x:0:0:root:/root:/bin/bash

含义:

root: 用户名,账号名称
x: 密码的占位符,无实义
0: uid号 0 就是管理员
0: gid号
root: 用户账号
/root: 该用户的家目录的位置
/bin/bash: 用户登录系统的shell 默认都是bash

程序用户的 uid:1-999
普通用户的 uid: 从1000 开始

1.3.2 /etc/shadow

/etc/shadow存放用户密码信息

格式:

root:$j9TIrCg4bG4xZ6UMRELr7hnJ11chsPjlHkaFRIs/ZZIYLX5DnydflaQswZYkHdcsYA615:20025:0:99999:7::

含义:

root: 用户名
$j9TIrCg4bG4xZ6UMRELr7hnJ11chsPjlHkaFRIs/ZZIYLX5DnydflaQswZYkHdcsYA615: md5 加密的密码信息字符串
20025:上次修改密码的时间,1970 年 11 号到修改密码过了多少天
0:密码的最短有效天数,0 表示不限制
99999:密码的最长有效期,99999 表示不限制
7:提前 7 天告知用户,密码即将过期

第二位如果为!或*:表示用户的密码为空,伪空(普通用户登录时依然需要输入密码)

1.4 用户的创建、删除、修改

1.4.1 创建用户

创建普通用户一定要创建密码

useradd [选项] 用户名		创建用户

	-m	创建用户时创建家目录(只针对Ubuntu)

	-s	指定用户登录的shell(只针对Ubuntu)

	-u	创建用户时指定uid

	-d	指定用户家目录的位置

	-M	不创建用户的家目录(创建程序用户时使用)
1.4.2 删除用户
userdel		删除用户

	-r	删除用户时一并删除家目录
1.4.3 修改用户密码
passwd 用户名		创建用户的密码

	-d	清空用户的密码(登录时才不需要密码,/etc/shadow第二位什么都不显示)

	-l	锁定用户

	-u	解锁用户

	-S	查看账号是否被锁定
	
命令行修改密码(用于脚本,减少交互)

	CentOS:

		echo 密码 | passwd --stdin 用户名

	Ubuntu:

		echo "用户名:密码" | chpasswd	#密码(有复杂性检测,长度最少8位,字母和数字,大写字符,特殊符号)
1.4.4 修改用户
usermod		修改账户信息

	-u	修改用户的 uid 号

	-d	修改用户的家目录位置

	-e	修改用户的账户有效时间

	-g	修改用户的所在组

	-G	修改用户的附加组

	-s	修改用户的登陆 shell

	-L	锁定用户

	-U	解锁用户

1.5 组的相关命令

/etc/group存放组信息



groupadd 组名		创建组



gpasswd		修改组成员

	-a	向组内添加用户

	-d	删除组内的成员

	-M	添加多个组内的成员,以","分开



groupdel 组名		删除组

1.6 系统配置文件

  1. 全局配置------对所有用户生效

    /etc/profile

    source /etc/profile	读取配置文件当中的可运行的代码,立即生效,新开终端即可
    
  2. 用户配置------只对当前用户生效

    用户家目录下的隐藏文件 .bashrc.profile ,只对某个用户有效

    .profile 优先级高于 .bashrc

1.7 补充命令

id 用户名		查询用户的身份标识

w		查询当前登录到主机的用户信息

who		w的缩减版

2 权限管理

2.1 修改权限

chmod 权限 文件/目录

	4:r

	2:w

	1:x

	u:所有者

	g:所属组

	o:其他人

	a:所有人

	+:增加权限

	-:去除权限

	=:设置权限

	-R	递归设置权限(对于目录)

umask:反掩码/权限码

文件的默认权限是666,目录的默认权限是777

umask设定了文件和目录创建时的默认权限

文件默认没有执行权限,只能手动添加

目录默认有执行权限

2.2 修改文件所属关系

chown


	同时修改文件/目录的所有者和所属组:

		chown nginx.nginx 文件名/目录名

		chown nginx:nginx 文件名/目录名



	只改所有者:

		chown nginx 文件名/目录名


	只改所属组:

		chown .nginx 文件名/目录名

		chown :nginx 文件名/目录名

		chown -R nginx.nginx 目录名	递归修改

2.3 小实验

第一步:编写脚本文件

在这里插入图片描述

第二步:给脚本文件添加执行权限

在这里插入图片描述

第三步:切换到某用户家目录,编辑用户配置文件,将脚本路径写在最后一行保存退出

在这里插入图片描述

第四步:切换用户

在这里插入图片描述


http://www.kler.cn/a/372033.html

相关文章:

  • LeetCode算法(链表)
  • XCH和XCHD(汇编语言)
  • 【Docker】构建Linux云桌面环境
  • GIT分布式版本控制系统基础操作
  • 【Linux系统编程】线程深入运用
  • 【git】 git 删除了文件,如何找回
  • 云舟观测:基于eBPF监控主机的TCP网络连接
  • AI与低代码的碰撞:企业数字化转型的新引擎
  • 54页可编辑PPT | 大型集团企业数据治理解决方案
  • 基于用户体验的在线相册管理平台创新设计与实现
  • OpenAI低调发布多智能体工具Swarm:让多个智能体协同工作!
  • 论文翻译 | PROMPTING GPT-3 TO BE RELIABLE
  • Java中的数组
  • PyTorch nn.Conv2d 空洞卷积
  • Git 企业级开发模型
  • 深入理解所有权与借用——所有权模型的实用示例
  • QT 机器视觉 (3. 虚拟相机SDK、测试工具)
  • 【C语言】在线编译器——lightly
  • 什么是AdaBoost
  • EHOME视频平台EasyCVR私有化部署视频平台视频监控系统画面花屏、马赛克、拖影问题快速解决方法
  • WebSocket与Socket
  • sudo apt install jupyter-notebook安装notebook失败E: Aborting install.
  • 计算机视觉-霍夫变换直线检测实验报告
  • JMeter安装
  • Linux云计算 |【第五阶段】CLOUD-DAY4
  • 基于阿里云服务的移动应用日志管理方案—日志的上传、下载、存档等