美文网首页LinuxLinux学习之路我用 Linux
Linux学习_用户身份及权限

Linux学习_用户身份及权限

作者: 皮皮大 | 来源:发表于2019-05-26 23:21 被阅读3次

    Linux 是一个多用户、多任务的操作系统,系统设计之初就是为了满足多个用户同时操作的需求。用户是Linux系统工作中一个重要的环节,用户管理主要是包括用户和组的管理,本文主要包括:

    • 用户身份和权限
    • 组管理
    • 权限及修改

    用户身份

    • 管理员的UID为0:系统的管理员用户,一般情况是root。
    • 系统用户UID为1-999:Linux系统中默认服务程序会有独立的系统用户负责运行。
    • 普通用户UID只能从1000开始:由管理员创建的用于日常工作的用户。
    • 为了方便管理属于同一组的用户,Linux系统中引入用户组的概念,通过GID将多个用户加到同一用户组中。
    • 创建每个用户时,自动为其分配一个与其同名的基本用户组,而且这个基本用户只有该用户一个人。
    • 若用户被分配到另一个组,则“另一个组”称为扩展用户组
    • 一个用户只属于一个基本用户组,但可以属于多个扩展用户组

    useradd命令

    • 创建新的用户,默认的用户家目录会被存放在/home目录中。

    • 默认的shell解释是/bin/bash,同时创建同名的基本用户组。

    参数 作用
    d 指定用户的家目录
    u 指定用户默认的UID
    g 指定一个初始的用户基本组
    s 指定用户默认的bash解释器
    G 指定一个或者多个扩展用户组

    groupadd命令

    • groupadd命令用于创建用户组
    • 将几个用户加入到同一个组里面,针对同一类用户统一安排权限
    $ groupadd ronny    # 添加ronny组
    

    usermod命令

    • usermod命令用于改变用户的属性
    • 用户的信息保存在/etc/passwd文件中,可以在文件中直接修改用户参数的相关信息
    • 命令的参数
    参数 作用
    c 填写用户组的备注信息
    g 变更所属用户组
    G 变更扩展用户组
    U 解锁用户,允许其登录系统
    s 变更默认终端
    u 修改用户的UID
    root@peter:~# id ubuntu   # 查看用户信息
    uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),999(docker)
    
    root@peter:~# usermod -G root ubuntu
    root@peter:~# id ubuntu
    uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),0(root)
    

    passwd命令

    • passwd命令用于修改用户密码、过期时间、认证信息等

    • 普通用户只能使用passwd命令来修改自身的系统密码 sudo passwd root

    • root 账户有权限修改其他用户的密码

    参数 作用
    l 锁定用户,禁止其登录
    u 接触用户,允许登录
    --stdin 允许通过标准输入修改用户密码,echo "12345"|passwd --stdin username
    e 强制用户在下次登录时修改密码
    S 显示用户密码是否被锁定,及密码采用的加密算法名称

    passwd文件

    /etc/passwd 文件用于存放用户的信息,由6个分号组成的7个信息

    1. 用户名
    2. 密码
    3. UID 用户标识
    4. GID 组标识符
    5. 用户全名或者本地账号
    6. 家目录
    7. 登录使用的shell,默认是bash
    root@peter:~# cat -n /etc/passwd|grep ubuntu   # 显示ubuntu用户
        41  ubuntu:x:1000:1000:ubuntu,,,:/home/ubuntu:/bin/bash
    

    userdel命令

    命令用于删除用户,在执行操作的时候,该用户的家目录默认被保存,参数-r可以强制删除

    参数 作用
    -f 强制删除用户
    -r 同时删除用户及用户家目录

    查看用户信息

    序号 命令 作用
    01 id 用户名 查看用户的UID和GID信息
    02 who 查看当前所有登录的用户列表
    03 whoami 查看当前登录用户的账户名
    root@peter:~# who
    ubuntu   :0           2019-05-26 19:54 (:0)   # 当前只有ubuntu用户登录
    root@peter:~# whoami
    root
    

    切换用户

    • su - 用户名:切换用户,并且切换目录
    • su :直接切换到root账户,不建议,不安全
    • exit :退出当前用户

    权限

    Linux中一切皆是文件。每个文件的类型不同,Linux采用不同的符号加以区分。

    • -普通文件
    • d 目录文件
    • l 链接文件
    • b 块设备文件
    • c 字符设备文件
    • p 管道文件

    • Linux系统中,每个文件都有所属的所有者和所有组
    • 规定了文件的所有者、所有组以及其他人对文件的读/写/执行的权限,它们对文件/目录的权限包括:
    1. 可读:能够读取文件的实际内容
    2. 可写:表示对文件进行编辑、新增、修改、删除等操作
    3. 可执行:能够执行一个脚本程序
    序号 权限 英文 缩写 数字代号
    01 read r 4
    02 write w 2
    03 执行 excute x 1
    • ls -l命令详解
      Linux学习_用户身份及权限

    修改权限

    序号 命令 作用
    01 chown 修改拥有者
    02 chgrp 修改组
    03 chmod 修改权限
    • 命令格式
    # chown 用户名 文件名|目录名
    # chgrp -R 组名 文件名|目录名
    # chmod -R 755 文件名|目录名
    
    • chmod 命令在设置权限时,可以直接使用三个数字对应 拥有者/组/其他用户 的权限。
    • 简单示例:

    755 ---->rwxr-xr-x

    643 ---->rw-r---wx

    136 ---->--x-wxrw-

    总结:每3位一组,根据二进制进行计算

    相关文章

      网友评论

        本文标题:Linux学习_用户身份及权限

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