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

Linux入门基础 #6:Linux用户基础

---------------------------------------------------------------------------------


用户,组

当我们使用Linux时,需要以一个用户的身份运行,用户限制使用者或进程可以使用,或不可使用哪些资源。

,用来方便组织管理用户

  • 每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名
  • 每个用户属于一个主组,属于一个或多个附属组
  • 每个组拥有一个GroupID
  • 每个进程以一个用户身份运行,并受该用户可访问的资源限制
  • 每个可登录用户拥有一个指定的shell

用户

用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。

用户分为以下三种:
  • root用户 (ID为0的用户为root用户)
  • 系统用户(1~499)
  • 普通用户(500以上)
系统中的文件都有一个所属于用户及所属组
使用id命令可以显示当前用户的信息
使用passwd命令你个可以修改当前用户密码


相关文件
/etc/passwd    - 保存用户信息
/etc/shadow    - 保存用户密码(加密的)
/etc/group       - 保存组信息



查看登录的用户


  • 命令whoami显示当前用户
  • 命令who显示有哪些用户已经登录系统
  • 命令w显示有哪些用户已经登录并且在干什么

pts/0:图形界面
Linux很多时候,命令越长,显示出来的越少,命令越少,显示出来的越多


创建一个用户


命令useradd创建一个新用户
$ useradd  zsd    新建一个名为zsd的用户
这个命令会执行以下操作
1. 在/etc/passwd中添加用户信息
2. 如果使用passwd命令为指定用户创建密码,则将密码加密保存在/etc/shadow文件中
3. 为用户创建一个新的家目录 /home/zsd
4. 将/etc/skel 中的文件复制到用户家目录中(这个文件是新建用户的一些初始文件,在这个文件中新建一些文件,例如如用户文档等,以后只要创建新用户,都会自动有这些文件)
5. 建立一个与用户用户名相同的组,新建用户默认属于这个同名组

命令useradd支持以下参数
-d  家目录
-s  登录shell
-u  userid
-g  主组
-G 附属组
也可以通过直接修改/etc/passwd的方式实现,但是不建议




修改用户信息

usermod   参数  username

命令usermod支持以下参数
-l   新用户名。 $ usermod -l  new_name  test_user  把test_user改名为new_name
(修改新用户名后,/home目录下的用户文件名不会改变,需要手动修改,否则用户登录找不到家目录)
-u  新userid。  $ usermod -u 1002  test_user  把test_user的id改为1002
-d  用户家目录位置
-g  用户所属主组
-G  用户所属附属组
-L   锁定用户使其不能登录
-U  解除锁定



删除用户

命令userdel 用以删除指定用户

$ userdel  test_user       (删除用户,但保留用户的家目录) 
$ userdel  -r  test_user  (删除用户,并且删除该用户家目录)





几乎所有操作系统都有组的概念,通过组,我们可以更加方便地归类和管理用户。一般来讲,我们使用部门,职能或地理区域的分类方式来创建使用组。

  • 每个组有一个组ID
  • 组信息保存在 /etc/group 
  • 每个用户拥有一个主组,同时还可以拥有最多31个附属组



创建,修改,删除组


命令groupadd用以创建组
   $ groupadd  lab104


命令groupmod用以修改组信息
   $ groupmod  -n  newname  oldname   修改组名
   $ groupmod  -g  newGid  oldGid          修改组ID

命令groupdel用以删除组
   $  groupdel   lab104

    

相关文章:

  • Linux入门基础 #7:Linux权限机制
  • OI算法汇总[大纲]
  • [C++]高精度 bign (重载运算符版本)
  • [高精度][codevs 1145]Hanoi双塔问题
  • C/C++头文件一览
  • [MZ test.16]P1 评测
  • [MZ test.16]P2 math 乘方e
  • codevs#1287[题解] Key:矩阵乘法
  • codevs#3147[题解]矩阵乘法2
  • MZ test17# NOIP模拟题 # T1 第1题 时间计算(heaven.pas/cpp)[key.模拟]
  • MZ test17# NOIP模拟题 # T2 第2题 最优时间表(sche.pas/cpp) [key.DP]
  • MZ test17# NOIP模拟题 #T3 第3 题 登山机器人(robot.pas/cpp)
  • MZ test17# NOIP模拟题 # T4 第4题 路线统计(route.cpp/pas)[key:矩阵]
  • [线性代数] 矩阵#1
  • codevs#1116 [题解]四色问题 [key.搜索 dfs]
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • IDEA 插件开发入门教程
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript中的对象个人分享
  • Js基础知识(一) - 变量
  • Protobuf3语言指南
  • tensorflow学习笔记3——MNIST应用篇
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 将 Measurements 和 Units 应用到物理学
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 突破自己的技术思维
  • 线性表及其算法(java实现)
  • 智能网联汽车信息安全
  • 追踪解析 FutureTask 源码
  • MPAndroidChart 教程:Y轴 YAxis
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #1015 : KMP算法
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (2020)Java后端开发----(面试题和笔试题)
  • (笔试题)合法字符串
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计大学生兼职系统
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (七)Knockout 创建自定义绑定
  • (生成器)yield与(迭代器)generator
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)Sublime Text3配置Lua运行环境
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (轉)JSON.stringify 语法实例讲解
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net 反编译_.net反编译的相关问题
  • .Net程序帮助文档制作
  • .NET设计模式(11):组合模式(Composite Pattern)
  • @Transactional 详解