Linux用户和权限管理
用户:资源获取标识符,资源分配,安全权限模型的核心要素之一
密码:来实现用户认证
创建用户:useradd Username 生成的属性信息
/etc/passwd

用户名:密码:占位符:UID:GUID(基本组ID):用户备注信息(多个以,隔开):家目录::默认shell
-u: 指定UID
-g: 指定GID,即用户的基本组,但GID要事先存在
-G:指定用户的额外组,但GID要事先存在
-d:指定家目录,指定家目录前提先mkdir建立目录
-c:备注
-s:指定默认shell,应该指定使用/etc/shells文件中出现的shell
-m:创建用户时,强制给用户创建家目录。
-n:取消建立以用户名称为名的群组
-M:不要自动建立用户的登入目录
-r:建立系统账号
建立用户user04 UID为533

使用-N参数建立用户,不要生成与用户同名的群组

查看下 /etc/passwd 文件,发现 test 用户的初始群组ID是100。这个100是哪来的?有ID为100的群组吗?其实100作为 -N 的默认值是写在配置文件中的。不管有没有ID为100的群组,都是这个值。当然我们也可以通过修改配置文件来改变这个默认值!
使用-G创建新用户并将加入到user01group用户组中

创建一个带有家目录并且更改用户默认shell的用户

id username 显示用户的ID号
userdel:删除给定用户,以及与用户相关的文件,若不加选项,则仅删除用户账号,而不删除相关文件
-f:强制删除用户,即使用户当前登陆
-r:删除用户同时,删除与用户相关的所有文件

groupadd:用于创建一个新的工作组
-g:指定新建组指定GID
-r:创建系统工作组,系统工作组ID小于500
/etc/group说明

组名:密码占位符:GID:用户列表(附加组)
/etc/skel :目录时用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新的添加的用户家目录
/etc/default/useradd:该文件主要时定义默认家目录,环境配置文件目录,登入执行首个程序等。
用户类别:
管理员 0
普通用户 1-65535
系统用户 1-499
登陆用户 500+
设定用户密码:
管理员
更改自己密码:passwd
更改其他用户密码:passwd Username
-l:锁定用户 用户密码前加两个!
-u:解锁
/etc/shadow 文件格式

登陆名:加密密码:最近一次的密码修改时间:最短使用期限:警告区间:非活动区间(登陆就要修改密码):账号的过期期限,预留段
设定组的密码:gpasswd GroupName
修改用户属性定义:
chsh:修改默认的shell


usermod:跟useradd命令使用方法类似
-u:UID
-g:修改用户所属群组
-G 默认会覆盖原有的附加组,如果要是添加,可以同时使用-a选项
-d:默认不会迁移用户的家目录,如果要迁移,同时使用-m选项
-s:修改用户登入后所使用的shell
-l:修改用户登陆名称
-e:过期期限
-L:锁定用户账号
-U:解锁
-f:非活动期限
将user04用户添加附加组user01group中

将用户user04修改为user05

groupmod命令用于更改群组识别码和名称
-n:设置欲使用的群组名称


groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/etc/group和/etc/gshadow 若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组

chage命令用来修改账号和密码的有效期限
-m:密码可更改的最小天数,为零代表任何时候都可以更改密码
-M:密码保持有效的最大天数
-w:用户密码到期前,提前收到警告信息的天数
-E:账号到期的日期,过了这天,此账号将不可用
-l:列出当前的设置,由非特权用户来确定他们的密码或账号何时过期
-i:停滞时期,如果一个密码已过期这些天,那么此账号将不可用

修改密码过期时间

设置密码失效时间

权限管理:
owner,group,other
属主,属组,其他
权限:read write execute
r w x
文件:
r:可以使用内容查看类的命令显示相关内容
w:可以使用编辑器修改内容
x:可以将其发起一个进程
目录:
r:可以使用ls命令查看目录内容的文件信息
w:可以创建,删除文件
x:可以使用ls -l 命令查看目录内容的文件信息,并且可以使用cd 命令切换此目录的为工作目录
修改文件的属主和属组:仅管理可执行,chown ,chgrp
修改文件权限:chmod
操作三类用户权限,使用8进制形式
chmod [-R] OCTAL-MODE (八进制)file....
操作指定类别用户的权限:使用u,g,o,a来赋权,基于=或者+/-来进行
u:属主 g:属组 o:其他 a:所有 =:指定类型用户的权限 +/-:操作置顶类型用户的单个权限
参照其他文件的权限为当前文件来赋权
chmod --reference=参照文件名 文件名
增加文件所有用户组可执行权限

删除所有用户的可执行权限

设置其他组对文件的执行权限,并取消其他组原来的权限

对一个目录及其子目录所有文件添加权限

权限应用模型:
进程的属主,是否与文件的属主相同吗如果相同,进程则以文件属主的权限来访问文件
进程的属主所属的组,是否其中之一与文件的属性相同,如果相同,进程则以文件属组的权限来访问文件
进程则以文件的其他用户的权限来访问文件
chown:将指定的文件的拥有者改为指定的用户或组
-R:指定目录以及其子目录下的所有文件
更改拥有者和群组

改变指定目录以及其子目录下的所有文件的拥有者和群组

查看用户相关信息:
id
-n:显示名称
-u:显示UID
-g:显示基本组ID
-G:显示所有组ID
who命令显示当前登陆用户
whoami:显示当前终端登陆的用户
Linux用户和权限管理的更多相关文章
- Linux用户和权限——管理文件权限的命令
Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...
- Linux用户和权限——管理用户和用户组的命令
Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令. useradd命令 useradd命令可以用来创建新用户. 基本语法 useradd [ ...
- linux用户及权限管理
[文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...
- Linux用户和权限管理看了你就会用啦
前言 只有光头才能变强 回顾前面: 看完这篇Linux基本的操作就会了 没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了.这篇主要将Linux下的用户和权限知识点再整理 ...
- 4.Linux用户与权限管理
Linux 系统是一个多用于多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统 新增用户: useradd 新用户名 设置密码:pa ...
- 3-4 linux 用户及权限管理
1. 安全上下文(secure context) 取决于资源权限和进程权限 分为三种:r:读,w:写,x:执行 每一类用户都有三个权限 文件: r:可读,可以使用类似cat等命令来查看文件内容 w:可 ...
- 拾遗:Linux 用户及权限管理基础
Lacks of Knowledge 1: Linux has large amount of COMMANDS,but many of them have similar funtions,it's ...
- linux 用户创建、管理、权限分配
(1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...
- 【linux相识相知】用户及权限管理
linux系统是多用户(Multi-users)和多任务(Multi-tasks)的,这样的目的是为了一台linux主机可以给很多用户提供服务同时运行多种服务,但是我们是怎么区分每个用户呢?作为一个管 ...
随机推荐
- 路飞学城知识点3缓存知识点之一Djang自带的缓存
缓存是暂时把数据放到哪儿的意思,用于提高查询的访问速度用的,mysql等关系型数据库通常用作备份,数据库进行增删改操作一段时间内存同步到缓存(非关系型数据库中) 缓存与内存的区别: 通常把数据放到内存 ...
- Azure 中部署Gitlab的方法
一.Azure 中创建Gitlab虚拟机(1).登陆Azure:打开Azure 官网,点击右侧上方的登陆Azure门户,输入Azure帐号与密码,点击 登陆 . (2).创建Gitlab虚拟机:登陆A ...
- MySQL高可用架构之Keepalived+主从架构部署
针对目前公司的数据库架构要做统计规划和调整,所以针对不同的业务环境要选择合适的架构就比较重要,同时作为运维人员又要考虑到维护的便捷性(不能做过多架构维护),最终停留在mha+vip/主从+vip/my ...
- Json转Map
http = new HttpClient**();//此处封装一下发请求的类 Map<String, String> map = new HashMap<String, Strin ...
- [翻译] MJParallaxCollectionView
MJParallaxCollectionView https://github.com/mayuur/MJParallaxCollectionView This is a parallax for t ...
- [转发]CPU个数、CPU核心数、CPU线程数
我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级.CPU从早期的单核,发展到现在的双核,多核.CPU除了核心数之外,还有线程数之说,下面文本就来解释一下CPU的核心数与 ...
- TCP/UDP调试器 SocketToolV4.1
TCP/UDP Socket调试工具提供了TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种Socket调试方案.SocketTool V ...
- 把所有的小图标一起做成雪碧图吧 请用gulp-css-spriter.
用gulp-css-spriter很简单. 第一步: 在某个文件夹用shitf+鼠标右键 第二步: npm install gulp-css-spriter https://www.npmjs.com ...
- Mysql中的char与varchar length()与char_length()
在mysql中,char和varchar都表示字符串类型.但他们存储和检索数据的方式并不相同. 在表结构定义中声明char和varchar类型时,必须指定字符串的长度.也就是该列所能存储多少个字符(不 ...
- monad重新理解
monad是高阶抽象类型: 包含类型构造器: monad抽象的核心是类型封装和类型转化(map). 实现monad的的类型必须实现(基础)类型的封装和类型转化的功能: 在此基础上实现其他的功能(基本依 ...