第一章 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. Collection-Iterator-foreach

    一.Collection(java.util) 1.概述:具有相同性质的一类事物的汇聚的整体,称为集合.任何集合都包含三块内容:对外的接口/接口的实现/对集合运算的算法.         java中使 ...

  2. 织梦ckeditor编辑器 通过修改js去除img标签内的width和height样式

    1. 文件\include\ckeditor\plugins\image\dialogs\image.js 2. 使用工具美化js代码 3. 搜索 setStyle('width', CKEDITOR ...

  3. Ubuntu 12.04源

    deb http://ubuntu.uestc.edu.cn/ubuntu/ precise main restricted universe multiverse deb http://ubuntu ...

  4. Easyui validatebox后台服务端验证

    Easyui validatebox的验证提示十分好用,可是在实际项目的运用中,经常会遇到需要服务器验证后并返回验证结果信息,比如验证用户名.手机号.邮箱是否已存在.于是就想着怎么拓展Easyui的验 ...

  5. SQL 字符串函数

    http://www.w3cschool.cn/sql/sql-string-functions.html SQL 字符串函数 序号 Name Description 备注 1 ASCII() 返回最 ...

  6. nodeis 避免回调引起的栈溢出 Maximum call stack size exceeded

    //如果这样写,会发生栈溢出 var i = 1; function isEven() {      console.log(i++); // return isEven();        retu ...

  7. 火狐浏览器不支持location.reload()(以改变页面大小时重新刷新页面为例)

    背景:当页面大小改变时需要重新刷新页面,以适应相应的尺寸 解决方法: var url = window.location.href; var parm = parseInt(Math.random() ...

  8. Android系统Binder机制学习总结

    一.Binder机制概述 在Android开发中,很多时候我们需要用到进程间通信,所谓进程间通信,实现进程间通信的机制有很多种,比如说socket.pipe等,Android中进程间通信的方式主要有三 ...

  9. 101个MySQL的调节和优化技巧

    MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是101条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些思 ...

  10. UVA 1609 Foul Play 不公平竞赛 (构(luan)造(gao)+递归)

    题意:有n支队伍(n是2的整数幂,2<=n<=4),打淘汰赛,胜者进入下一轮,其中1号队伍能打败至少一半的队伍,对于它不能打败的队伍l,一定存在一支它能够打败的队伍w,使得w能直接打败l, ...