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

Linux用户和权限之一

作者: 姚远 Oracle ACE
请点击此处查看本文章视频

用户说明

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

Linux用户分总共分为三种,分别如下:

root用户 (ID 0)

系统用户 (ID 1-499)

普通用户 (ID 500以上)

每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名;每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;每个组拥有一个GroupID;每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;每个可登录用户拥有一个指定的Shell环境,/sbin/nologin和/bin/false不能登录。

相关配置文件如下:

/etc/passwd 保存用户信息

/etc/shadow 保存用户密码(以加密形式保存)

/etc/group 保存组信息

/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制

/etc/default/useradd 显示或更改默认的useradd配置文件

用户管理

用户管理(useradd、userdel、passwd、usermod)

useradd

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

用法:useradd 选项 用户名

查询帮助

useradd --help
增加一个用户张三(zhangsan)


$ useradd -D   # 增加用户的默认配置
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

root@yaoyuan ~# useradd zhangsan
root@yaoyuan ~# echo yaoyuan |passwd --stdin zhangsan
Changing password for user zhangsan.
passwd: all authentication tokens updated successfully.
root@yaoyuan ~# id zhangsan
uid=54322(zhangsan) gid=54331(zhangsan) groups=54331(zhangsan)
root@yaoyuan ~# su - zhangsan

passwd

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

passwd 选项 用户名

passwd --help
可使用的选项:

  • -l 锁定口令,即禁用账号。

  • -u 口令解锁。

  • -d 使账号无口令。

  • -e 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

usermod

修改用户配置,-g 是主组,-G是辅助组。

zhangsan@yaoyuan ~$ ll /media/
total 4
drwxrwx---. 1 root vboxsf 4096 Mar 18 16:00 sf_oracle
zhangsan@yaoyuan ~$ ll /media/sf_oracle/
ls: cannot open directory /media/sf_oracle/: Permission denied

root@yaoyuan ~# usermod -a -G  vboxsf zhangsan

zhangsan@yaoyuan ~$ exit
exit
oracle@yaoyuan ~$ su zhangsan
zhangsan@yaoyuan oracle$ ll /media/sf_oracle/

-a是增加,如果没有-a,原来的辅助组都删除了。

增加oracle用户的vboxusers组


# usermod -a -G  vboxusers oracle
# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),982(vboxusers)
[root@databace linux]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54327(asmdba),982(vboxusers)

这种增加辅助组的方法在给用户赋权中很好用,例如oracle用户的组是oinstall,而yaoyuan用户不属于这个组就不能进入/home/oracle目录,但给yaoyuan用户增加一个辅助组就可以了:

$ ll -ld /home/oracle
drwxrwx---. 29 oracle oinstall 4096 Jul  7 11:02 /home/oracle
$ ll /home/oracle
ls: cannot open directory /home/oracle: Permission denied
$ sudo usermod -a -G oinstall yaoyuan

重新登录oracle后就可以了。一个用户最多有31个附属组

userdel

userdel删除用户

组管理

通过命令groupadd、groupdel、groupmod来对组进行管理。

作者介绍:

姚远:Oracle ACE(Oracle和MySQL数据库方向),华为云MVP。拥有包括 Oracle 10g和12c OCM在内的20+数据库相关认证。曾任IBM公司数据库部门经理,现在一家第三方公司任首席数据库专家,服务2万+客户,《MySQL 8.0运维与优化》的作者。

需要全套《Linux系统管理》pdf文档请加姚远老师微信👇

相关文章:

  • 回溯法就是学不会2 —— 括号生成问题
  • ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL演示
  • 信息论学习笔记(二):离散无噪声系统
  • CentOS7启动SSH服务报错
  • 大咖说*计算讲谈社|商用车智能驾驶商业化实践
  • python笔记Ⅶ--函数返回值、作用域与命名空间、递归
  • 03 RocketMQ - Broker 源码分析
  • Java日志系列——规范化日志
  • 00前言说明-Qt自定义控件大全
  • 简历内容整理
  • 金仓数据库KingbaseES客户端编程接口指南-ado.net(7. Kdbnpg支持的类型和类型映射)
  • CTCLoss原理解读
  • 数字孪生|数字孪生装备-概念与内涵
  • 图像相似度对比分析软件,图像相似度算法有哪些
  • 《深入理解JAVA虚拟机(第2版)》—— 学习笔记2
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【技术性】Search知识
  • Apache Spark Streaming 使用实例
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Electron入门介绍
  • Javascript设计模式学习之Observer(观察者)模式
  • JAVA多线程机制解析-volatilesynchronized
  • JS函数式编程 数组部分风格 ES6版
  • Linux CTF 逆向入门
  • Mac转Windows的拯救指南
  • php ci框架整合银盛支付
  • python docx文档转html页面
  • REST架构的思考
  • Spark RDD学习: aggregate函数
  • STAR法则
  • Vue小说阅读器(仿追书神器)
  • 利用DataURL技术在网页上显示图片
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 驱动程序原理
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • MPAndroidChart 教程:Y轴 YAxis
  • 回归生活:清理微信公众号
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (1)bark-ml
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C语言)共用体union的用法举例
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)Controller接口控制器详解(三)
  • (一)Java算法:二分查找
  • (转)关于pipe()的详细解析
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .apk文件,IIS不支持下载解决
  • .net core 依赖注入的基本用发
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET MVC 验证码
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...