1,用户与用户组

1.1,用户分类

超级用户(UID=0):root,它具有一切权限,只有进行系统维护(例如建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。

系统用户(UID=1~999):系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,如bin、daemon、adm、lp等用户。

普通用户(UID=1000~60000):是为了让使用者能够使用Linux系统资源而建立的;每个用户都有一个数值,称为UID;

1.2,用户

与用户(user)相关的配置文件:

  • /etc/passwd :用户(user)的配置文件;
  • /etc/shadow :用户(user)影子口令文件;

登录过程:

  1. 先查找/etc/passwd里面是否有你输入的账号?如果没有则退出,如果有的话则将该账号对应的UID与GID(在/etc/group中)读出来,另外,该账号的家目录与shell设置也一并读出。
  2. 再来则是核对密码表。这时Linux会进入/etc/shadow里面找出对应的账号与UID,然后核对一下你刚刚输入的密码与里面的密码是否相符。
  3. 如果一切都OK的话,就进入shell管理阶段。

/etc/passwd文件结构:

root x 0 0 root /root /bin/bash
账号名称 密码,因为密码放到了/etc/shadow中了,所以你会看到x UID GID 用户信息说明栏 家目录 Shell

/etc/shadow文件结构:

root 一对奇怪的东西 18596 0 99999 7
账号名称 密码 最近修改密码日期 密码不可被修改的天数 密码需要重新修改的天数 密码需要修改期限前的警告天数 密码过期后的账号宽限时间 账号失效日期 保留
密码字段,密码经过编码过的,虽然很难破解,但是不是不能,所以这个文件的默认权限是【-rw-------】或【-----------】 时间:1970年1月1日为开始,1971年1月1日就是366 在密码过期的几天后,如果用户还没有登录,则账号将不在使用 通常存在于收费服务中
修改密码那天的值 如果是0表示随时可以修改密码;如果是20表示20天后才能修改密码 表示多少天后需要修改密码,99999表示273年,对密码修改没有强制要求。

Ubuntu下修改root密码:

sudo passwd root

1.3,用户组

与用户组(group)相关的配置文件:

  • /etc/group:用户组(group)的配置文件;
  • /etc/gshadow:用户组(group)影子口令文件;

/etc/group文件结构

root x 0
组名 用户组密码,同样是x GID 此用户支持的账号名称
用户组ID 用户组下用户的成员

有效用户组和初始用户组

初始组:用户创建时默认生成的群组,记录在/etc/passwd的第四栏中,无需记录在/etc/group的第四栏。

有效用户组:使用groups可以查看用户当前所属群组,第一个群组为该用户的有效群组。使用newgrp groupname可以将用户的有效群组切换为groupname。

 gshadow文件中记录了群组账号、群组密码(开头为!表示无法登陆)、群组管理员密码和群组成员列表。

2,账号管理

2.1,新增、删除和修改用户

查看我是谁

whoami

新增用户

useradd -u uid -g gid -G gid -mM -c 说明 -d 目录 -s 目录
UID 初始用户组GID 次要用户组GID

-m:强制要建立使用者家目录

-M:不要建立使用者家目录(默认)

用户说明 指定某个目录为家目录 后接shell,若没有指定则默认是/bin/bash
直接指定一个数字为UID 初始用户组 还可以加入的用户组
useradd shao
通过passwd 账号设置密码后,完成用户创建
系统默处理(useradd -D查看默认):
1、在/etc/passwd里面建立一行与账号相关的数据,包括建立UID/GID/家目录等;
2、在/etc/shadow里面将此账号的密码相关参数写入,但是尚未有密码;
3、在/etc/group里面加入一个与账号名称一模一样的组名;
4、在/home下面建立一个与账号名称一模一样的组名;
useradd -u 1500 -g users shao
//创建UID为1500,用户组为users,名为shao的账号
useradd -r shao
//创建一个名为shao的系统账号,系统自动分配uid,一般小于1000
//系统账号主要是用来执行系统所需服务的权限设置,所以系统账号默认不会主动建立家目录

修改密码

passwd 用户名
//用户名不填,默认为当前用户

修改账号日期相关

chage 账号名
//修改账号信息

修改账号信息

usermod 参数 用户名

删除用户

userdel -r username
//-r 删除用户home
//删除内容:用户账号密码参数;用户组参数;用户个人文件数据;

2.2,新增,删除和修改用户组

新增用户组

groupadd -g gid -r 用户组名称
GID 建立系统用户组

修改用户组

groupmod -g gid -n group name 用户组名称
修改GID 修改用户组名称

删除用户组

groupdel 用户组名

3,ACL使用

ACL:访问控制列表,提供传统的属主、所属群组、其他人的读、写、执行权限之外的详细权限设置。ACL针对单一用户、单一文件或目录进行r、w、x的权限设置,对于特殊权限的设置非常有帮助。

getfacl:获取某个文件/目录的ACL设置选项。

setfacl:设置某个目录/文件的ACL规范。

3.1、setfacl&getfacl

setfacl

getfact

-b:删除所有的ACL设置参数 -m:设置后续的ACL参数给文件使用,与x不兼容。 目标文件名
-k:删除默认的ACL参数
-R:递归设置ACL,包括子目录 -x:删除后续的ACL参数,与m不兼容。
-d:设置默认ACL参数,只对目录有效

3.2,针对特定使用者的方式

设置规范:【u:[使用者账号列表]:[rwx]】

touch shao
ls -ll
setfacl -m u:shao:rx shao
ls -ll

多了一个x和一个+

getfacl shao

file:shao 文件名
owner:root 文件的拥有者
group:root 文件的属主
user::rw- 文件拥有者的权限
user:shao:r-x 针对shao用户的权限设置rx,与拥有者root的不同
group::r-- 文件用户组权限仅有r
mask::r-x 默认的有效权限
other::r-- 其他人拥有的权限

3.3,特定的单一用户组的权限设置

设置规范:【g:[用户组列表]:[rwx]】

setfacl -m g:shao:rx acl shao
getfacl shao

 多了一个group:shao:r-x,就是表示对shao整个用户组的权限。

3.4,针对有效权限设置

设置规范:【m:[rwx]】

setfacl -m m:r shao
getfacl shao

mask表示一种限制,shao用户和shao用户组的权限与mask权限取交集,才表示用户和用户组真正的权限。

4,身份转换

避免无心之失对系统造成的损害

用低权限启动系统,减小入侵损害

软件的限制

4.1,转换身份指令

su:将user转成root,需要root密码

su -:将当前用户转换为root,且使用root的环境设置
-l:将当前用户转换为username,同时使用其相关环境变量。 username
-m:使用当前用户的环境设置值
-c:将后接指令执行一次

sudo:不需要root密码,仅以当前普通用户密码执行一次root权限指令

sudo -u username(将用户身份转换为username) command

4.2,系统用户查询

who:查询已登录用户

last:查询一个月来用户的登录信息

lastlog:查询用户登录终端和最后登录时间

Linux:用户与群组管理相关推荐

  1. Linux用户、群组管理

    2019独角兽企业重金招聘Python工程师标准>>> 用户管理: 例1:useradd -u 510 -g 500 -d /home/user1 -s /bin/bash -p 1 ...

  2. 简述linux下用户与组相关的配置文件,Linux用户和群组管理的主要配置文件

    一. 用户和群组的类型 1.Linux用户账户的类型 Linux下的用户可以分为三类: 超级用户.系统用户.普通用户. 1)超级用户root root用户就是超级用户.系统管理员,UID为0. 2)系 ...

  3. Linux用户与群组管理

    用户账户与群组概念 Linux操作系统是多用户多任务的操作系统,系统依据账户来区分属于每个用户的文件.进程,任务,并给每个用户提供特定的工作环境(例如,用户的工作目录.shell版本以及图形化的环境配 ...

  4. 05 Linux用户和群组管理

    目录 引言. 一.用户管理和群组管理 二.Linux系统安全机制 三.账号管理命令 四.群组账号管理命令 五.文件和目录的权限的含义 六.权限的设置方法 (1)字符设定法 (2)数字设定法法 引言. ...

  5. 六 linux用户,群组以及配置文件

    一.怎样在linux中创建,删除用户及群组管里 用户 1.创建一个新用户(useradd命令使用) a)useradd命令功能介绍:创建一个新用户b)useradd命令常用选项:1) –u:指定用户的 ...

  6. linux tar权限不够,Linux用户,群组,权限 ,tar命令

    -u:用户的UID -g:用户的GID(主组) -G:将一个用户加入到指定的群组中(附加组) -d:用户的家目录 -c:用户的备注信息 -s:用户所用的shell /bin/bash就说明这个用户可以 ...

  7. linux学习笔记-用户和群组管理文件

    1.文件框架 学习linux用户管理时经常看到UID和GID.UID是指User ID,即用户ID:GID是指Group ID即用户组ID.UID和账号对应尽量不要修改.我们知道创建一个新的用户指令是 ...

  8. linux组群账户存放在,linux用户和群组

    一.帐户概述 1.帐户实质 Linux 操作系统是一个多用户的操作系统,它允许多个用户同时登陆到系统上,使用系统资源.系统根据帐户来区分每个用户的文件.进程.任务,给每个用户提供特定的工作环境(如用户 ...

  9. linux用户和群组的作用,linux中的用户、群组和权限

    新建用户natasha,uid为1000,gid为555,备注信息为"master" groupadd -g 555 natasha useradd -u 1000 -g 555  ...

最新文章

  1. 玩转spring boot——结合阿里云持续交付
  2. idea如何删除java里面工程,Java开发工具IntelliJ IDEA配置项目系列教程(七):卸载模块...
  3. Routeros双adsl线路基于ip分段策略路由
  4. JAVA 双重检查锁定和延迟初始化
  5. QT下opencv的编译和使用
  6. android 抛出异常,android - android Build.GetSerial()抛出异常 - 堆栈内存溢出
  7. vs 无法解析变量$_C语言新手常见错误(Vs使用,语法...),绝对直击痛点
  8. 我用大屏模板做年中可视化报告,惊艳了在场的同事和领导
  9. python elseif用法_Python关键字简介
  10. [Linux] C 语言遍历文件夹
  11. Zephry_安装与移植到Stm32F746g_disoc
  12. Zabbix监控结合Grafana绘图
  13. Web安全攻防渗透测试
  14. java技术分享些什么,大牛最佳总结
  15. vb可以开发用c语言,c语言和vb语言的区别是什么?_后端开发
  16. 【容斥好题】HDU - 5514 F - Frogs
  17. IDC数据中心机房如何选择虚拟机和物理机?
  18. linux 卸载nexus,Linux下安装maven和nexus
  19. English总结(一)-- 常用语句篇
  20. bzoj 1415 [Noi2005]聪聪和可可

热门文章

  1. 哈佛大学——差异表达分析(八)假设检验和多重检验校正
  2. 高等数学(第七版)同济大学 习题2-2 个人解答(后7题)
  3. 视频(图像)质量检测
  4. 通过url链接将图片上传oss图片显示不完整问题
  5. 基于Webrtc的多人视频会议的简单实现
  6. U盘安装Linux系统教程
  7. 开关电源:选择隔离电源还是非隔离电源(转)
  8. ResNet详细介绍
  9. [论文阅读]PAN++: Towards Efficient and Accurate End-to-End Spotting of Arbitrarily-Shaped Text
  10. state软件的基本使用