首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
函数参数与返回值
传递变长参数
defer 和追踪
内置函数
递归函数
将函数作为参数
闭包
应用闭包:将函数作为返回值
使用闭包调试
计算函数执行时间
通过内存缓存来提升性能
声明和初始化
切片
For-range 结构
切片重组(reslice)
切片的复制与追加
字符串、数组和切片的应用
声明、初始化和 make
测试键值对是否存在及删除元素
for-range 的配套用法
map 类型的切片
map 的排序
将 map 的键值对调
标准库概述
regexp 包
锁和 sync 包
精密计算和 big 包
自定义包和可见性
为自定义包使用 godoc
使用 go install 安装自定义包
自定义包的目录结构、go install 和 go test
通过 Git 打包和安装
Go 的外部包和项目
在 Go 程序中使用外部库
结构体定义
使用工厂方法创建结构体实例
使用自定义包中的结构体
带标签的结构体
匿名字段和内嵌结构体
方法
类型的 String() 方法和格式化描述符
垃圾回收和 SetFinalizer
当前位置:
首页>>
技术小册>>
go编程权威指南(二)
小册名称:go编程权威指南(二)
前面小节介绍了 Linux 用户相关的增删改查,本小节介绍 Linux 用户组,Linux 系统中采取了一种安全机制(即用户组),用户组可以允许多个 Linux 用户共享同一种权限。 1\. 用户组介绍 --------- **Linux 是多任务多用户的操作系统**,可以理解为在 Linux 系统中**支持多个用户在同一时间内在不同的终端登陆,并且不同用户可以调用不同的任务,它们之间互不影响**。 不同的 Linux 用户权限不同,毎个用户可以执行指定权限范围内的任务,Linux 系统通过这种权限的管理划分,实现了多用户多任务的运行机制。因此,如果要使用 Linux 系统的资源,就需要向系统管理员申请一个用户。 **通过建立不同权限的用户,可以合理地利用和控制系统资源**,还能帮助用户组织文件,提供对用户文件的安全性保护。**用户组是具有相同特征用户的逻辑集合**,简单的理解,有时我们需要让多个用户具有相同的权限,例如新建、删除、修改、查看文件的权限,可以分别对多个用户进行文件访问授权,但如果用户多了,挨个的给用户授权这种方式就不太合理。 最好的方式是建立一个组,让这个组具有新建、删除、修改、查看文件的权限,然后将所有需要访问此文件的用户放入这个组中,**每个组都会有唯一的 GID**,**这样所有组中用户就具有了和组一样的权限**。 2\. 查看 Linux 用户组 ---------------- Linux 系统中 `/etc/group` 文件保存的就是系统中所有的用户组的主要信息,和用户文件 `/etc/passwd` 类似,这些信息以 `:` 分隔,可以使用 `cat` 命令查看其中的信息,命令如下: cat /etc/group > **Tips**:如上所示,每行代表一个用户组。 `/etc/group` 文件中每行用户包含的信息如下: * 组名; * 组密码(以 `x` 表示); * 组 ID(GID); * 属于该组的用户列表。 > **Tips**:组密码允许非组内的成员通过它临时使用该组的权限。 3\. 查看 Linux 用户组信息 ------------------ Linux 中 `/etc/gshadow` 文件上保存了每个用户组的信息,该文件和 `/etc/shadow` 类似,只有 `root` 用户才能访问,这个文件中包含每个用户组的一条记录信息,使用 `cat` 命令查看: cat /etc/gshadow 这些信息以 `:` 分隔,`/etc/gshadow` 文件中每行用户包含的信息如下: * 组名; * 加密密码; * 组管理员; * 组附加用户列表。 4\. 查看用户的 ID 信息 --------------- 若想要查看某一个 Linux 用户的 `组ID(GID)` 和 `用户ID(UID)` ,可以使用 `id` 命令,命令如下: id root id user_name01 id user_name02 > **Tips**:最后的字段 `组=gid` 表示的是用户所在组,这里既可以看到初始组,如果有附加组,则也能看到附加组。 5\. 小结 ------ 本小节介绍了用户组的作用,用户组在系统中可以方便管理不同权限组的用户,**需要注意的是同一个用户可以加入到不同的组中,拥有不同的组分配的权限,非组内用户可以通过组密码临时使用组的权限**。还介绍了用户组相关的两个文件 `/etc/group` 和 `/etc/gshadow`,最后介绍了如何使用 `id` 命令查看用户的 `UID` 和 `GID` 信息。
上一篇:
Linux修改用户
下一篇:
添加用户组
该分类下的相关小册推荐:
Go 组件设计与实现
Go开发基础入门
go编程权威指南(三)
企业级Go应用开发从零开始
深入浅出Go语言核心编程(五)
深入解析go语言
深入浅出Go语言核心编程(八)
深入浅出Go语言核心编程(四)
深入浅出Go语言核心编程(一)
GO面试指南
Go Web编程(下)
Go Web编程(中)