zoukankan      html  css  js  c++  java
  • 用户,组,密码 和权限管理

    用户信息文件是/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

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    sync:x:5:0:sync:/sbin:/bin/sync

    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

    halt:x:7:0:halt:/sbin:/sbin/halt

    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    operator:x:11:0:operator:/root:/sbin/nologin

    games:x:12:100:games:/usr/games:/sbin/nologin

    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

    nobody:x:99:99:Nobody:/:/sbin/nologin

    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

    dbus:x:81:81:System message bus:/:/sbin/nologin

    polkitd:x:999:997:User for polkitd:/:/sbin/nologin

    postfix:x:89:89::/var/spool/postfix:/sbin/nologin

    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

    chrony:x:998:996::/var/lib/chrony:/sbin/nologin

    yy:x:666:1000::/home/yy:/bin/bash


    $1用户名   $2密码占位符    $3 UID     $4 GID   $5注释信息     $6 家目录位置     $7 默认shell

     

     

    组文件/etc/group

    root:x:0:yy   此表示root组是yy用户的附加组

    $1组名 $2 占位符 $3 GID $4 组用户

     

    密码文件

    /etc/shadow  /etc/shadow- 第二个是默认的备份文件

    root:$6$2x6s1sLb5F5J4qaE$ZcxA5ENZzJTnGDAus/0mkSvglTDUcxSQ1NdN8kk/iDLhUVElViufKOLOf80ufQ5ZA7kXHxzCN2sMzhqCZOKqU1::0:99999:7:::

    $1 表示用户名

    $2 为密码的密文

    第一个$和第二个$中间数字表示加密用的算法 此处为6 sha512算法

    1=md5

    2=sha1   sha默认加密长度是160

    3=sha224  后面跟的数字是他们的加密长度

    4=sha256

    5=sha384

    6=sha512      sha 就是 安全的哈希算法

     

    第二个$和第三个$中间的是添加的随机数

    作用是让一样的密码一样的算法所得出的密文不一样

     

    [root@yangyang ~]# echo "haha" | md5sum
    7494ab07987ba112bd5c4f9857ccfb3f -
    [root@yangyang ~]# echo "haha" | sha1sum
    d961c3de6d6c99429806ae3d6d03f316a1168ac6 -
    [root@yangyang ~]# echo "haha" | sha224sum
    bb84499b78a7b8b6f77101b45dabcef0bed4660415d04b73b539498d -
    [root@yangyang ~]# echo "haha" | sha256sum
    bcb4fe6563d225fbc7b0e90571fc670f1ee197f18ba18e52a39c2ca80672812f -
    [root@yangyang ~]# echo "haha" | sha384sum
    af4b9a1a6974b14d309de0e817d0709c8e90e5ba433bf12ffd6be17dbffb34ec10af68899565d1a1b2f953b5acbd5e2e -
    [root@yangyang ~]# echo "haha" | sha512sum
    91d590d5f726fa14d07748c3add508459849bfc7228d8e59f204c81fffec0b7e1a8edf636726244a3bfb2715d9de505e0bc9529d046b5af2542d1d3de48e1c23 -

    如果没有随机数一样的密码同一种算法得出的密文是一样的

    登录时输入密码交给系统,系统在和随机数一起算 得出一样的结果就证明密码正确

     

     

     

     

     

     

     

     

     

     

     

    添加用户

    Useradd [选项] 用户名

    -u 指定uid

    -g 指定基本组的组id 此组要事先存在

    -G 指定用户的附加组 多个组用逗号分隔

    -d 指定用户的家目录 默认是在/home

    -M 不创建用户的家目录

    -s 指定用户登录时的shell 解释器

    -r 创建系统用户

    创建用户时默认设定的配置文件 /etc/login.defs

    也可以使用

    Useradd -D [选项] 的方式修改修改结果保存于/etc/default/useradd

    -s 指定默认用户登录的解释器

     

     

    修改用户属性

    Usermod [选项] 用户名

    -u uid

    -g gid

    -G 附加组 通常于-a 一起使用 不用-a则会覆盖之前的附加组

    -c 修改注释信息

    -d 修改家目录 通常于-m一起使用 用户将以前家目录的文件一起转移到新的家目录

    -l 修改用户名

    -s 修改默认shell

    -L 锁定用户密码  此时/etc/shadow对应的用户密码前会出现!(一个)

    -U 解锁用户密码

    删除用户

    userdel  [选项] 用户名

    -r 删除家目录

     

     

    添加组

    groupadd  [选项] 组名

    -g 指定GID

    -r 创建系统组

    修改组属性

    Groupmod [选项]  组名

    -g gid

    -n 组名

    删除组

    groupdel 组名

     

     

    设置用户密码

     

    passwd [选项] 用户名

    passwd   修改自己用户的密码

    passwd   username 修改其他用户的密码,仅root有权限

     

    -l  -u  锁定和解锁用户密码 此时/etc/shadow对应的用户密码前会出现!!(两个)

    -d 清除用户密码

    -e 设置过期时间

    -i 设置非活动时间

    -n 设置密码最短使用期限

    -x 设置密码最长使用期限

    -w 警告期限

     

    --stdin

     echo “PASSWORD” | passwd --stdin USERNAME

    经常用于在脚本内设置用户密码

     

    Gpasswd [选项]  组名

    -a  向组中添加用户

    -d 向组中移除用户

     

     

    Id [选项] [用户名]

    -u 仅显示uid

    -g  仅显示gid

    -G 显示所有组id

    -n 只显示用户名而非id   通常于上面的选项一起使用

     

     

     

     

    Su 命令

    Su - username

    以登录模式切换

    Su username

    非登录模式切换

     

    root外 其他用户使用su 切换用户必须输入对应用户的密码

     -c  COMMAND’仅以用户的身份运行指定的命令 注意命令要用单引号引用

     

     

    newgrp [组名]

    临时切换指定的组为基本组

    (会模拟用户重新登录,以初始化工作环境)

                              权限管理

    查看文件的权限

    ls -l

     rwx rwx rwx

       (前三位)是属主权限列表

    (中间三位) 属组权限列表

    (后三位) 其他用户权限列表

                    权限的组合机制

    ---    000    0

    --x    001    1

    -w-      010    2

    -wx     011    3  

    r--    100    4

    r-x    101    5

    rw-    110    6

    rwx    111    7  

        对于文件

    r=read     读权限  = 可获取文件的数据

    w=write   写权限  = 可修改文件的数据

    x=excute  执行权限  = 可将文件运行为进程

    对于文件来说出于安全的考虑默认是没有执行权限的 

        对于目录

    r  = 可使用ls命令或许其下的所有文件列表

    w  = 可修改此目录下的文件列表 即创建和删除

    x   =  可cd至此目录中 且可以使用ls -l 来获取所有文件的属性

    权限的管理命令

    chmod [选项] mode file 

    常用选项

    -R 递归修改 (针对目录)

    我一般mode使用数字来表示

    [root@yangyang ~]# chmod 755 1.sh
    [root@yangyang ~]# ll 1.sh
    -rwxr-xr-x 1 root root 0 5月 31 20:19 1.sh
    [root@yangyang ~]#

    chown 可以修改属主属组

    -R  递归修改 (针对目录)

    [root@yangyang ~]# chown yy:yy 1.sh
    [root@yangyang ~]# ll 1.sh
    -rwxr-xr-x 1 yy yy 0 5月 31 20:19 1.sh

    [root@yangyang ~]# chown :root 1.sh 

    [root@yangyang ~]# ll 1.sh
    -rwxr-xr-x 1 yy root 0 5月 31 20:19 1.sh

    [root@yangyang ~]# chown root 1.sh
    [root@yangyang ~]# ll 1.sh
    -rwxr-xr-x 1 root root 0 5月 31 20:19 1.sh
    [root@yangyang ~]#

    umask 值

    命令

    umask  : 查看当前umask

    umask  [MASK]  临时设置umask值

    MASK 以数字来表示

    umask默认0022

    文件666  减  umask

    之所以文件是要666减去umask值是因为 文件默认不能有执行权限,若减去的结果中有执行权限   则加1

    目录 777  减 umask

                        文件特殊权限

    suid          sgid        sticky

    0     0    0     =   0

    0        0      1     =   1

    0     1     0    =   2

    0     1     1    =   3

    1     0     0    =   4

    1     0     1    =   5

    1     1     0    =   6

    1     1     1    =   7

    umask值的第一位用来表示文件的特殊权限

    通过以上数字来表示对应的权限 1表示有权限0表示没权限

    suid

    1. 任何一个可执行文件是否可以运行为进程取决于执行的用户有没有权限
    2. 启动为进程后 其进程的属主是原本文件用户而不是执行的用户
    3. chmod u+s  “FILE”  chmod u-s FILE

    sgid

    1默认情况下 用户创建文件后属组为用户的基本组

    2一但目录有了sgid权限后 在这个目录下创建文件的属组为目录的属组

    3 chmod g+s DIR”  chmod g-s DIR

    Sticky

    1  目录设置此权限后 自己只能删除自己的文件,

    2   chmod o+t “DIR”   chmod o-t DIR

    权限映射关系

    SUID user 占据属主的执行权限位

    s   属主有执行权限

    S   属主没有执行权限

    SGID group 占据group的执行权限

    s   属组有执行权限

    S   属组没有执行权限

    stisky other 占据ohter 执行权限

    t   ohter有执行权限

    T ohter没有执行权限

  • 相关阅读:
    庖丁解牛看委托和事件(续)
    两天完成一个小型工程报价系统(三层架构)
    原生态Ajax无刷新评论和顶踩代码(记事本打造,无验证)
    浪客剑心:位图法Bitmap算法分析
    Entity Framework 4 in Action读书笔记——第一章:数据访问重载:Entity Framework(3)
    Entity Framework 4 in Action读书笔记——第一章:数据访问重载:Entity Framework(1)
    Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:筛选数据
    easyUI这样获取Json的内嵌数据
    DWZUI(1.3)框架中遇到的两个问题
    Entity Framework 4 in Action读书笔记——第二章:开始Entity Framework之旅(2)
  • 原文地址:https://www.cnblogs.com/linuxys/p/13020104.html
Copyright © 2011-2022 走看看