Linux基础(用户身份和文件权限)

用户身份与能力

Linux是一个多用户、多任务的操作系统,具有很好的稳定性与安全性,在幕后保障Linux系统安全则是一系列复杂的配置工作。

Linux系统的管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身份号码即UID(User IDentification)的数值为0。在Linux系统中,UID相当于我们的身份证号码一样具有唯一性,因此可以通过用户的UID值来判断用户身份。

管理员UID为0:系统的管理员

系统用户UID为1~999:Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。

普通用户UID从1000开始:是由管理员创建的用于日常工作的用户

需要注意的是UID是不能冲突的,而且管理员创建的普通用户的UID默认是从1000开始的(即使前面有闲置的号码)。

为了方便管理同一组用户,Linux系统中还引入用户组的概念。通过使用用户组号码(GID),我们库把多个用户加入到一个组中,从而方便为组中的用户统一规划权限或指定任务。

另外,在Linux系统中创建每个用户时,将自动创一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳其他用户组,则这个其他用户组被称为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。

useradd命令

useradd命令用于创建新的用户,格式为“useradd【选项】用户名”

可以使用useradd创建用户账户,使用该命令创建用户账户时,默认的用户家目录会被保存在/home目录中

默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组,这些默认设置可以根据表中的useradd命令参数自行修改

参数 
-d指定用户的家目录(默认/home/username)
-e账户到期时间,格式为YYYY-MM-DD
-u

指定该用户的默认UID

-g指定一个初始的用户基本组
-G指定一个或多个扩展用户组
-N不创建与用户同名的基本用户组
-s指定该用户的默认Shell解释器

下面我们创建一个普通用户并指定家目录的路径、用户的UID以及Shell解释器,在下面命令中,请注意/sbin/nologin,他是终端解释器的一员,与Bash解释器有天壤之别。一旦用户的解释器被设置成nologin,则代表该用户不能登陆到系统中:

groupadd命令

groupadd命令用于创建用户组,格式为:“groupadd【选项】群组名”

为了能够更加高效地指派系统中的各个用户的权限,在工作中常常会把几个用户加入到同一个组中,这样便可以针对一类用户统一安排权限。创建用户组的步骤非常简单,例如使用下面命令创建一个用户组SanKoucun

 usermod命令

usermod命令用于修改用户的属性,格式为“usermod 【选项】用户名”

参数作用
-c填写用户账户的备注信息
-d -m参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e账户的到期时间,格式为:YYYY-MM-DD
-g变更所属用户组
-G变更扩展用户组
-L锁定用户禁止其登陆系统
-U解锁用户,运行其登陆系统
-s变更默认终端
-u修改用户的UID

 

我们先查看ShangQiang的默认信息,然后将他加入到root用户组中去,再次查看ShangQiang的信息,这样扩展组列表中则会出现root用户组的字样,而基本组不会收到影响

再来试试用-u参数修改ShangQiang的用户UID号码。除此之外,我们还可以用-g参数修改用户的基本组ID,用-G参数修改用户扩展组ID

 passwd命令

passwd命令用于修改密码,过期时间,认证信息等,格式为:“passwd【选项】【用户名】”

普通用户只能修改自己的密码,root管理员则有权限修改其他所有人的密码。更强的是,root修改其他人的密码不需要验证旧密码。

参数作用
-l锁定用户,禁止其登陆
-u解锁锁定,允许用户登陆
--stdin允许通过标准输入修改用户密码,如 echo '123456' | passwd --stdin Username
-d使该用户可用空密码登陆系统
-e强制用户在下次登陆时修改密码
-S显示用户的密码是否被锁定,以及密码所采用的加密算法全称

接下来,我们尝试修改root和普通用户的密码

 userdel命令

userdel命令用于删除用户,格式为“userdel 【选项】用户名”

参数作用
-f强制删除用户
-r同时删除用户及其用户目录

尝试一下

文件权限与归属

尽管在Linux系统中一切都是文件,但每个文件的类型不尽相同,因此Linux系统使用了不同的字符加以区分,常见的字符如下所示:

在Linux系统中,每个文件都有所属的所有者和所有组,并且规定了文件的所有者,所有组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。对与一般文件来说,权限比较容易理解:

“可读”表示能够读取文件的实际内容

“可写”表示能够编辑,新增,修改,删除文件的实际内容

“可执行”表示能够运行一个脚本程序

但是,对应目录文件来说,理解其权限设置来就不那么容易。

对于目录文件来说:

”可读“表示能够读取目录内的文件列表

”可写“表示能够在目录内新增,删除,重命名文件

”可执行“表示能够进入该目录

文件的读、写、执行权限可以简写成  rwx,也可以分别用数字表示 4,2,1.文件所有者,所属组及其他用户权限之间无关联

 

文件权限的数字法表示基于字符表示(rwx)的权限计算而来,其目的是简化权限表示。

例如,某个文件的权限为7则代表可读,可写,可执行(4+2+1)

若权限为6则代表可读、可写,不可执行(4+2)

 文件的特殊权限

在复杂多变的生产环境中,单纯设置文件的rwx权限无法满足我们对安全和灵活性的需求,因此便有了SUID,SGID,SBIT的特殊权限位。这是一种对文件权限进行设置的特殊功能,可以与一般权限同时使用,以弥补一般权限不能实现的功能。

SUID

SUID是一种对二进制程序进行设置的特殊权限。可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。

例如:

所有用户都可以执行passwd命令来修改自己的用户密码,而用户密码保存在/etc/shadow文件中。仔细查看这个文件就会发现它默认权限是000,也就是说除了root管理员外,所有用户都没有查看或编辑这个文件的权限。但是,在使用passwd命令时如果加上SUID特殊权限位,就可让普通用户临时获得程序所有者的身份,把变更的密码信息写入到shadow文件中。

我们先简单介绍一个特殊权限,内容太多不好消化,下篇继续。

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

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

相关文章

TensorFlow实验(1)

实验1-2 搭建深度学习开发环境 1)安装Anaconda 2)创建虚拟环境: 3)激活环境 4)安装tensorflow 5)安装jupyter notebook 安装完成之后,运行第一个程序“Hello,World” 要求:详细安装步骤&…

TensorFlow实验(2)

实验3-4 数据结构-张量 1)已知两个张量[1,3,5,7]和[2,4,4,8],编写一个模型,计算两个张量的加法,输出结果,并在tensorboard中显示 2)已知张量[1,2,3,4,5,6,7,8,9,10,11,12]有12个元素,利用tf.reshape()将其…

Linux基础(文件权限续篇)

文件的特殊权限 在复杂多变的生产环境中,单纯设置文件的rwx权限无法满足我们对安全和灵活性的需求,因此便有了SUID,SGID,SBIT的特殊权限位。这是一种对文件权限进行设置的特殊功能,可以与一般权限同时使用,以弥补一般权限不能实现…

Linux基础(存储结构和磁盘划分)

一切从“/”开始 在Linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,一切皆为件 与windows操作系统不同,Linux系统内不存在C/D/E/F盘等,一切文件都是从根(/)目录开始的 Linux系统…

软件工程(需求分析)

需求分析 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深人理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望.给开发者带来烦恼。 需求分析是软…

TensorFlow构建二维数据拟合模型(1)

知识图谱 TensorFlow运行机制 TensorFlow是基于计算图的深度学习编程模型 Tensor表示张量,其实质上是某种类型的多维数组 Flow表示基于数据流图的计算,实质上是张量在不同节点间的转化过程。 在TensorFlow中,计算图中的节点称为OP&…

Qt图形界面编程入门(标签与槽机制习题分享)

标签对象初始显示0&#xff0c;每次单击标签对象后&#xff0c;其显示内容就加1&#xff0c;依次变为1、2、3等。 #ifndef DIALOG_H #define DIALOG_H#include <QDialog> #include <QPushButton> //包含命令按钮类 #include "MyLabel.h"class Dialo…

js中执行到一个if就停止的代码_Node 中如何引入一个模块及其细节

在 node 环境中&#xff0c;有两个内置的全局变量无需引入即可直接使用&#xff0c;并且无处不见&#xff0c;它们构成了 nodejs 的模块体系: module 与 require。以下是一个简单的示例const fs require(fs)const add (x, y) > x ymodule.exports add虽然它们在平常使用…

二级MS Office公共基础知识错题本(1)

1&#xff0c;顺序程序具有顺序性、封闭性和可再现性的特点&#xff0c;不具备并发性 2&#xff0c;为了降低算法的空间复杂度&#xff0c;主要应减少输入数据所占的存储空间以及额外空间&#xff0c;通常采用压编存储技术。 3&#xff0c;树的总的结点数为树中所有结点的度数…

c++ file* 句柄泄漏_C++核心指南:P.8 勿泄漏任务资源

P.8: 勿泄漏任务资源原因随着时间的推移&#xff0c;即使是资源的缓慢增长也会耗尽这些资源的可用性&#xff0c;这对于长时间运行的程序特别重要&#xff0c;但也是负责任的编程行为的基本部分。糟糕的例子void f(char* name){ FILE* input fopen(name, "r"); // .…

数据规范化、实体-联系图、状态转换图、层次方框图、Warnier图、IPO图及验证软件需求

数据规范化 软件系统经常使用各种长期保存的信息&#xff0c;这些信息通常以一定方式组织并存储在数据库或文件中&#xff0c;为减少数据冗余&#xff0c;避免出现插入异常或删除异常&#xff0c;简化修改数据的过程,通常需要把数据结构规范化。 通常用“范式(normal forms)”…

Linux基础(iptables与firewalld防火墙)

iptables 在早期的Linux系统中&#xff0c;默认使用的是iptables防火墙管理服务来配置防火墙。尽管新型的fierwalld防火墙管理服务已经被投入使用多年&#xff0c;但是大量的企业在生产环境中依然出于各种原因而继续使用iptables。 策略与规则链 防火墙会从上至下的顺序来读…

虚拟跳线软件干什么用的_疯狂刷单!用违法软件生成虚拟手机号,“骑手”半年“刷单”牟利60余万,百米内竟有万笔订单 | 申晨间...

来源&#xff1a;新闻晨报 记者&#xff1a;吴艺璇借助违法软件生成虚拟手机号码&#xff0c;利用平台审核漏洞大量注册用户&#xff0c;大量“刷单”骗取平台的返现和购物补贴&#xff0c;半年内疯狂刷1.8万余单&#xff0c;累计牟利60余万元。近日&#xff0c;在市公安局刑侦…

ygo游戏王卡组_ACG大科普(7)游戏王

大家是否在小时候接触过一种卡片类似这种的 这就是今天的主角游戏王。 背景 1996年&#xff0c;《游戏王》漫画开始在集英社《周刊少年Jump》连载。 1998年&#xff0c;Bandai推出以《游戏王》原作中登场的集换卡牌游戏“M&W”为题材的集换卡牌。 采用Bandai的卡片自动贩卖…

Qt图形界面编程入门(基本窗口及控件)

基本窗口类QWidget QWidget是所有窗体部件的基类&#xff0c;例如对话框类&#xff0c;主窗体类&#xff0c;以及其他诸如按钮&#xff0c;编辑框&#xff0c;标签等等都是由QWidget派生得到&#xff0c;QWidget拥有的方法往往都可以在其他子类中使用。 窗体的几何尺寸分为包…

背景se_盘点那些RPG手游中主角的背景故事,越悲情越强大

RPG游戏一直以代入感超强的游戏方式来吸引玩家&#xff0c;用超越现实的艺术手段把玩家带入到虚拟的游戏世界&#xff0c;让玩家担任不同的社会角色来去经历不同的虚拟故事&#xff0c;体验多种人生经历&#xff0c;想要扮演任何角色都是有可能的。当然在RPG游戏中也有好坏之分…

TensorFlow构建二维数据拟合模型(2)

变量的定义和使用 变量的定义与初始化 TensorFlow中&#xff0c;变量是一种特殊的张量&#xff0c;其值可以是一个任意类型的形状的张量。 与其他张量不同&#xff0c;变量存在于单个回话调用的上下文之外&#xff0c;主要作用是保存和更新模型中的参数。 声明变量通常使用…

c++用牛顿法开多次根_望远镜的历史之三:大神出世,改变望远镜历史的竟然是牛顿...

上次我们说到格里高利望远镜有点画蛇添足&#xff0c;那么格里高利望远镜添了什么呢&#xff1f;格里高利望远镜格里高利望远镜观测的图像都是正立的&#xff0c;这就意味着要采用多个凹面反射镜&#xff0c;而当时凹面反射镜磨制不易&#xff0c;无论是多大的科学家都要亲自动…

如何把照片正面变成反面_各国签证照片要求大全 (含模板)

对于不是很熟悉签证的小伙伴来说&#xff0c;面对全球那么多国家的签证而且每张签证照片的规格不同为此我们为您整理了各国签证照片要求大全 东南亚国家的签证照要求基本相同&#xff0c;就以泰国为例&#xff0c;告诉大家签证照的注意事项。“泰国&#xff0c;新加坡&#xff…

TensorFlow实验(3)

模型的保存与恢复 我们来简单实现一下模型的保存与恢复 训练完TensorFlow模型后&#xff0c;可将其保存为文件&#xff0c;以便于预测新数据时直接加载使用。 TensorFlow模型主要包含网络的设计或者图以及已经训练好的网络参数的值。 TensorFlow提供的tf.train.Saver()函数…