Linux入门——用户组和权限管理
用户:
- 任何用户被分配一个独特的用户id号(UID)
- UID 0标识root用户
- 用户帐号通常从UID 1000开始
- 用户名和UID信息通常存储在/etc/passwd文件中
- 当用户登录时它被分配一个主目录并且运行一个程序(通常是一个shell程序)
- 没有权限许可用户不能读取、写或者执行其它用户的文件
- 用户有个东西叫用户名是字符串如:root user1
- 用户名通常是身份指明你是谁
- 用户名不区分大小写
- 密码是证明你是谁
- 系统通过uid识别用户
- 当两个uid相同则两个用户是一样的
用户账号文件-/etc/passwd:
/etc/passwd用于保存用户的帐户基本信息:
- 字段1:用户名称
- 字段2:密码占位符“x”(指登陆该用户时需要密码,密码在/etc/shadow里)
- 字段3:用户帐号的UID号
- 字段4:用户的私有组
- 字段5:用户描述信息
- 字段6:用户的主(家)目录(每次切用户会默认切到用户的家目录)
- 字段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 *此方法不是创建用户一起创建密码创了也登陆不进去
- 其他相关命令:
- usermod修改用户信息,用法与useradd类似
-aG | 追加一个附加组 |
---|---|
-L | 锁定用户 |
-o | 修改用户id变成非唯一的值 |
-U | 解锁用户 |
-m | 移动家目录,与-d一起使用 |
–g | 指私有组 |
- userdel删除用户
-r | 删除家目录和邮箱 |
---|
- groupadd 添加新的用户
-g | 指定gid |
---|
- groupmod 修改组的信息
-n | 指定新的组名 |
---|
- groupdel 删除组
- 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入门——用户组和权限管理相关推荐
- linux用户及用户权限管理,Linux用户用户组及权限管理
Linux安全上下文: 运行中的程序:进程 进程所能够访问资源的权限取决于进程的运行者身份 涉及的配置文件 /etc/passwd:保存用户信息 whatis passwd sslpasswd (1s ...
- Linux系统之高级用户组和权限管理
Linux系统之高级用户组和权限管理 一.用户的密码策略设置 1.用户的密码文件 2.用户的密码期限配置 ①查看用户密码期限 ②修改密码期限 ③强制用户下一次修改密码 ④用户到期时间设置 3.查看当前 ...
- SRE运维工程师笔记-Linux用户组和权限管理
SRE运维工程师笔记-Linux用户组和权限管理 用户.组和权限 内容概述 1. Linux安全模型 1.1 用户 1.2 用户组 1.3 用户和组的关系 1.4 安全上下文 2. 用户和组的配置文件 ...
- Linux 文件解压缩及权限管理
Linux 文件解压缩及权限管理 一.文件解压缩 1.gzip 功能:压缩文件 补充知识说明:zip是使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip扩展名的压缩文件. 压缩文件大小有两个明显 ...
- linux服务器用户组,磁盘,进程管理以及项目发布讲解
linux服务器用户组,磁盘,进程管理以及项目发布讲解 用户组管理 磁盘管理 进程管理 环境安装 jdk安装 用户组管理 组的增 删 改 查 实际上就是对/etc/group文件的更新 创建一个用户组 ...
- linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...
Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...
- linux服务器用户组和权限管,linux 用户管理,用户权限管理,用户组管理
linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...
- linux用户和用户组及权限管理
前言 初始学习linux时不知道学习用户或用户组以及权限是干嘛的,慢慢了解到在实际应用中起着很重要的作用 用户 我的理解,用户其实就是操作系统的使用者,比如widow操作系统可以建立一个或多个账户,l ...
- linux centos设置用户目录,Linux/CentOS用户和用户组及权限管理
一:基本概念 linux是一个多任务(multi-task)多用户(multi-user)的操作系统,每个用户和用户组都有自己的ID号UID GID,每个用户都有自己的家目录不能随意访问其他用户的家目 ...
最新文章
- 模板文件默认标准版首页模板.html未找到!,html页模板
- 转载:【opencv入门教程之三】:图片的载入|显示|输出
- StringUtils.isBlank()检验String 类型的变量是否为空
- JavaWeb之国际化
- logging.getLogger(logger)
- webpack的多文件打包问题
- 斯坦福 CS183 Peter Thiel 创业课资料整理
- Vue练习(修改为自定义事件)
- diy无感无刷电机霍尔安装_霍尔传感器常见的有那几个类别
- python super().__init__()参数_python类中super()和__init__()的区别
- 基于64QAM的LDPC编译码算法
- NAS网络文件服务器搭建流程
- java 用word模板打标签,并插入图片 动态生成word
- Android应用签名证书(.keystore)生成
- line-height详解
- 2022 腾讯社招Golang后端面试经验分享
- Small Talk Matters【闲谈很重要】
- iOS触动精灵模拟触控类外挂原理分析
- Redis性能延迟分析
- 怎么用VLOOKUP来匹配excel表里面的数据