• Ubuntu用户权限管理


    1. 用户管理

    ubuntu系统使用用户组和用户来管理用户,与用户管理相关的三个文件:

    • /etc/passwd,用来存放用户信息,每行一条用户信息,每条信息包含7个字段,如:root:x:0:0:root:/root:/bin/bash
      • 用户名
      • 密码,x表示加密,加密后的密码存放在/etc/shadow文件中
      • UID, 用户标识
      • GID,组标识
      • 用户全名或本地账户
      • 用户的home目录
      • 用户登录时使用的shell,ubuntu默认为dash
    • /etc/shadow,用来存放用户密码,每行一条用户信息,每条信息包含9个字段,如:root:*:18375:0:99999:7:::
      • 用户名
      • SHA512加密后的密码,!!或*表示没有密码,不能登录
      • 密码最后一次修改时间,表示19700101后多少天,可用data -d "1970-01-01 18375 days"转换成日期
      • 距上次修改密码后的最小修改时间间隔,0表示随时可以修改
      • 修改后密码的有效期,默认99999天
      • 密码过期前的警告天数,默认7天
      • 密码过期后的宽限时间,过期后还能登录,过了宽限时间则禁止登录
      • 账号失效时间,同字段3,账号失效后无论密码是否过期都无法使用
      • 保留字段,目前未被使用
    • /etc/group,存放用户组信息,每行一条用户组信息,每条信息包含以下4个字段,如:root:x:0:
      • 组名
      • 组密码,x表示加密,加密后的密码存放在/etc/gshadow文件中,组密码主要用来指定组管理员,目前多用sudo命令代替
      • GID,组标识
      • 组中所有用户,如果用户组是该用户的初始组,则该用户不会写入该字段

    常见的用户管理命令如下:

    sudo //su是subsitute user的缩写,表示使用另一用户身份,sudo表示用另一用户身份执行命令,预设身份是root
    useradd username //创建新用户,-m 自动创建home目录,-g 指定用户所在组,不指定则建立一个同名组
    passwd username //设置用户密码
    userdel username //删除用户,-r自动删除home目录
    groupadd groupname //创建新组
    groupdel groupname //删除组
    id username //查看用户UID和GID
    usermod username //修改用户权限,-g 修改用户主组,-G 修改用户附加组,-s 修改登录Shell
    who //查看当前登录的用户列表
    which cmdname //查看命令所在位置,绝大多数可执行文件存放在/bin、/sbin、/usr/bin、/usr/sbin文件夹下
    

    可执行文件存放目录说明:

    目录 说明
    /bin 二进制应用文件存放目录
    /sbin 系统管理员专用的二进制文件存放目录
    /usr/bin 后期用户安装的二进制文件存放目录
    /usr/sbin 后期超级用户安装的二进制应用文件存放目录

    2. 文件权限管理

    ubuntu系统中每个文件都有读(r)、写(w)、可执行(x)三种权限,对应权限数值为4、2、1,拥有者(u)、同组用户(g)、其他用户(o)可对文件拥有不同权限,具体可通过ls -s filenamell filename命令查看文件的具体信息,该信息包含6个字段,如:-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 9 21:07 test

    • 文件类型及权限,包含10个字符
      • 第1个字符表示文件类型
        • b:块设备,是一些提供系统存取数据的接口设备,例如硬盘
        • c:字符设备,是一些串行端口的接口设备,如键盘。b可以随机读取字符,而c只能顺序读取字符
        • d:目录
        • l:链接
        • s:套接字,用于进程间通信
        • p:命名管道FIFO,用于进程间通信
        • -:一般文件,可分为分文本文件和二进制文件
      • 第2-4个字符表示拥有者(u)的权限
      • 第5-7个字符表示同组用户(g)的权限
      • 第8-10个字符表示其他用户(o)的权限
    • 文件的链接数
    • UID
    • GID
    • 文件大小
    • 文件创建日期和时间
    • 文件名

    ubuntu使用chmod和chown两个命令管理文件权限

    • chmod用来修改用户的文件权限,有以下两种用法:

      • 修改(添加+、取消-)特定用户(拥有者u、同组用户g、其他用户o、所有用户a)的特定权限(读r、写w、执行x),如下示例:
        chmod o-w filename //取消其他用户的写权限
        chmod u+wx filename //添加拥有者的写、执行权限
        chmod a+rwx filename //添加所有用户的读、写、执行权限
        
      • 为所有用户同时指定权限,权限由3位数字标识,每位表示u、g、o用户的权限,4、2、1依次表示w、r、x权限,数字可相加表示组合权限,如下示例:
        chmod 777 filename //a都拥有rwx权限
        chmod 600 filename //u拥有rwx权限,go不具有任何权限
        chmod 421 filename //u拥有r权限,g拥有w权限,o拥有x权限
        

      文件夹的rwx权限说明如下:

      • r 读文件夹内的文件信息
      • w 在文件夹内创建、修改文件
      • x 进入文件夹
    • chown用来修改文件的拥有者和组,主要用法如下:

      • chown username[:groupname] filename //修改filname的拥有者为username[用户组为groupname]

    hah

  • 相关阅读:
    如何轻松的从GAC文件夹拷贝dll出来
    UIManager的用法(用于改变界面风格)
    Java休眠睡眠方法
    Thread.currentThread().getContextClassLoader()与Test.class.getClassLoader()的区别
    Openfire编译命令
    Openfire插件开发
    通过Java代码打开浏览器,本地文件目录以及ftp站点
    使用Pack200压缩你的代码
    Java 创建文件与创建文件夹
    Openfire插件制作
  • 原文地址:https://www.cnblogs.com/liangdiaonumberone/p/14253579.html
Copyright © 2020-2023  润新知