前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux-用户-用户组

linux-用户-用户组

作者头像
suwanbin
发布2019-12-18 17:13:18
19.9K1
发布2019-12-18 17:13:18
举报
文章被收录于专栏:小码农漫漫积累路

本文由刘遄老师的《Linux就该这么学》摘抄整理而成,写成博客方便自己后期查阅 该书非常棒,语言简练,通俗易懂,非常推荐,你可以点连接去学

用户管理

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

本博客即下篇博客将详细讲解以下几点

  • 文件的所有者、所属组
  • 以及其他人可对文件进行的读(r)、写(w)、执行(x)等操作
  • 以及如何在Linux系统中添加、删除、修改用户账户信息
  • 我们还可以使用SUID、SGID与SBIT特殊权限更加灵活地设置系统权限功能,来弥补对文件设置一般操作权限时所带来的不足。
  • 隐藏权限能够给系统增加一层隐形的防护层,让黑客最多只能查看关键日志信息,而不能进行修改或删除。
  • 文件的访问控制列表(Access Control List,ACL)可以进一步让单一用户、用户组对单一文件或目录进行特殊的权限设置,让文件具有能满足工作需求的最小权限。

知识储备

1.Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

2.Linux 的用户需要至少要属于一个组

用户

正常在公司是不会给你 root 权限的,就算给你了 root 权限,也不要拿 root 用户直接登录,避免操作失误

正常情况都是使用普通用户登录,然后需要管理员权限的时候再切换

添加用户 useradd

添加的用户要在创建完密码之后才能登录

基本语法
代码语言:javascript
复制
useradd  [选项]  用户名

例子:
创建一个普通用户(最简便的写法)
useradd lxx 

指定家目录
useradd -d 目录路径 用户名

指定用户组
useradd -g 用户组名 用户名

说明:
创建用户成功后会自动创建和用户名同名的家目录,默认的用户家目录会被存放在/home目录中

useradd 命令的可选参数

参数

作用

-d

指定用户的家目录(默认为/home/username)

-e

账户的到期时间,格式为YYYY-MM-DD.

-u

指定该用户的默认UID

-g

指定一个初始的用户基本组(必须已存在)

-G

指定一个或多个扩展用户组

-N

不创建与用户同名的基本用户组

-s

指定该用户的默认Shell解释器

修改用户密码、过期时间、认证信息等 passwd

passwd命令用于修改用户密码、过期时间、认证信息等

基本语法
代码语言:javascript
复制
passwd [选项] 用户名

passwd mac

passwd 指令可选参数

参数

作用

-l

锁定用户,禁止其登录

-u

解除锁定,允许用户登录

--stdin

允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username

-d

使该用户可用空密码登录系统

-e

强制用户在下次登录时修改密码

-S

显示用户的密码是否被锁定,以及密码所采用的加密算法名称

小运用

假设您有位同事正在度假,而且假期很长,那么可以使用passwd命令禁止该用户登录系统,等假期结束回归工作岗位时,再使用该命令允许用户登录系统,而不是将其删除。

这样既保证了这段时间内系统的安全,也避免了频繁添加、删除用户带来的麻烦。

删除用户 userdel

基本语法
代码语言:javascript
复制
userdel [选项] 用户名

userdel 用户名         删除用户,保留家目录
userdel -r 用户名      删除用户,不保留家目录
说明

删除用户的时候,其家目录一般会保留下来(实际管理时,用户的家用户也应该保留下来)

userdel 指令可项参数

参数

作用

-f

强制删除用户

-r

同时删除用户及用户家目录

查询用户信息 id

基本语法
代码语言:javascript
复制
id 用户名

用户名不存在

切换用户 su

说明

当用户权限不够时,可以通过 su -,来通过输入密码切换到高权限用户,比如切换到 root 用户

从高权限用户切换到低权限用户时,不需要密码

基本语法
代码语言:javascript
复制
su 用户名
su - 用户名        切换用户
exit              返回原来用户

注销用户

代码语言:javascript
复制
备注:在图形界面无效
logout
小练习
  • 创建一个 lxx 的用户并指定密码
  • 切换到 lxx
  • 切换回root用户

用户组

Linux 为了方便管理权限,引入了用户组的概念,我们可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或者指定任务

假设有一个公司中有多个部门,每个部门中又有很多员工。如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设置权限。例如,可以通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的数据库信息等。

科普

在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。

如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。

一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。

创建用户组 groupadd

说明

为了能够更加高效地指派系统中各个用户的权限,在工作中常常会把几个用户加入到同一个组里面,这样便可以针对一类用户统一安排权限。

就好比:技术组、运维组

增加组

代码语言:javascript
复制
groupadd [选项] 组名

删除组

代码语言:javascript
复制
groupdel 组名

前提:组内不能有用户,否则无法删除

修改用户的组

Linux系统中的一切都是文件 因此在系统中创建用户也就是修改配置文件的过程 用户的信息保存在/etc/passwd文件中,可以直接用文本编辑器来修改其中的用户参数项目,也可以用usermod命令修改已经创建的用户信息 诸如用户的UID、基本/扩展用户组、默认终端等。

基本指令

代码语言:javascript
复制
usermod [选项] 组名 用户名

usermod 命令可选参数

参数

作用

-c

填写用户账户的备注信息

-d -m

参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去

-e

账户的到期时间,格式为YYYY-MM-DD

-g

变更所属用户组

-G

变更扩展用户组

-L

锁定用户禁止其登录系统

-U

解锁用户,允许其登录系统

-s

变更默认终端

-u

修改用户的UID

用户配置文件 /etc/passwd

这是用户的配置文件,记录着用户的各种信息

每行含义

代码语言:javascript
复制
root:x:1:0:root:/root:/bin/bash
用户名:口令(不显示):用户id:组id:注释性描述:主目录:Shell

口令配置文件 /etc/shadow口令配置文件

存用户密码和相关时间的地方(有权限要求)

组的配置文件 /etc/group

组的配置文件

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用户管理
    • 知识储备
      • 用户
        • 添加用户 useradd
        • 修改用户密码、过期时间、认证信息等 passwd
        • 删除用户 userdel
        • 查询用户信息 id
        • 切换用户 su
        • 注销用户
      • 用户组
        • 科普
        • 创建用户组 groupadd
        • 增加组
        • 修改用户的组
        • 基本指令
      • 用户配置文件 /etc/passwd
        • 口令配置文件 /etc/shadow口令配置文件
          • 组的配置文件 /etc/group
          相关产品与服务
          访问管理
          访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档