linux用户及权限基础

一、 linux用户基础

1. 基础概念

  • 每个用户拥有一个UserID,操作系统实际上使用的是用户id,而非用户名

  • 每一个用户属于一个主组,属于一个或多个附属组

  • 每一个组拥有一个GroupID

  • 每一个进程以一个用户身份运行,并受该用户可访问的资源限制

  • 每一个可登陆用户拥有一个指定的shell

  • 用户id限制在60000以下,分为3种:

    -root用户 ID为0的用户

    -系统用户 ID为1-499 #没有shell,专门为web服务、打印服务等服务进行使用

    -普通用户 ID在500以上

  • 系统中的文件都有一个所属用户及所属组

  • 使用id命令可查看当前用户的信息

  • passwd可修改当前用户密码

  • /etc/passwd -用户信息保存文件

    !! 表示未设置

    mysql : x : 27 : 27 : MySQL Server:/var/lib/mysql:/bin/bash

    用户名 : 用户密码 :userid:groupid: 描述信息 : 家目录 :用户登录shell

    /bin/nologin: 系统用户,没有shell

    /bin/false: 返回假,没有shell

  • /etc/shadow -保存用户密码(加密的)

  • /etc/group -保存组信息

  • whoami -显示当前用户

  • who -显示有哪些用户已登录系统

  • w -显示有哪些用户已登录并且在干什么

2. 创建一个用户:

    useradd wjb

    操作流程:

        1. 在/etc/passwd中添加用户信息

        2. 如果使用passwd创建密码,则将密码加密保存在/etc/shadow中

        3. 为用户建立一个新的家目录 wjb

        4. 将/etc/skel文件夹中的文件复制到用户的家目录中

            如在/etc/skel中新建一个通用配置文件,新建用户时该文件会复制到新建用户的家目录中 

        5. 建立一个与用户名相同的组,新建用户默认属于这个同名组


    -d      家目录

    -s      登录shell

    -u      userid

    -g      主组

    -G      附属组,最多31个,用,分开

        useradd -G wjb linux    新增用户linux并规定附属组为wjb

3. 修改用户信息:

    usermod 参数 username

        -l      新用户名

        -u      新userid

        -d      新用户家目录

        -g      用户所属主组

        -G      用户所属附属组

        -L      锁定用户使其不能登录

        -U      解除锁定

4. 删除用户

userdel wjb     保留用户家目录

userdel -r wjb  不保留用户家目录

5. 组:

每个组都有一个组id

组信息保存在/etc/group中

每一个用户拥有一个主组,最多有31个附属组
  • 组的创建
    groupadd group                  创建组group
  • 组的修改
    groupmod -n newname oldname     修改组名

    groupmod -g newGid oldGid       修改组id
  • 删除组
    groupdel group                  删除组group

二、 linux权限机制

1. 修改文件所属用户、组

- chown 用来修改文件的所属用户
```
    chown wjb linux.txt
        -R 递归修改目录下所有文件的所属用户
```
- chgrp 用来修改文件的所属组
```
    chgrp wjb linux.txt
        -R 递归修改目录下所有文件的所属组
```

2. 修改权限命令 chmod

  • u、g、o分别代表用户,组,其他
  • a可以代指全部
  • +、-代表加入或删除对应权限
  • r、w、x代表三种权限

  • 模式示例

    • chmod u+rw wjb.txt
    • chmod g-x wjb.txt
    • chmod go+x wjb.txt
    • chmod a-x wjb.txt
  • 以数字方式修改权限

    • r=4,w=2,x=1
    • rw- = 6,r-x = 5,rwx = 7
    • chmod 760 wjb.txt

三、Linux扩展权限

  • 每一个终端都有一个umask属性,来确定新文件、文件夹的默认权限
  • umask使用数字权限方式表示,如:022(实际是4位)
  • 目录的默认权限是:777-umask = 755
  • 文件的默认权限是:666-umask = 644
  • 一般,普通用户的默认umask是002,root用户的默认权限是022
  • umask可查看,设置umask值

三个特殊权限

权限对文件的影响对目录的影响
suid以文件的所属用户身份执行,而非执行文件的用户
sgid以文件的所属组身份执行在该目录中创建的任意新文件的所属组与该目录的所属组系统
suid对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件

设置特殊权限

  • 设置suid

    chmod u+s wjb.txt
    
  • 设置sgid

    chmod g+s wjb.txt
    
  • 设置sticky

    chmod o+t wjb.txt
    
  • 与普通权限一样,特殊权限也可以用数字方式表示

    SUID = 4
    SGID = 2
    Sticky = 1
    所以,可以通过以下命令设置
    chmod 6755 wjb.txt
    chmod 4666 wjb.txt
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值