zoukankan      html  css  js  c++  java
  • 用户管理

    用户管理

    欢迎来到 来到大浪涛天的博客

    1. 资源分派:

    • Authentication:认证
    • Authorization:授权
    • Accouting:审计
    • Audition
    • token, identity(username/password)

    2. 用户

    • 管理员:root, 0
    • 普通用户:1-65535
    • 系统用户:1-499, 1-999
      对守护进程获取资源进行权限分配;
    • 登录用户:500+, 1000+
    • 交互式登录;

    3. Linux组:Groupname/GID

    • 管理员组:root, 0
    • 普通组:
    1. 系统组:1-499, 1-999
    2. 普通组:500+, 1000+
    3. Linux组的类别:
      • 用户的基本组(主组):
        组名同用户名,且仅包含一个用户:私有组
      • 用户的附加组(额外组):

    4. 安全上下文

    运行中的程序:进程 (process)

    以进程发起者的身份运行:
    root: cat tom: cat

    进程所能够访问的所有资源的权限取决于进程的发起者的身份;

    5. Linux用户和组相关的配置文件:

    		/etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);
    		/etc/group:组及其属性信息;
    		/etc/shadow:用户密码及其相关属性;
    		/etc/gshadow:组密码及其相关属性;
    
    	/etc/passwd:
    		name:password:UID:GID:GECOS:directory:shell
    
    		用户名:密码:UID:GID:GECOS:主目录:默认shell
    
    	/etc/group:
    		group_name:password:GID:user_list
    
    		组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)
    
    	/etc/shadow
    		用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段
    • 加密机制:
      加密:明文--> 密文
      解密:密文--> 明文
    				
    				单向加密:提取数据指纹
    					md5: message digest, 128bits
    					sha1: secure hash algorithm, 160bits
    					sha224: 224bits
    					sha256: 256bits
    					sha384: 384bits
    					sha512: 512bits
    
    					雪崩效应:初始的条件的微小改变,将会引起结果的巨大改变;
    					定长输出:
    • 密码的复杂性策略:
    1. 使用数字、大写字母、小写字母及特殊字符中至少3种;
    2. 足够长
    3. 使用随机密码
    4. 定期更换;不要使用最近曾经使用过的密码;

    6. 用户和组相关的管理命令:

    6.1 useradd

    用户创建:useradd
    			useradd [options] LOGIN
    				-u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs
    				-g GID:指明用户所属基本组,可为组名,也可以GID;
    				-c "COMMENT":用户的注释信息;
    				-d /PATH/TO/HOME_DIR: 以指定的路径为家目录;
    				-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中;
    				-G GROUP1[,GROUP2,...[,GROUPN]]]:为用户指明附加组;组必须事先存在;
    				-r: 创建系统用户
    					CentOS 6: ID<500
    					CentOS 7: ID<1000
    默认值设定:/etc/default/useradd文件中
    				useradd -D 
    					-s SHELL

    6.2 groupadd

    组创建:groupadd
    		groupadd [OPTION]... group_name
    
    			-g GID: 指明GID号;[GID_MIN, GID_MAX]
    			-r: 创建系统组;
    				CentOS 6: ID<500
    				CentOS 7: ID<1000

    6.3 id

    查看用户相关的ID信息:id
    		id [OPTION]... [USER]
    			-u: UID
    			-g: GID
    			-G: Groups
    			-n: Name

    6.4 su

    切换用户或以其他用户身份执行命令:su
    		su [options...] [-] [user [args...]]
    
    			切换用户的方式:
    				su UserName:非登录式切换,即不会读取目标用户的配置文件;
    				su - UserName:登录式切换,会读取目标用户的配置文件;完全切换;
    
    				Note:root su至其他用户无须密码;非root用户切换时需要密码;
    
    			换个身份执行命令:
    				su [-] UserName -c 'COMMAND'
    
    			选项:
    				-l:“su -l UserName”相当于“su - UserName”

    6.5 usermod

    用户属性修改:usermod
    		usermod [OPTION] login
    
    			-u UID: 新UID
    			-g GID: 新基本组
    			-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
    			-s SHELL:新的默认SHELL;
    			-c 'COMMENT':新的注释信息;
    			-d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;
    			-l login_name: 新的名字;
    
    			-L: lock指定用户
    			-U: unlock指定用户
    
    			-e YYYY-MM-DD: 指明用户账号过期日期;
    			-f INACTIVE: 设定非活动期限;

    6.6 passwd

    给用户添加密码:passwd
    		passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
    		passwd: 修改自己的密码;
    
    			常用选项:
    				-l: 锁定指定用户
    				-u: 解锁指定用户
    
    				-n mindays: 指定最短使用期限
    				-x maxdays:最大使用期限
    				-w warndays:提前多少天开始警告
    				-i inactivedays:非活动期限;
    
    				--stdin:从标准输入接收用户密码;
    					echo "PASSWORD" | passwd --stdin USERNAME
    
    				Note: /dev/null, bit buckets
    				      /dev/zero, 

    6.7 userdel

    删除用户:userdel
    		userdel [OPTION]... login
    			-r: 删除用户家目录;
    

    6.8 groupmod,groupdel,gpasswd,newgrp

    组属性修改:groupmod
    		groupmod [OPTION]... group
    			-n group_name: 新名字
    			-g GID: 新的GID;
    组删除:groupdel
    		groupdel GROUP
    组密码:gpasswd
    		gpasswd [OPTION] GROUP
    
    			-a user: 将user添加至指定组中;
    			-d user: 删除用户user的以当前组为组名的附加组
    
    			-A user1,user2,...: 设置有管理权限的用户列表
    
    		newgrp命令:临时切换基本组;
    			如果用户本不属于此组,则需要组密码;

    6.9 chage

    修改用户属性:chage
    		chage [OPTION]... LOGIN
    			-d LAST_DAY
    			-E, --expiredate EXPIRE_DATE
    			-I, --inactive INACTIVE
    			-m, --mindays MIN_DAYS
    			-M, --maxdays MAX_DAYS
    			-W, --warndays WARN_DAYS
  • 相关阅读:
    java 动态代理
    android中几个很有用的的api
    android 静态和动态设置 Receiver的 android:enabled值
    一个文件查看你选择 Run as Android applications 都干了啥
    ViewStub 的使用
    Linux 常用命令速查
    android自定义View&&简单布局&&回调方法
    西厢记 随笔
    git 命令使用速查手册( 个人版)
    Arraylist源码分析:
  • 原文地址:https://www.cnblogs.com/chacha51/p/13764900.html
Copyright © 2011-2022 走看看