Linux 用户权限设置和企业级管理实战 | 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速学习Linux 用户权限设置和企业级管理实战

开发者学堂课程【Linux企业运维实战 - 入门及常用命令Linux 用户权限设置和企业级管理实战】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/550/detail/7610


Linux 用户权限设置和企业级管理实战


内容介绍:

一、group 文件格式

二、文件操作

三、用户和组管理命令

四、用户创建 : useradd

五、创建用户 : useradd

六、用户属性修改

七、练习


一、group 文件格式

◆群组名称:就是群组名称

◆群组密码:通常不需要设定,密码是被记录在 /etc/gshadow

◆GID :就是群组的 ID

◆以当前组为附加组的用户列表(分隔符为逗号)

现在有个组叫 mage 组,想给 mage 组加口令怎么加呢,使用 gpasswd mage 命令就可以给 mage 加口令。

现在将 wang 账号临时加入 mage 组里,在加组之前现创建一个文件叫 wangfile1,查看文件在 wang 账号里,所属组就为 wang,使用 newgrp mage 命令再输入口令,现在查看 id,主组就变为了 mage,wang 组变成了附加组。

如果现在 wang 账号已经在 mage 组里了,再创建 wangfile2,mage 就变成了附加组。如果希望新建的文件主组为 mage,就使用 newgrp mage 让 mage 成为主组。

 

二、文件操作

◆vipw 和 vigr

◆pwck 和 grpck

 

Vipw 类似于 nano,是一个文本编辑工具,但是用 nano 改文件,有可能一不小心改错了,但是 vipw 有一个好处是拥有查询改错功能,就是说如果保存时改错了会自动报警,避免错误操作。

Vigr 修改的是 group 文件,相对来讲比较安全。

Pwck 和 grpck 是用来检查语法的,比如 nano 改了一个文件担心格式错误,可以用 pwck做语法检查,出现错误报警。Grpck 检查的是 group 的错误。

 

三、用户和组管理命令

◆用户管理命令

useradd

usermod

userdel

◆组帐号维护命令

groupadd

groupmod

groupdel

 

Useradd 意为创建用户

usermod 意为修改用户

userdel 意为删除用户;

Groupadd 意为创建组

groupmod 意为修改组

groupdel 意为删除组。

 

四、用户创建 : useradd

◆useradd [options] LOGIN

-u UID

-o 配合 -u 选项,不检查 UID 的唯一-性

-g GID :指明用户所属基本组,可为组名,也可以 GID

-c "COMMENT" :用户的注释信息

-d HOME_ DIR :以指定的路径(不存在)为家目录

image.png

-S SHELL :指明用户的默认 shell 程序

可用列表在 /etc/shells 文件中

-G GROUP1[,GROUP2...] :为用户指明附加组,组须事先存在

image.png

-N 不创建私用组做主组,使用 users 组做主组

image.png-r: 创建系统用户CentOS 6: ID<500 , CentOS 7: ID< 1000

-m 创建家目录,用于系统用户

-M 不创建家目录,用于非系统用户

 

Useradd 是一个外部路径,在 sbin 里面都是管理员文件,不能用普通用户账号执行。最简单的创建用户的方式就是 useradd 后面直接加用户名。

现在查看已经创建的账号已经排到了1003,新建账号应该排到1004,也可以超过他的范围。现在创建一个账号 xixi,使用命令 useradd –u 66666 xixi 就可以进行创建,使用 getent passwd xixi 命令就可以查看只和 xixi 相关的那一行,正常情况下创建的 id 按 id 最大的值顺序递增。

在生产中,有时候 id 号需要人为指定,比如说需要在某个服务器上创建一个给服务用的账号,而一个软件要部署到多个服务器上,这个账号要不止一个 id,比如说创建一个 app,命令 useradd app u 1234 就认为指定了 id 为1234,就可以在多个服务器上指定相同的id了。

如果要创建 id 相同的两个账号,需要加上 o 选项。

判断用户是否可以访问某个权限是根据用户的 id 而非用户名,id 相同就会认为是同一个用户。

-g 后面跟的是主组的 id,在创建账号的时候会自动新建主组,当然也可以指定不用它自动创建的,自己指定一个主组。

-c 是描述,用 chfn wang 命令就可以看到 wang 的描述信息。

使用 -d 可以指定路径为家目录,比如命令 useradd –d /data/app3home app3 就是指定 app3 的路径保存家目录,将来如果创建一个账号 mysql,mysql 对应有一个数据库文件,想把它放进一个目录里,就可以直接设置。

Shell 类型可以用 -s 来指定,比如说创建一个给服务用的账号,现在想创建 nginx 账号给应用程序使用,可以使用 useradd s /sbin/nologin r nginx 命令,系统就会自动给他分配在范围内的 id 号。

注意不加 -r 会自动创建家目录,加上 r 就不会。但是如果加上 r 又加上 m 就会认为的必须加上家目录。M 正好相反为强制不创建家目录。

 

五、创建用户 : useradd

◆默认值设定: /etc/default/useradd 文件中

◆显示或更改默认设置

useradd -D

useradd -D -S SHELL

useradd -D-b BASE_ DIR

useradd -D -g GROUP

 

useradd –D 可以显示创建文件时默认的配置内容,当然不仅可以查看,还可以修改内容,-s 修改 shell 类型,-b 把家目录改了,-g 可以修改组。

 

六、用户属性修改

◆usermod [OPTION] login

-u UID:新 UID

-g GID:新主组

-G GROUP1[,GROUP...[.GROUPN]]] :新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用 -a 选项

-S SHELL :新的默认 SHELL

-c 'COMMENT':新的注释信息

-d HOME:新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_ name:新的名字;

-L: lock 指定用户,在 /etc/shadow 密码栏的增加!

-U: unlock 指定用户,将 /etc/shadow 密码栏的!拿掉

-e YYYY-MM-DD:指明用户账号过期日期

-f INACTIVE:设定非活动期限

 

七、练习

◆1、创建用户 gentoo,附加组为 bin 和 root,默认 shell 为 /bin/csh,注释信息为 "Gentoo Distribution"

 

◆2、创建下面的用户、组和组成员关系

名字为 webs 的组

用户 nginx 使用 webs 作为附属组

用户 varnish,也使用 webs 作为附属组

用户 mysql,不可交互登录系统,且不是 webs 的成员,nginx,varnish,mysql 密码都是 magedu。

 

答案:

1、创建用户 gentoo,附加组为 bin 和 root,默认 shell 为 /bin/csh,注释信息为 "Gentoo Distribution":

useradd -c " Gentoo Di stri bution" -G bin,root -s /bin/csh Gentoo

 

2、创建下面的用户、组和组成员关系

名字为 webs 的组:

groupadd webs

 

用户 nginx 使用 webs 作为附属组:

useradd -G webs nginx

 

用户 varnish,也使用 webs 作为附属组:

useradd -G webs varnish

用户 mysql,不可交互登录系统,且不是 webs 的成员,nginx,varnish,mysql 密码都是 magedu:

 

useradd -s / sbin/ nologin mysql

echo magedupasswd --stdin nginx

echo magedupasswd --stdin varnish

echo magedupasswd --stdin mysql

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
9天前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
19天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
64 3
|
5天前
|
网络协议 安全 Linux
Linux 上设置自己的公共时间服务器
Linux 上设置自己的公共时间服务器
17 0
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
46 3
|
1月前
|
Linux 数据安全/隐私保护
Linux中用户权限问题
【10月更文挑战第4天】
18 1
|
1月前
|
Ubuntu Linux
Linux实践|设置静态 IP 地址
Linux实践|设置静态 IP 地址
62 0
Linux实践|设置静态 IP 地址
|
1月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
Shell Linux
12.13 Linux工作管理
工作管理指的是在单个登录终端(也就是登录的 Shell 界面)同时管理多个工作的行为。也就是说,我们登陆了一个终端,已经在执行一个操作,那么是否可以在不关闭当前操作的情况下执行其他操作呢?
139 0
12.13 Linux工作管理