当前位置: 首页 > news >正文

LINUX-用户及用户组管理

概述:

Linux是一个多用户、多任务的服务器操作系统,多用户多任务指可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响。Linux用户是根据角色定义的,具体分为三种角色:

超级用户:拥有对系统的最高管理权限,默认是root用户。

普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限,例如上www用户、ftp用户等。

虚拟用户:也叫“伪”用户,这类用户不能登录系统,主要是方便系统管理,满足相应的系统进程对文件属主的要求。

用户和用户组的对应关系有:一对一、一对多、多对一和多对多。

Linux系统中每一个用户都至少属于一个用户组,管理员可以通过对用户组的管理来设置用户对系统的访问权限,从而在一定程度上保证了对系统访问的安全性。

一.用户及用户组管理

1. 文件/etc/passwd和/etc/shadow

是linux系统中最重要的文件之一,使用户能够正常登录linux系统的。

“|” 管道符,作用是把前面的命令的输出再输入给后面的命令。

‘/etc/passwd’ 由 ‘:’ 分割成7个字段,每个字段的具体含义是:

(1) root所在的第一列为用户名,代表用户账号的字符串

(2) x所在的第二列代表存放的该账号的口令,实际存放在/etc/shadow中,用"x"代替

(3) 第三个字段代表用户标识号,即uid,系统识别用户身份的方式,0为root

(4) 第四个字段用户组标识号,即gid,其对应/etc/group 中的一条记录

(5) 第五个字段用于注释说明,无特殊含义

(6) 第六个字段宿主目录,表示用户所处的目录位置,如普通用户的主目录为/home/username,位置可修改

(7) 第七个字段shell,用户登录后所启动的进程,用于将用户下达的指令传给内核; Linux的shell有很多种,如 sh, csh, ksh, tcsh, bash等


'/etc/shadow'这个文件,和/etc/passwd类似,用 ‘:’ 分割成9个字段。比如 bin:*:20186:0:99999:7:::

(1) bin表示用户名,和 /etc/passwd中对应

(2) *表示被加密的用户密码

(3) 20186表示上次更改密码的日期,从1970年1月1日开始计算时间,如上次更改密码的日期为2012年1月1日,则这个值就是 ‘365 x (2012-1970) + (2012-1970)/4 + 1 = 15341’

(4) 0表示过多少天才可以更改密码,默认是0,即不限制。

(5) 99999表示密码多少天后到期。即在多少天内必须更改密码,例如这里设置成30,则30天内必须更改一次密码,否则将不能登录系统,默认是99999

(6) 密码到期前的警告期限,若这个值设置成7,则表示当7天后密码过期时,系统就发出警告告诉用户,提醒用户他的密码将在7天后到期。

7)账号失效期限。若设置值为1,则表示:密码到期且用户未在到期前修改密码,并且再经过1天,账号便会失效,即锁定了。

8)账号的生命周期,与第三段一样,是按距离1970年1月1日多少天算的。表示账号在这个日期前可以使用,到期后账号作废。

9)保留,无意义

2.新增用户组

group [-g GID] groupname

不加 “-g” 则按照系统默认的gid创建组,gid与用户一样从500开始。

3.删除用户组 groupdel 

当用户组中包含用户时,需要先删除用户才能删除用户组

4.增加用户 useradd

        useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]

‘-u’ 自定义UID

‘-g’ 添加到某用户组中,后面可以跟组id, 也可以跟组名

‘-d’ 自定义用户的主目录

‘-M’ 不建立主目录

‘-s’ 自定义shell

‘useradd’ 不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组

‘-M’ 选项不建立用户主目录,但在 /etc/passwd文件中仍然有这个字段。

5.删除用户 userdel

userdel [-r] username        "-r" 在删除用户时连带用户的主目录一起删除。

6.创建/修改用户密码  passwd

“passwd” 后面不加username则修改当前用户的密码。root账户后面跟普通用户,可修改指定用户的密码。

只有root才可以修改其他用户的密码,普通用户只能修改自己的密码。

mkpasswd命令可以随机生成符串作为一个密码,需要安装 “expect”

7.切换用户 su

http://www.lryc.cn/news/613791.html

相关文章:

  • 【嵌入式】记录一次网络转串口透传性能提升的过程
  • 【Linux系统】万字解析,文件IO
  • Android 系统的安全 和 三星安全的区别
  • 华为USG防火墙双机,但ISP只给了1个IP, 怎么办?
  • 5. 缓存-Redis
  • 【Android笔记】Android 自定义 TextView 实现垂直渐变字体颜色(支持 XML 配置)
  • 考研复习-计算机组成原理-第四章-指令系统
  • wstool和git submodule优劣势对比
  • WinForm 对话框的 Show 与 ShowDialog:阻塞与非阻塞的抉择
  • qt中实现QListWidget列表
  • GUI:QT简介
  • C# GUI程序中的异步操作:解决界面卡顿的关键技术
  • 频谱图学习笔记
  • HTTP 请求返回状态码和具体含义?200、400、403、404、502、503、504等
  • Docker搭建Jenkins实现自动部署:快速高效的持续集成之道!
  • 五十五、【Linux系统nginx服务】nginx安装、用户认证、https实现
  • 芯伯乐XBL6019 60V/5A DC-DC升压芯片的优质选择
  • 查看泰山派 ov5695研究(1)
  • 【重磅发布】flutter_chen_keyboard -专注于键盘相关功能
  • MFC扩展库BCGControlBar Pro v36.2:MSAA和CodedUI测试升级
  • Kotlin 数据容器 - MutableList(MutableList 概述、MutableList 增删改查、MutableList 遍历元素)
  • 【Qt开发】常用控件(二) -> enabled
  • 日本站群服务器与普通日本服务器对比
  • 服务器硬件电路设计之I2C问答(一):为什么I2C总线要加上拉电阻?
  • 汉明码:从原理到实现的深度解析
  • UniApp Vue3 TypeScript项目中使用xgplayer播放m3u8视频的显示问题
  • Emacs 折腾日记(二十九)—— 打造C++ IDE
  • 机柜内部除了服务器还有哪些组件?
  • 微软发布Project Ire项目:可自主检测恶意软件的人工智能系统
  • 微软公布Windows 2030,要彻底淘汰鼠标、键盘