Linux 登录大致过程:1. 先寻找 /etc/passwd 里面是否有你输入的账号,如果没有跳出;如果有的话将该账号对应的UID 和 GID(在 /etc/group 中)读出来,另外,该账号的主文件夹与 shell 设置也一并读出。2. 再来就是核对密码了。这时 Linux 会进入 /etc/shadow 里面找出对应的账号和 UID ,然后核对一下你刚刚输入的密码是否相符3. 如果一切 OK,就进入 shell 控管阶段了

/etc/passwd 文件结构

每一行代表一个账号,里面有很多账号本来就是系统正常运行所必须的系统账号,
如 bin,daemon,adm,nobody等。不能随便删除。一共 7 个字段:
1.账号名称 : 就是账号,用来对应 UID 的 。 root 的 UID 对应0(第3字段)
2.密码  x
3.UID : 用户标示
id 范围               特性
0(系统管理员)     当 UID 为0是系统账号,所以系统管理员不止root
1~499(系统账号)   保留给系统使用的 ID,其实除了0以外,其他UID权限与特性并没有不一样。
由于系统上启动的服务希望以最小的权限去运行,因此不希望使用root身份执行这些服务,
所以我们就要提供这些运行中程序的所有者账号才行。这些系统账号通常是不可登录的,所有才
有 /sbin/nologin 这个特殊的 shell 存在
1~99 : 由 distributions 自行创建的系统账号
100~499 : 若用户有系统账号需求,可使用的账号 UID500~65535(可登陆账号) : 一般给用户用的。4.GID : 这个与 /etc/group 有关。
5.用户信息说明列
6.主文件夹 : 如果想要该账号的主文件夹移动到其他硬盘去,修改这个。
7. Shell : 用户登录系统后会取得一个 shell 来与系统内核通信。默认的shell是否为bash ,
就是这个字段指定。/sbin/nologin 这个shell可以让账号无法取得 shell 环境的登录操作。

/etc/shadown 文件结构

一共9个字段:
1.账号名称:必须与 /etc/passwd 相同
2.密码 : 编码后的密码
3.最近更改密码日期:从1970-01-01开始
4.密码不可被更动的天数:最近一次修改后需要经过几天才能修改。0表示都可以修改。
5.密码需要重新修改的天数:指定在最近一次更改密码后在多少天内需要再次更改密码
6.密码需要更改期限前的警告天数(与第5个字段比)
7.密码过期后的账号宽限时间(密码失效日)
8.密码失效日期
9.保留

/etc/group 文件结构

1.用户组名称
2.用户组密码 : 通常不需要
3. GID :/etc/passwd 第四个字段对应的 GID
4.此用户组支持的账号名称:某个账号想加入此用户组,将该账号填入这个字段即可。

有效用户组 和 初始用户组

每个用户在他的 /etc/passwd 第四列中有 GID ,这个是他的初始用户组。
即用户登录时,就立即拥有这个组的权限。

groups : 有效与支持用户组查看

newgrp : 有效用户组的切换


/etc/gshadow

1.用户组名
2.密码列 : 如果是 ! ,表示不具有用户组管理员
3.用户组管理员账号
4.该用户组的所属账号

账号管理

添加账号:
useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM] [-c 说明栏] [-d 主文件夹绝对路径] [-s  shell] 用户账号名

useradd 参考文件:

由 /etc/default/useradd 调用出来

1.GROUP=100 : 新建账号的初始用户组使用GID为100私有用户组机制:一个账号一个用户组共有用户组机制:公用一个用户组2.HOME=/home : 用户主文件夹的基准目录
3.INACTIVE=-1 : 密码过期后是否会失效的设置值,0表示立即失效,-1表示不会失效
4.EXPIRE=账号失效日期
5.SHELL=/bin/bash : 默认使用的 shell 程序名字
6.SKEL=/etc/skel : 用户主文件夹参考基准目录
7.CREATE_MAIL_SPOOL=yes : 创建用户的 mailboxuseradd 这个程序在创建用户时,至少会参考:
/etc/default/useradd
/etc/login.defs
/etc/skel/*

passwd

创建用户后,没密码,/etc/passwd 是 ! 的。passwd [--stdin]  // 所有人均可以修改自己的密码
passwd [-l] [-u] [--stdin] [-S] [-n] [-x] [-w] [-i] 账号 //root 功能

usermod :修改账号

usermod [-cdegGlsuLU] username

userdel : 删除账号

userdel -r username
-r : 连同用户的主文件夹也一起删除

用户功能

finger [-s] username chfn [-foph] [账号名称]  //change fingerchsh [ls]  // change shellid [username]

用户组

groupadd [-g gid] [-r] 用户组名groupmod [-g gid] [-n group_name] 用户组名groupdel [groupname]
gpasswd : 用户管理组员功能
gpasswd groupname

20.Linux 账号管理与 ACL 权限设置相关推荐

  1. Linux 之旅 11:Linux 账号管理与 ACL 权限设置

    Linux 之旅 11:Linux 账号管理与 ACL 权限设置 Linux 的账号与用户组 使用者识别码:UID与GID 关于Linux的账号管理,有两个数字最为重要: UID:(User ID), ...

  2. linux设置账号权限设置,Linux账号管理与ACL权限设置

    1:UID和GID 用户ID:在/etc/passwd中 群组ID:在/etc/group中 2:有效群组与初始群组 初始群组:/etc/passwd文件里面的GID 有效群组: groups #查看 ...

  3. Linux的基本学习(十)——账号管理与ACL权限设置

    前言: 继续学习Linux,账号管理与ACL权限设置 Linux的账号与用户组 用户标识符:UID与GID 虽然我们登陆Linux主机的时候,输入的是我们的账号,但是其实Linux主机并不会直接认识[ ...

  4. 鸟哥的Linux私房菜(基础篇)- 第十四章、Linux 账号管理与 ACL 权限配置

    第十四章.Linux账号管理与 ACL 权限配置 最近升级日期:2009/09/09 要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过,不同的使用者应该要拥有不同的权限才行 ...

  5. 第十四章、Linux 账号管理与 ACL 权限配置

    要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...

  6. 第14章、 Linux 账号管理与 ACL 权限设定

    14.1. Linux 的账号与群组 管理员的工作中,相当重要的一环就是『管理账号』!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理 ...

  7. Note For Linux By Jes(8)-Linux 账号管理与ACL权限控制

    Linux的账号与群组: 使用者标识符:UID与GID 使用者账号:先找寻/etc/passwd里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID (在/etc/grou ...

  8. 第十一章 Linux账户管理与ACL权限设置(下)

    目录 用户身份切换 su (switch user) sudo (super user do) 用户的特殊shell与PAM模块 特殊的shell:/sbin/nologin PAM模块简介 常用模块 ...

  9. linux 账号管理与ACL权限设定

    此文涉及命令:useradd.usermod.userdel.passwd.chage.setfacl.getfacl.su.sudo.fingr.chfn.chsh.id.groupadd.grou ...

  10. Linux 用户管理及用户权限设置

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

最新文章

  1. 登顶CLUE榜单,腾讯云小微与腾讯AI Lab联合团队提出基于知识的中文预训练模型...
  2. 【教程】Python数据可视化技巧
  3. python如何做散点图-【Python】使用scatter()绘制散点图
  4. C#中子线程操作主线程中窗体上控件的方法
  5. finditerable 转list_java – 通过拆分和运行将ListenableFuture转换为Iterable
  6. ExecuteScalar
  7. 从Hadoop到云原生,谈如何消除程序员35岁危机
  8. C#LeetCode刷题之#830-较大分组的位置(Positions of Large Groups)
  9. TP框架Queue队列使用
  10. 计算机课程设计心得体会及总结,课程设计心得体会
  11. 【最新版】贝塔智能挪车v2.5.2+前端-已测试
  12. linux 监控微信通知,Prometheus + Altermanager实现告警微信通知
  13. Java面试题!深度解析跳槽从开始到结束完整流程,吊打面试官
  14. mw325r服务器无响应,水星(MERCURY)路由器MW325R上不了网/连不上网的解决方法
  15. 中职计算机应用专业(大数据方向)建设实践
  16. 机器视觉在服务机器人中的应用
  17. 山中老人 (updating)
  18. 澳洲移民 技术移民_满足COVID-19期间移民对语言访问的需求
  19. ccf论文分级_论文等级如何划分
  20. Rank-consistent Ordinal Regression for Neural Networks

热门文章

  1. 544B. Sea and Islands
  2. Xcode 6 的新增特性
  3. elasticsearch pinyin 拼音分词器
  4. 我所见过的最简短、最灵活的javascript日期转字符串工具函数
  5. 验证码的旋转与放缩代码
  6. [bzoj1969] [Ahoi2005]LANE 航线规划
  7. js分页工具分页功能实现
  8. mysql TIMESTAMP 报错
  9. android UI进阶之android中隐藏的layout 抽屉的运用
  10. [转]ffmpeg库音频解码示例