美文网首页
Linux下的用户和组

Linux下的用户和组

作者: iDevOps | 来源:发表于2019-10-08 17:22 被阅读0次
    用户和组存在的意义
    1. 系统上每一个进程都需要特定的用户运行
    2. 每一个文件都有特定的用户拥有
    3. 访问文件和目录受到用户的限制
    4. 进程能够以何种方式访问某一个文件或目录, 与进程所关联的用户有关
    配置文件
    名称 路径 描述
    用户配置文件 /etc/passwd 记录每个用户的基本属性,每一行对应一个用户,所有用户可读
    组配置文件 /etc/group 存放组信息,组名不能重复
    用户密码信息 /etc/shadow 为了安全,只有root用户拥有读权限
    1. 基本组, 用户默认基本组, 只能属于一个基本组, 优先使用基本组
    2. 附加组, 基本组不能满足授权要求, 创建附加组, 用户可以属于多个附加组
    3. 私有组, 创建用户如果没有创建基本组, 系统会创建和用户同名的组
    groupadd gname
    参数:
    -g 指定gid
    -r 创建系统组
    
    groupdel gname
    
    # 修改组名
    groupmod -n newname oldname
    # 修改组ID
    groupmod -g 1001 gname
    
    cat /etc/group
    
    # 组名:密码占位符(密码存在/etc/gshadow):组id:组成员(只显示附加成员, 基本成员不显示) 
    root:x:0: 
    bin:x:1:
    daemon:x:2:
    ...
    
    用户
    • uid分类
    0       :  超级管理员
    1-200   :  系统用户, 由系统分配给系统进程使用
    201-999 :  系统用户, 用来运行服务账号, 不需要登陆系统(动态分配)
    1000+   :  常规用户
    

    注: Centos7之前, uid的1-499分配给系统用户, 500+则用于普通用户

    useradd username
    
    -u 指定用户的uid, 不能与现有id冲突
    -g 指定用户的默认基本组
    -G 指定用户的附加组, 用逗号隔开多个附加组
    -d 指定用户家目录
    -c 指定用户注释信息
    -M 不创建家目录
    -s 指定用户默认shell, 将shell设置成 /sbin/nologin 就可以禁止用户登录。
    -r 创建系统账户, 没有家目录
    
    userdel uname
    userdel -r uname # -r同时删除根目录
    
    usermod
    -u 修改用户的uid
    -g 修改用户所属的基本组gid
    -G 修改用户附加组, 使用逗号隔开多个附加组, 覆盖原有的
    -a 追加更多附加组, 必须和-G一块使用, -aG 追加附加组
    -md 家目录迁移, 必须和-d一起使用, 移动用户的家目录到新目录
    -d 指定用户的家目录新位置
    -c 修改用户的注释信息
    -s 更改用户使用的shell
    -l 更改用户登录名
    -L 锁定用户
    -U 解锁用户
    
    # 所有用户
    cat /etc/passwd
    
    # 用户名:密码占位符:
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    ...
    
    # 当前登陆的用户信息
    [root@bogon ~]# id
    uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    [root@bogon ~]# id root
    uid=0(root) gid=0(root) 组=0(root)
    [root@bogon ~]# who
    root     tty1         2019-08-31 15:47
    root     pts/0        2019-08-31 15:48 (192.168.5.1)
    [root@bogon ~]# whoami
    root
    [root@bogon ~]# w
     18:11:32 up  2:25,  2 users,  load average: 0.03, 0.03, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      15:47    2:23m  0.29s  0.29s -bash
    root     pts/0    192.168.5.1      15:48    4.00s  0.18s  0.04s w
    
    • 密码设置
    1. 创建账户后, 默认是没有设置密码, 所以无法登陆
    2. 使用passwd设置好密码后才可以登陆系统
    3. 普通用户自己修改自己的密码, root可以修改所有人的密码
    passwd uname
    
    # 生成随机字符串
    # 系统内置
    [root@bogon ~]# echo @RANDOM|md5sum|cut -c 1-10
    f6287a7eb8
    # mkpasswd密码生成工具
    -l  密码长度, 默认7位
    -d  数字
    -c  小写字母
    -C  大写字母
    yum install -y expect
    mkpasswd -l 10 -d 5 -c 3 -C 1
    
    • 切换用户
    su - uname
    1. 不加-, 切换到root用户, 当前目录没有变化
    2. 加-, 切换到root用户, 当前目录为root账户的家目录
    3. root切换到普通用户, 加-, 不需要输入密码
    
    • sudo提升权限
    1. 默认只能root用户使用, 普通用户使用需要root预先设定好
    2. 需要输入密码, 输入的是用户的密码而不是root的密码
    3. Centos提权, usermod -G wheel username
    
    配置文件

    profile: 设定环境变量, 登陆前运行的脚本和命令
    bashrc: 设定本地变量, 定义命令别名

    • 个人配置文件
    ~/.bash_profile, ~/.bashrc
    
    • 全局配置文件
    /etc/profile, /etc/profile.d/*.sh, /etc/bashrc
    
    • 配置文件加载顺序
    登陆shell /etc/profile, /etc/profile.d/*.sh, ~/.bash_profile, ~/.bashrc, /etc/bashrc
    非登陆shell ~/.bashrc, /etc/bashrc, /etc/profile.d/*sh
    注: 全局和个人配置冲突, 以个人配置为准
    

    相关文章

      网友评论

          本文标题:Linux下的用户和组

          本文链接:https://www.haomeiwen.com/subject/vnizectx.html