用户的权限

一,用户权限基础知识

1,用户的权限有:

  • r:读
  • w:写
  • x:执行

2,文件的权限:

  • r:可以执行catheadtail等命令读取文件中的内容
  • w:可以用vi/vim或者重定向等操作向文件中写入内容或着修改内容
  • x:可以执行文件

3,目录的权限:

  • r:可以执行ls命令,来查看目录下有哪些文件
  • w:可以在目录执行文件创建和删除等操作
  • x:可以执行cd命令

4,用户的角色:

  • 属主用户(u
  • 属组用户(g
  • 其他用户(o
  • 全部用户(a

5,文件的权限位:

-rw-r--r--
-              rw-                      r--                    r--
一般文件 属主:读写权限 属组:读权限 其他用户:读权限

6,权限位的解释 

1)第一位:表示文件的类型
  • -:一般文件
  • d:目录文件
  • l:链接文件
2)第二位 - 第四位:表示文件属主所有具有的权限
3)第五位 - 第七位:表示文件的属组所具有的权限
4)第八位 - 第十位:表示系统中其他的用户所具有的权限
注意:
每一类用户的权限顺序都是:读、写、执行
如果相对应的权限,就会出现字符,没有就会显示 -

二,用户的几个命令

1,chown命令

作用:修改文件的属主
格式: chown userName [-R] fileName
选项:
-R :在修改目录的时候,将目录的目录中的文件一并修改
例:修改 11.txt 文件的属主
chown tom 11.txt

2,chgrp命令

作用:修改文件的属组
格式: chgrp 用户名 [-R] 文件名
选项:
-R :在修改目录的时候,将目录的目录中的文件一并修改
例:将 1.txt 文件的属组改成 root
chgrp root 1.txt

3,chmod命令

作用:修改文件的权限
格式: chmod 赋权 文件名
方式:
  • +:增加权限(在原有的基础上修改)
例: chmod o+w 11.txt 给其他用户增加写的权限
  • -:去除权限(在原有的基础上修改)
例: chmod g-r 11.txt
  • =:将权限修改位指定的权限(和原权限无关)
例: chmod u=rwx,g=rw,o=r 11.txt
例:将 11.txt 文件全部用户的权限去掉
chmod a=--- 11.txt

4,数字表示权限:

  • 0 无权限
  • 1 执行
  • 2
  • 4
例:把 11.txt 文件的属主的全改为可读可写可执行
chmod 700 11.txt
  • 如果是一个数字修改的是其他用户
  • 如果是俩个数字修改的是其他用户和属组
  • 三个就属主、属组、其他用户
/etc/skel <<< 用户家目录模板
  • 新用户的家目录怎么生成的
       将 /etc/skel 目录复制到 home' 下,改名位和用户名相同
       将这个目录的属主、属组改为该用户
        将目录的权限改位 700
  • 假设用户tom
    cp -r /etc/skel /home/tom
    chown -R tom.tom /home/tom
    chmod -R 700 /home/tom

    /etc/login.defs <<<控制新建用户的默认属性

#QMAIL_DIR /var/spool/mail
指定新用户的邮箱位置
PASS_MAX_DAYS 99999
新用户密码最长有效期
PASS_MIN_DAYS 0
新用户修改密码最短时间
PASS_MIN_LEN 5
用户密码最短长度
PASS_WARN_AGE 7
密码到期前警告时间长度
UID_MIN
新建普通用户的默认 uid 最小值
UID_MAX
新建普通用户的默认 uid 最大值
CREATE_HOME
默认创建家目录
USERGROUPS_ENAB
当前用户组中没有用户,是否删除用户组
ENCRYPT_METHOD SHA512
指定加密算法
新建用户:
1. useradd
2. passwd
完成的操作:
1. /etc/passwd 添加一行
2. /etc/shadow 添加一行
3. /etc/group 添加一行
4. 创建用户家目录
5. 创建用户邮件文件
例:创建用户 jerry
要求:
uid 777
主组 hadoop 800
附加组 python 850 hbase 860
家目录 /home/jerry
描述 l am jerry
密码 123456 ,最少使用 3 天才能再次修改,最长使用 30 天,到期前 5 天发送报警
实现步骤
1. 创建用户基本信息( /etc/passwd
vi /etc/passwd
jerry:x:777:800:i am jerry:/home/jerry:/bin/bash

2.检查用户

id jerry

3.使用openssl来生成密码

格式: openssl passwd -1 -salt "string"
说明:
-1 :表示 md5 加密算法
-salt :表示加密的时候插入杂质(提高安全性)
openssl passwd -1 -salt "123456"
$1$123456$wOSEtcyiP2N/IfIl15W6Z0
4. 修改密码文件
echo `zhangsan:$1$123456$wOSEtcyiP2N/IfIl15W6Z0:19864:3:30:5:::` >> /etc/passwd
5. 创建用户组
vim  /etc/group
oop:x:800
python:x:850:jerry
hbase:x:860:jerry
6. 创建用户家目录
cp -r /etc/skel /home/jerry
cd /home
chown -R jerry.hadoop /home/jerry/
7.创建用户邮件
cd /var/spool/mail/
touch jerry
chmod 660 jerry
chown jerry.mail jerry
8. 测试用户是否可以正常使用

三,用户授权

如果普用用户需要执行特殊操作,有两种方法:
  • su - root 切换到root账户进行特殊操作,然后再回返到普通用户
  • sudo 命令

1,su命令:

  1. 优点:使用简单
  2. 缺点:
  • root密码容易泄露
  • 普通用户执行操作不可控

2,sudo命令:

作用:给普通用户授权,让普通用户执行特定的操作
  1. 缺点:需要进行权限配置
  • 优点:
  • 不要切换到root用户(不用知道root密码)
  • 用户可执行预定的操作
  • 可以记录每个用户执行过的命令
sudo 使用:
  • 第一步:通过sudo配置文件为普通用户授权
  • 第二步:普通用户执行特殊操作
sudo 的配置文件:
  • /etc/sudoers
格式:
root ALL=(ALL) ALL
用户名 主机 =( 用户名 ) 全部命令
%aa 代表给 aa 组授权
ALL: 全部命令
/usr/bin/touch 授权单个命令
/usr/bin/touch,/usr/bin/ls 授权多个命令用 , 隔开
/usr/bin/* 授权 /usr/bin 下的全部命令
修改配置文件:
visudo
添加一行
zhangsan ALL=(root) /usr/bin/touch,/usr/bin/ls
用普通用户执行命令:
用管理员身份执行需用: sudo 命令 来执行
sudo touch /a
前面有 % 代表是给用户组授权

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JeecgBoot/SpringBoot升级Nacos(2.0.4到2.2.3)启动报错

错误如下&#xff1a; 报这种错误基本就很头大了&#xff0c;是框架不兼容的问题&#xff0c;自己找很难找到解决方法。 解决方案是把SpringBoot框架版本调高。 修改前&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId&g…

Dell戴尔XPS 16 9640 Intel酷睿Ultra9处理器笔记本电脑原装出厂Windows11系统包,恢复原厂开箱状态oem预装系统

下载链接&#xff1a;https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取码&#xff1a;5gk6 戴尔原装系统自带网卡、显卡、声卡、蓝牙等所有硬件驱动、出厂主题壁纸、系统属性专属联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell、迈克菲等预装软…

Linux基础 (十四):socket网络编程

我们用户是处在应用层的&#xff0c;根据不同的场景和业务需求&#xff0c;传输层就要为我们应用层提供不同的传输协议&#xff0c;常见的就是TCP协议和UDP协议&#xff0c;二者各自有不同的特点&#xff0c;网络中的数据的传输其实就是两个进程间的通信&#xff0c;两个进程在…

32C3-2模组与乐鑫ESP32­-C3­-WROOM­-02模组原理图、升级口说明

模组原理图&#xff1a; 底板原理图&#xff1a; u1 是AT通信口&#xff0c;wiif-tx wifi-rx 是升级口&#xff0c;chip-pu是reset复位口&#xff0c;GPIO9拉低复位进入下载模式 ESP32-WROOM-32 系列硬件连接管脚分配 功能 ESP32 开发板/模组管脚 其它设备管脚 下载固件…

【Python报错】AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘

成功解决“AttributeError: ‘NoneType’ object has no attribute ‘xxx’”错误的全面指南 一、引言 在Python编程中&#xff0c;AttributeError是一种常见的异常类型&#xff0c;它通常表示尝试访问对象没有的属性或方法。而当我们看到错误消息“AttributeError: ‘NoneTyp…

激发AI创新潜能,OPENAIGC开发者大赛赛题解析

人工智能&#xff08;AI&#xff09;的飞速发展&#xff0c;特别是AIGC、大模型、数字人技术的成熟&#xff0c;不仅改变了数据处理和信息消费的方式&#xff0c;也为企业和个人提供了前所未有的机遇。在这种技术进步的背景下&#xff0c;由联想拯救者、AIGC开放社区、英特尔共…

PostgreSQL的视图pg_stat_database

PostgreSQL的视图pg_stat_database pg_stat_database 是 PostgreSQL 中的一个系统视图&#xff0c;用于提供与数据库相关的统计信息。这个视图包含了多个有用的指标&#xff0c;可以帮助数据库管理员了解数据库的使用情况和性能。 以下是 pg_stat_database 视图的主要列和其含…

三生随记——理发店诡事

在城市的边缘&#xff0c;隐藏着一家不起眼的理发店。它没有华丽的装饰&#xff0c;也没有喧嚣的广告&#xff0c;只是静静地矗立在一条狭窄的小巷尽头。据说&#xff0c;这家店只在深夜营业&#xff0c;而且只接待那些真心寻求改变的人。 有一天&#xff0c;一个名叫林逸的年轻…

基于SSM+Jsp的高校二手交易平台

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

【远程连接服务器】—— Workbench和Xshell远程连接阿里云服务器失败和运行Xshell报错找不到 MSVCP110.d的问题分析及解决

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、远程连接不上服务器1. Workbench远程连接失败2.Xshell也连接不上3.解决方法(1)问题描述&#xff1a;(2)解决&#xff1a; 4.再次连接服务器 二、运行Xshell…

Android 上层的View透传/不透传 点击事件 到下层

今天有个需求就是在本不该有laoding的地方加个 laoding&#xff0c;源码中有腾讯的QMUI&#xff0c;所以选用了&#xff0c;QMUILoadingView。 但是有个问题&#xff0c;就是即使这个View盖在最上层&#xff0c;显示出来的时候&#xff0c;依然可以点击下边的控件。 处理&#…

【前端面试3+1】18 vue2和vue3父传子通信的差别、props传递的数据在子组件是否可以修改、如何往window上添加自定义属性、【多数元素】

一、vue2和vue3父传子通信的差别 1、Vue2 父组件向子组件传递数据通常通过props属性来实现。父组件可以在子组件的标签中使用v-bind指令将数据传递给子组件的props属性。在子组件中&#xff0c;可以通过props属性来接收这些数据。这种方式是一种单向数据流的方式&#xff0c;父…

常用位算法

1&#xff0c;位翻转 n^1 &#xff0c;n 是0 或 1&#xff0c;和 1 异或后位翻转了。 2&#xff0c; 判断奇偶&#xff0c;n&1&#xff0c;即判断最后一位是0还是1&#xff0c;如果结果为0&#xff0c;就是偶数&#xff0c;是1 就是奇数。 获取 32 位二进制的 1 的个数&a…

python-opencv图像分割

文章目录 二值化图像骨骼连通域分割 二值化 所谓图像分割&#xff0c;就是将图像的目标和背景分离开来&#xff0c;更直观一点&#xff0c;就是把目标涂成白色&#xff0c;背景涂成黑色&#xff0c;言尽于此&#xff0c;是不是恍然大悟&#xff1a;这不就是二值化么&#xff1…

香橙派 AIpro 的系统评测

0. 前言 你好&#xff0c;我是悦创。 今天受邀测评 Orange Pi AIpro开发板&#xff0c;我将准备用这个测试简单的代码来看看这块开发版的性能体验。 分别从&#xff1a;Sysbench、Stress-ng、PyPerformance、RPi.GPIO Benchmark、Geekbench 等方面来测试和分析结果。 下面就…

DevExpress Installed

一、What’s Installed 统一安装程序将DevExpress控件和库注册到Visual Studio中&#xff0c;并安装DevExpress实用工具、演示应用程序和IDE插件。 Visual Studio工具箱中的DevExpress控件 Visual Studio中的DevExpress菜单 Demo Applications 演示应用程序 Launch the Demo…

Python如何查询数据库:深入探索与实践

Python如何查询数据库&#xff1a;深入探索与实践 在数据驱动的世界中&#xff0c;Python作为一种强大且灵活的语言&#xff0c;自然成为了数据库查询的得力助手。本文将通过四个方面、五个方面、六个方面和七个方面&#xff0c;详细探讨Python如何查询数据库&#xff0c;并力…

elementary OS 8的新消息

原文&#xff1a;Happy Pride! Have Some Updates! ⋅ elementary Blog 这个月&#xff0c;我们为OS 7带来了一些意外惊喜&#xff0c;包括GNOME应用的新版本和邮件应用的重大更新。Wayland也来了&#xff0c;我们有了一种新的方式来管理驱动程序&#xff0c;并且我们现在默认…

PS去水印

去除图片水印 step1&#xff1a;使用套索工具框选图片水印 step2&#xff1a;CTRLshiftU 去色 step3&#xff1a;CTRLL 色阶 step4&#xff1a;使用第三根吸管去点击需要去掉的图片水印 成功去掉 去掉文字水印 也可按照上述方法去除

计算机网络 期末复习(谢希仁版本)第1章

大众熟知的三大网络&#xff1a;电信网络、有线电视网络、计算机网络。发展最快起到核心的是计算机网络。Internet是全球最大、最重要的计算机网络。互联网&#xff1a;流行最广、事实上的标准译名。互连网&#xff1a;把许多网络通过一些路由器连接在一起。与网络相连的计算机…