用户:

  • 任何用户被分配一个独特的用户id号(UID)
  • UID 0标识root用户
  • 用户帐号通常从UID 1000开始
  • 用户名和UID信息通常存储在/etc/passwd文件中
  • 当用户登录时它被分配一个主目录并且运行一个程序(通常是一个shell程序)
  • 没有权限许可用户不能读取、写或者执行其它用户的文件
  • 用户有个东西叫用户名是字符串如:root user1
  • 用户名通常是身份指明你是谁
  • 用户名不区分大小写
  • 密码是证明你是谁
  • 系统通过uid识别用户
  • 当两个uid相同则两个用户是一样的

用户账号文件-/etc/passwd:

/etc/passwd用于保存用户的帐户基本信息:

  1. 字段1:用户名称
  2. 字段2:密码占位符“x”(指登陆该用户时需要密码,密码在/etc/shadow里)
  3. 字段3:用户帐号的UID号
  4. 字段4:用户的私有组
  5. 字段5:用户描述信息
  6. 字段6:用户的主(家)目录(每次切用户会默认切到用户的家目录)
  7. 字段7:登录Shell信息

当一个用户没设置密码则无法登陆
如果在/etc/passwd里创建用户是创不好的,虽然可以查到该用户,但没有创建用户的家目录和用户组,能切换用户是因为分配了shell

组:

  • 用户必须属于一个组
  • 每一个组被分配一个独特的组ID(gid)
  • gid信息保存在/etc/group中
  • 每一个用户都有自己的私有组
  • 可以将用户添加到别的组,该组称为用户的附加组
  • 同一个组中的所有用户能共享属于这个组的文件

人本身就是用户 家庭类似于组
原生家庭是私有组 干爸干妈是附加组
用户是用户,组是组,所有组默认是普通组
用户和组通过gid关联即passwd中的gid跟group的gid匹配

组信息文件-/etc/group:

/etc/group用于保存组的基本信息:

字段1:组的名称(默认情况下跟用户名一样)
字段2:密码占位符“x”
字段3:组的ID号(默认情况下跟uid一致)
字段4:该组是user1,user2和user3的附加组

useradd创建新用户:

  • 其语法如下:
    useradd [选项] 用户名
  • 选项说明:
    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
    -g 用户组 指定用户所属的用户组。
    -c comment 指定一段注释性描述。
    -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
    -G 用户组,用户组 指定用户所属的附加组。
    -s Shell文件 指定用户的登录Shell。
> useradd -c “hello” –d /home/user1 –s /sbin/nologin user111 //-c指定描述信息–d指定家目录-s指定登陆shell  指定家目录不需要手动创建,手动创建权限会报错,直接指定就会创建且无问题
  • 举例:
> useradd -u 2000 -g it  user1    //指定用户user的uid为2000组为it
> useradd -s /sbin/nologin  -G root  Mary     //指定用户Mary的登陆shell,组为root
>  useradd –p redhat user10 *此方法不是创建用户一起创建密码创了也登陆不进去
  • 其他相关命令:
  1. usermod修改用户信息,用法与useradd类似
-aG 追加一个附加组
-L 锁定用户
-o 修改用户id变成非唯一的值
-U 解锁用户
-m 移动家目录,与-d一起使用
–g 指私有组
  1. userdel删除用户
-r 删除家目录和邮箱
  1. groupadd 添加新的用户
-g 指定gid
  1. groupmod 修改组的信息
-n 指定新的组名
  1. groupdel 删除组
  2. groupmems 管理组内成员
-g 指定组
-a 添加用户
-d 删除用户
-l 列出组内的用户
-p 清空用户

> usermod –u 2022 user111 //给用户user111修改uid为2022 usermod –G it1 user1
> //给用户设置附加组it1(-g是修改私有组 –G设置附加组) usermod –aG it1 user1
> //-G设置新附加值但之前附加组都要去掉;-aG追加附加组,之前的会保留如果不加a则之前的附加组要被删掉 usermod –L
> user1//锁定用户登陆不进去 userdel user1 //删除用户但未删除用户家目录和邮箱 userdel-r
> user2//删除user2家目录和邮箱  邮箱在cd /var/spool/mail
> gpasswd group1 //给group1设置密码
> newgrp group1 //临时登陆group1组。组是有权限的,但别人不想让你一直在组里就让你临时待在组里

删除组删不掉私有组但可以删附加组 uid是在最大的uid上+1 默认最大的uid和gid都是60000
因为如果把前面的用户删了,有可能没删干净遗留一些文件,再创新用户用之前的uid则文件又属于新用户了. groupadd group1
//创建group1组 groupadd –g 1006 group2 //指定group2组的gid为1006
创用户手动指定组一定要事先创建组

密码文件-/etc/shadow:

用于保存用户的密码信息:

 字段1:用户帐号的名称
 字段2:加密的密码字串信息
 字段3:最近一次修改密码的时间,表示从1970.01.01至今的天数
 字段4:密码的最短使用天数,默认值为0,没有要求
 字段5:密码的最长有效天数,默认值为99999
 字段6:密码即将到期警告天数,默认值为7
 字段7:在密码过期之后账号保持活动的天数,指定天数后账号被锁定,成为无效
 字段8:帐号失效时间,默认值为空,以1970.01.01的天数表示
 字段9:保留字段(未使用)

配置密码的期限:

下图显示了相关的密码期限参数,可以通过chage命令对其进行密码期限的调整

语法:
chage [选项] 用户
#chage -m 0 -M 90 -W7 -I 14 user3 分别修改用户密码的最短期限,最长期限,警告周期和失效期限
#chage -d 0 user3 强制要求用户在下一次登录时更新密码
#chage -l user3 显示用户密码的的信息
#chage -E 2020-10-10 user3 用户将于2020-10-10到期(YYYY-MM-DD格式)

ps aux |grep vim 进程拥有人一般取决于谁来运行进程
ps |aux 查看进程

Linux文件安全:

 每一个文件都有一个uid和gid
 任何进程运行时都带一个uid和一个或多个gid标识符
 通常决定于哪个用户执行这个进程
 三种访问类别:
 运行的进程跟文件有着同样的uid(user)
 运行的进程跟文件有着同样的gid(group)
 其它进程(other)

进程uid继承用户uid
进程除了有uid信息还有gid信息,gid是看用户gid是多少
多个gid信息:一个用户可有多个附加组
最终都是通过进程来访问文件

权限优先级:

 如果UID匹配,用户权限适用
 否则,如果GID匹配,组权限适用
 如果都不匹配,其它权限适用

先匹配拥有人,拥有人不同在匹配拥有组,如果都不匹配就是其他人访问
如何匹配身份:1.你当前是谁2.你访问什么3.你访问的拥有人是谁
为什么匹配权限:不同身份权限不同

Linux文件系统权限:

查看文件和目录的权限
ls -l 文件名
ls -ld 目录名
-rw-r–r--. 1 root root 2484 Mar 18 00:04 /etc/passwd
文件类型 访问权限 连接数 所属人 所属组 大小 修改时间 文件名
访问权限:九个栏位是权限,三个三个是一组分别是拥有人拥有组其他人

权限分配      文件所属人     文件所属组用户   其他用户
字符表示        r   w   x      r    w   x        r  w   x
权限项     读 写  执行   读    写    执行  读   写   执行
数字表示        4   2   1      4    2   1       4   2   1

文件类型:

:代表普通文件 d:目录
l:链接文件 b和c分别代表块设备和字符设备,还有其他特殊的文件p和s

权限对文件和目录的影响
权限 对文件的影响 对目录的影响
r (读) 可以读取文件的内容 可以列出目录的内容(文件名)看不见权限详细信息
w(写) 可以更改文件的内容 可以创建或删除目录中的任一文件
x(执行) 可以作为命令执行文件 可以进入目录(还需要r权限才能读目录内容)
rx 进入目录看权限详细信息,目录一般来说有rx权限才有意义
修改权限要会修改拥有人拥有组和对应身份权限

更改文件和目录的权限:

 符号方式修改文件权限
chmod命令用于更改文件对于某类用户的操作权限
chmod [-R] whowhatwhich FILE…

-R:递归,将目录里文件文件一并修改

 数字方式修改文件权限
 使用三个数字(nnn)模式
chmod nnn FILE…
 通过把数值相加来计算权限
 第一个数字代表所属主(u)的权限
 第二个数字代表属组(g)的权限
 第三个数字代表其它人(o)的权限
 举例如下:

增加文件属主的执行权限(x)
#chmod u+x test
去除文件属主与属组的写权限(w)
#chmod u-w,g-w test
设置其他用户的文件权限为可执 行
#chmod o=x test
设置属主完全控制,属组和其他人读权限
#chmod 744 test
所有用户家目录权限默认700
chmod 66 passwd 少写一位系统会在前面补0,系统认为权限是066

设置文件属主和属组:

 chown命令用于设置文件的属主和属组
命令格式:chown [-R] OWNER[:GROUP] FILE…
 chgrp命令用于设置文件属组
命令格式:chgrp [-R] GROUP FILE…
 只有root可以修改文件的拥有人,root和文件的拥有人可以修改文件的拥有组,前提是用户需要在组里面。
 例子:

#chown –R :user4 data/ 把data/目录下所有文件拥有组改为user4,data目录也一起修改
#chown user1 test  设置文件test的属主为用户user1
#chown :it2 test  设置文件test的属组为用户组it2
#chgrp it2 test 效果同上
#chown user3:it3 test  设置文件test的属主为user3,并设置文件的属组为it3
#chown user4 passwd  修改文件拥有人
#chgrp user5 passwd  修改文件拥有组
#chown user1:user4 passwd修改拥有人拥有组
#chown :user4 passwd  修改拥有组

Linux入门——用户组和权限管理相关推荐

  1. linux用户及用户权限管理,Linux用户用户组及权限管理

    Linux安全上下文: 运行中的程序:进程 进程所能够访问资源的权限取决于进程的运行者身份 涉及的配置文件 /etc/passwd:保存用户信息 whatis passwd sslpasswd (1s ...

  2. Linux系统之高级用户组和权限管理

    Linux系统之高级用户组和权限管理 一.用户的密码策略设置 1.用户的密码文件 2.用户的密码期限配置 ①查看用户密码期限 ②修改密码期限 ③强制用户下一次修改密码 ④用户到期时间设置 3.查看当前 ...

  3. SRE运维工程师笔记-Linux用户组和权限管理

    SRE运维工程师笔记-Linux用户组和权限管理 用户.组和权限 内容概述 1. Linux安全模型 1.1 用户 1.2 用户组 1.3 用户和组的关系 1.4 安全上下文 2. 用户和组的配置文件 ...

  4. Linux 文件解压缩及权限管理

    Linux 文件解压缩及权限管理 一.文件解压缩 1.gzip 功能:压缩文件 补充知识说明:zip是使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip扩展名的压缩文件. 压缩文件大小有两个明显 ...

  5. linux服务器用户组,磁盘,进程管理以及项目发布讲解

    linux服务器用户组,磁盘,进程管理以及项目发布讲解 用户组管理 磁盘管理 进程管理 环境安装 jdk安装 用户组管理 组的增 删 改 查 实际上就是对/etc/group文件的更新 创建一个用户组 ...

  6. linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...

    Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...

  7. linux服务器用户组和权限管,linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  8. linux用户和用户组及权限管理

    前言 初始学习linux时不知道学习用户或用户组以及权限是干嘛的,慢慢了解到在实际应用中起着很重要的作用 用户 我的理解,用户其实就是操作系统的使用者,比如widow操作系统可以建立一个或多个账户,l ...

  9. linux centos设置用户目录,Linux/CentOS用户和用户组及权限管理

    一:基本概念 linux是一个多任务(multi-task)多用户(multi-user)的操作系统,每个用户和用户组都有自己的ID号UID GID,每个用户都有自己的家目录不能随意访问其他用户的家目 ...

最新文章

  1. 模板文件默认标准版首页模板.html未找到!,html页模板
  2. 转载:【opencv入门教程之三】:图片的载入|显示|输出
  3. StringUtils.isBlank()检验String 类型的变量是否为空
  4. JavaWeb之国际化
  5. logging.getLogger(logger)
  6. webpack的多文件打包问题
  7. 斯坦福 CS183 Peter Thiel 创业课资料整理
  8. Vue练习(修改为自定义事件)
  9. diy无感无刷电机霍尔安装_霍尔传感器常见的有那几个类别
  10. python super().__init__()参数_python类中super()和__init__()的区别
  11. 基于64QAM的LDPC编译码算法
  12. NAS网络文件服务器搭建流程
  13. java 用word模板打标签,并插入图片 动态生成word
  14. Android应用签名证书(.keystore)生成
  15. line-height详解
  16. 2022 腾讯社招Golang后端面试经验分享
  17. Small Talk Matters【闲谈很重要】
  18. iOS触动精灵模拟触控类外挂原理分析
  19. Redis性能延迟分析
  20. 怎么用VLOOKUP来匹配excel表里面的数据

热门文章

  1. ASP .NET MVC ORM概述
  2. 2021年4月份的自考学习问题
  3. 顾冬冬教授总结回顾-金属激光增材制造技术在高端领域的应用与研究!
  4. LCD液晶屏的缺陷与注意点
  5. 如何查询电脑的MAC地址
  6. Java代码读取图片的两种方式
  7. 怎样把你的肾补起来!(原来我有黑眼圈,皮肤发黄时肾不好啊)!!世界上唯一有能力让时间扭转、青春永在的最强有力的器官,就是肾脏。...
  8. 年轻就AI秀:美颜美齿,一键搞定
  9. 华为机试:服务失效判断
  10. ORACLE用户、授权与同义词的应用示例