IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux学习之文件权限 -> 正文阅读

[系统运维]Linux学习之文件权限

用户ID(User ID,通常缩写为UID)。

root用户账户是Linux系统的管理员,固定分配给它的UID是0。Linux系统会为各种各样的功能创建不同的用户账户,这些账户叫做系统账户,是系统上运行的各种服务进程访问资源用的特殊账户。所有运行在后台的服务都需要用一个系统用户账户登录到Linux系统上。现在运行在Linux服务器后台的几乎所有的服务都是用自己的账户登录。Linux为系统账户预留了500以下的UID值。

/etc/passwd文件的字段包含了如下信息:

用户登录名:用户密码(被设置成了x):用户账户的UID(数字形式):用户账户的组ID(数字形式):用户账户的文本描述(成为备注字段):用户HOME目录的位置:用户默认的shell。

现在,绝大多数Linux系统豆浆用户密码保存在另一个单独的文件中(叫做shadow文件,位置在/etc/shadow),只有特定的程序才能访问这个文件。

?添加新用户

用来向Linux系统添加新用户的主要工具是useradd,这个命令可以一次性创建新用户及设置用户HOME目录结构。系统默认值被设置在/etc/default/useradd文件中,可以用一下命令查看: /usr/sbin/useradd -D

删除用户 userdel命令

默认情况下,userdel命令只会删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。如果加上-r参数,则会删除用户的HOME目录以及邮件目录,然而系统上仍可能存有已删除用户的其他文件。

修改用户

Linux 提供了一些不同的工具来修改已有用户账户的信息。

?Linux组

组权限允许多个用户对系统中的对象(比如文件,目录或设备等)共享一组共用的权限。每个组都有唯一的GID,还有唯一的组名。/etc/group文件包含系统上用到的每个组的信息。GID在分配时也采用了特定的格式。系统账户用的组通常会分配低于500的GID值,而用户组的GID则会从500开始分配。

/etc/group文件有4个字段:

组名;

组密码;

GID;

属于该组的用户列表,如下所示:

在上述列表中,有些组并没有列出用户,这并不是说这些组没有成员,当一个用户在/etc/passwd文件中指定某个组作为默认组时,用户账户不会作为该组成员再出现在/etc/group文件中。

?不能通过直接修改/etc/group文件来添加用户到一个组,要用usermod命令。在添加用户到不同的组之前,首先得创建组。

创建新组

groupadd命令可在系统上创建新组

/usr/sbin/groupadd shared

创建新组时,默认没有用户被分配到该组。groupadd命令没有提供将用户添加到组中的选项,可以用usermod命令来弥补。

修改组

在/etc/group文件中可以看到,需要修改的组的信息并不多。groupmod命令可以修改已有组的GID(加-g选项)或组名(加-n选项)。修改组名时,GID和组成员不会变,只有组名改变。由于所有的安全权限都是基于GID的,可以随便改变组名而不会影响文件的安全性。

理解文件权限

?默认文件权限:umask命令

umask命令用来设置所创建文件和目录的默认权限。

?第一位是粘着位,代表一项特别的安全性。后面三维表示文件或目录对应的umask八进制值。

?umask值只是个掩码,它会屏蔽掉不想授予该安全级别的权限,要把umask值从对象的全权限值中减掉。对文件来说,全权限值是666(所有用户都有读写权限),而对目录来说,则是777(所有用户都有读,写,执行权限)。

大多数Linux发行版umask通常会设置在/etc/profile启动文件中,有一些是设置在/etc/login.defs文件中。可以用umask命令为默认umask设置指定一个新值。

改变安全性设置

1 改变权限

chmod命令用来改变文件和目录的安全性设置,命令格式: chmod options mode file

mod参数可使用八进制模式或符号模式进行安全性设置,直接用期望赋予文件的标准3位八进制权限码即可。

符号模式的权限,格式:[ugoa...][[+-=][rwxXstugo...]

第一组字符[ugoa...]定义了权限作用的对象,[+-=]表示你是想在现有权限基础上增加权限,还是移除权限或是设置成后面的值。[rwxXstugo...]代表作用到设置上的权限。如 chmod u-x newfile

?改变所属关系

chown命令:改变文件的属主 chown options owner[.grop] file? ?如:

????????chown dan newfile? ? ? ? ? ? ? ? ? ? ? ? 改变属主

????????chown dan.shared newfile? ? ? ? ? ? ?同时改变属主和属组

????????chown .shared newfile? ? ? ? ? ? ? ? ? ?改变属组

只有root用户能够改变文件的属主,任何属主都可以改变文件的属组,但前提是属主必须是原属组和目标属组的成员。

chgrp命令:改变文件的默认属组

????????chgrp shared newfile? ? ? ? ? ?用户账户必须是这个文件的属主,除了能够更换属组之外,还得是新组的成员。

共享文件

Linux系统上共享文件的方法是创建组。要想让其他人也能访问文件,要么改变其他用户所在安全组的访问权限,要么就给文件分配一个包含其他用户的新默认属组。

Linux为每个文件和目录存储了3个额外的信息位:

设置用户ID(SUID):当文件被用户使用时。程序会以文件属主的权限运行。

设置组ID(SGID):对文件来说,程序会以文件属组的权限运行,对目录来说,目录总创建的新文件会以目录的默认属组作为默认属组。

粘着位:进程结束后文件还驻留在内存中。

?SGID可通过chmod命令设置,它会加到标准3位八进制之前,或者在符号模式下用符号s。

?

?要创建一个共享目录,使目录里的新文件都能沿用目录的属组,只需将该目录的SGID位置位。所有组成员需要把他们的umask值设置成文件对属组成员可写。组成员就能到共享目录下创建新文件了,新文件会沿用目录的属组,而不是用户的默认属组。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-22 13:52:26  更:2021-08-22 13:53:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:23:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码