第一章 linux帐号管理与acl权限控制   
不同的用户拥有不同的权限    可以通过user/group的特殊权限设定,来规范不同的群组开发
一 linux帐号与群组
A 使用者的识别码:
UID和GID   每个用户都拥有这两个属性  一个是人属性,另一个是群组属性
/etc/passwd  文件中记录个人属性
/etc/group中记录群组属性
例子:id  dazhenzhong中的id命令可以查看某用户的id信息
用户登陆的时候  系统流程
1.读取/etc/passwd   查看用户名是否正确   如果正确则将uid和gid都读出来   并且读取该用户家目录与shell的环境设定
2.核对密码表,进入/etc/shadow找出对应的帐号 uid   然后核对输入的密码是否正确  md5函数
3.如果正确   就进入shell控管的阶段
passwd  文件    分隔符为:
帐号名称
密码(设置为x   原因为真正的密码在etc/shadow里面)   
UID 用户id号码 0为管理员    1-999为系统保留的ID   其中1-200有发行版自己建立的系统帐号   201-999为如果系统有帐号需求时,可以使用的UID    通常这些帐号是不可以登陆的  所以才会有   /sbin/nologin这个特殊的shell的文件的存在
1000-(2^32-1)为普通个人用户使用的id
4.GID /etc/group    群组
5.用户信息说明
6.家目录
7.shell    ./bashrc***
B /etc/shadow  文件结构
分隔符  同样为 :
1.帐号名称
2.密码 真正的密码   早期为des   md5   当前为sha   长度更长  即相对更加安全
3.最后变更密码的时间
     4.密码不可被修改的天数
5.密码需要重新变更的天数
6.密码需要修改的期限前的警告天数
7.密码过期后的帐号宽限时间  密码失效日
8.帐号失效日期
9.保留
普通用户密码忘记的解决办法  passwd即可  root用户下操作
如果是root密码忘记  则需要开机进入单人模式   修改etc/shadow文件    也可以用livecd开机后mount根目录去修改etc/shadow文件。将里面的root的密码晴空   再重新不用密码登陆   
确认密码加密的算法:authconfig -test | grep hashing
C 群组   groups   newgrp
 
/etc/group
1.群组名称
2.群组密码
3.GID
4.此群组支持的帐号名称
有效群组 effective group  与初始群组  initial group
1.groups   命令列出当前用户的群组
2.第一个出现的就是有效群组   新创建的文件归有效群组的权限
3.newgrp  有效群组的切换
想要切换的群组  必须是已经支持的群组   命令为:newgrp 群组名
切换到新的shell环境下执行  
4.加入群组的方法
a  root   通过usermod命令加入
b 群组管理员  而非root    通过gpasswd将用户加入到群组当中   
/etc/gshadow   群组管理员      
 
二 帐号管理
A.新增和删除用户
useradd  /passwd   即如帐号  建立uid gid  家目录等   
/shadow 将密码参数填入   
/group 加入与帐号名称相同的群组名称
/home 建立一个同名目录  做家目录  权限为700
useradd  -D 来查看预设值     
文件为/etc/default/useradd    群组分为私有群组和公共群组两类   前者group=100  家目录权限值设定为700 只有自己可以进入自己的家目录 代表发行版有rhel   fedora centos等      公共群组   将group=100这个设定值  作为新建帐号的初始群组   ,因此每个帐号都属于users这个群组   代表发行版有suse等
除了基本的帐号设定   UID/GID还有密码参数设定文件   /etc/login.defs   和etc/skel/*
passwd 通常会使用pam模组来检验密码     修改密码
change   查看密码详细的参数   
usermod 对用户信息进行修改
userdel 删除用户   涉及到的文件
/etc/passwd    /etc/shadow
/etc/group     /etc/gshadow
/home/username     /var/spool/mail/username
-r    连同家目录一起删除
如果想暂时停止某用户的使用  可以将/etc/shadow  第8位设置为0就可以了
如果想要将系统内某用户的所有资料删除    在userdel -r username  之前   先运行find / -user username  查找出整个系统内属于username的文件  再删除
id      普通用户的账户信息修改命令    查询某人    修改自己   
chsh change shell的简写   可以修改/etc/passwd此系统文件   SUID功能
新增与删除群组
groupadd
groupmod
groupdel
gpasswd   群组管理员使用的命令
ACL
权限细化       unix-like作业系统额外项目
查询     dmesg | grep -i acl
设定
getfacl   取得某个文件或者目录的acl设定项目
setfacl 设定某个目录或文件的acl规范
用户切换
使用一般帐号:用较低权限启动系统服务:软件本身的限制
su    切换到root   需要root的密码   su -  为直接切换到root
注意login-shell   变量改变    和non-login shell   变量不变  两个设定文件    
切换身份的时候   尽量使用login shell的方式    
所以   如果希望完整的切换用户及其环境需要使用
su - username   或者 su -l username    才会连同PATH/USER/MAIL等变量都转换成新使用者的环境
如果只是向要执行一次root的指令  可以利用   su --c  指令串   的方式来处理
使用root切换成为任何用户的时候   并不需要输入新用户的密码
sudo 执行root的指令串     需要输入用户自己的密码   所以更加安全
env      显示shell环境变量

第四部分 linux使用者管理的更多相关文章

  1. Linux使用者管理(1)---用户账号

    linux很重要的应用就是作为服务器的操作系统.服务器的作用是给多用户提供各种“服务”(可能是读服务器上的文件,或者是利用服务器进行数值计算)那么如果多用户共同拥有一台服务器,就需要对服务器上的用户进 ...

  2. linux 使用者管理

    1.用户标识符 UID  用户ID GID  用户组ID 2./etc/passwd 文件结构 id范围:0系统管理员|1~499 (系统账号)|500~65535 可登录账号

  3. [Linux]第四部分-Linux用户管理

    登陆过程:1.从etc/passwd中查找账号,没有则退出,然后在etc/shadow中读出uid与密码表passwd中内容格式 用户名:密码:UID:GID:用户信息说明:家目录:用户所用Shell ...

  4. 【原创】(十四)Linux内存管理之page fault处理

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  5. Linux使用者管理(2)---账号管理

    用户添加 新增用户 sudo useradd -m username 这里必须使用sudo 因为需要对/etc/shadow进行读写,在ubuntu环境下,必须使用-m设置,否则不会创建主文件夹. 在 ...

  6. Linux(3)- 用户管理、文件与目录权限、常用命令、Linux软件包管理

    一.用户管理 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源. 普通用户 ...

  7. 笔记:Linux用户管理(补充)、权限管理、内存管理、网络管理、渗透常用命令

    一.用户管理(补充) 添加用户:useradd [选项] 用户名 useradd -u 5000 -g demogroup -G root -d /home/demo -s /bin/bash dem ...

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

    1. Linux 的账号与群组 1.1 使用者标识符: UID 与 GID 1.2 使用者账号:/etc/passwd 文件结构, /etc/shadow 文件结构 1.3 关于群组: /etc/gr ...

  9. Linux内存描述之内存页面page–Linux内存管理(四)

    服务器体系与共享存储器架构 日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDriver ...

随机推荐

  1. POJ 3252 Round Numbers (区间DP,基础)

    题意: 统计区间[L,R]有多少个数,其二进制表示法中的0的个数不少于1的个数?(不允许前缀0) 思路: 状态表示为 [当前第几位][总位数][1的个数],最后判断一下1的个数是否满足条件,要注意前导 ...

  2. TortoiseGit和git bash冲突解决

    软件版本 TortoiseGit版本: TortoiseGit 2.5.0.0 (C:\Program Files\TortoiseGit\bin) git version 2.8.1.windows ...

  3. nginx之HTTP模块配置

     listen   指令只能使用与server字段里 如果本地调用可以监听本地Unix套接字文件,性能更加,因为不用走内核网络协议栈 listen unix:/var/run/nginx.sock; ...

  4. 《大规模 web服务开发》笔记

    大规模服务:     可扩展,负载均衡,保证冗余,低运维成本,开发人数和开发方法的变化 数据处理:     磁盘—>内存—>缓存—>CPU 障碍:     持续增长的服务,”无法在内 ...

  5. CentOS安装RabbitMQ步骤

    1.安装gcc yum install gcc 安装 ncurses-devel yum install ncurses-devel 2.安装erlang 下载安装包 http://www.erlan ...

  6. 绘制方式和OpenGL枚举对应关系

    绘制方式和OpenGL枚举对应关系 图元类型 OpenGL枚举量 点 GL_POINTS 线 GL_LINES 条带线 GL_LINE_STRIP 循环线 GL_LINE_LOOP 独立三角形 GL_ ...

  7. VMware vSphere6.0 服务器虚拟化部署安装图解

    一 VMware vSphere部署的前期规划要点 1 vSphere的优点 (略) 2 如何利用现在的设备架构虚拟化环境 在虚拟化过程中,用户大多会考虑目前现有的服务器.存储.交换机等基础设备是否可 ...

  8. superset docker 部署

    公众号原文有更多效果图哦 一.使用自己的数据库 1. 拉取项目 // 创建目录用于存放项目 mkdir -p /mnt/superset cd /mnt/superset git clone http ...

  9. NOIP模拟赛 czy的后宫3

    [题目描述] 上次czy在机房妥善安排了他的后宫之后,他发现可以将他的妹子分为c种,他经常会考虑这样一个问题:在[l,r]的妹子中间,能挑选出多少不同类型的妹子呢? 注意:由于czy非常丧尸,所以他要 ...

  10. 【Java_Spring】RestTemplate发HTTP请求详解

    Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解) Spring RestTemplate提交时设置http header请求头 Spring之RestTempla ...