zoukankan      html  css  js  c++  java
  • Linux基础用户管理

    一、用户管理

    (一)、用户和组的基本概念

    Users and groups:
    . Every process (running program) on the system runs as a particular user.
    系统上的每个进程(运行的程序)都是作为特定用户运行的
    . Every file is owned by a particular user.
    每个文件是由一个特定的用户拥有
    . Access to files and directories are restricted by user.
    访问文件和目录受到用户的限制
    . The user associated with a running process determines the files and directories accessible to that process.
    与正在运行的进程相关联的用户确定该进程可访问的文件和目录

    (二)、示例

    查看当前登录用户信息:

    [root@linux ~]# id
    uid=0(root) gid=0(root) 组=0(root)

    查看进程:

    [root@linux ~]# yum -y install vsftpd
    
    [root@linux ~]# ps aux | grep vsftp
    root      1143  0.0  0.0  53212    96 ?        Ss   07:57   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    nobody   11965  0.0  0.0  55336  1128 ?        Ss   19:43   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    ftp      11967  0.0  0.0  57444  1120 ?        S    19:43   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    root     11978  0.0  0.0 112680   984 pts/4    S+   19:43   0:00 grep --color=auto vsftp

    (三)、与用户组相关的文件

    /etc/passwd         root:x:0:0:root:/root:/bin/bash                 用户信息
                            用户名:x:uid:gid:描述:HOME:shell             x密码占位符
    /etc/shadow     root:$1$MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :    密码信息
                                   $id$salt$encrypted 
    /etc/group            root:x:0:             组信息

    (四)、扩展

    加密算法$id:

    $1:  MD5
    $5:  SHA-256
    $6:  SHA-512

    (五)、系统约定

    CentOS 6:

    uid: 0         特权用户
    uid: 1~499     系统用户
    uid: 500+      普通用户

    CentOS 7:

    uid: 0         特权用户
    uid: 1~999     系统用户
    uid: 1000+      普通用户
    The root user
    . uid is 0
      UID是0
    . all power
      所有权力
    . This user has the power to override normal privileges on the file system
      该用户有权力覆盖文件系统上的普通权限
    . installing or removing software and to manage system files and directorie
      安装或删除软件并管理系统文件和目录
    . Most devices can only be controlled by root
      大多数设备只能由root控制

    二、用户

    创建用户:

    # useradd user02 -u 503                        //创建用户usr02,指定uid
    # useradd user03 -d /aaa                    //创建用户user03 指定家目录
    # useradd user05 -s /sbin/nologin         //创建用户并指定shell
    # useradd user07 -G hr,it,fd                    //创建用户,指定附加组
    # useradd user10 -u 4000 -s /sbin/nologin        //指定UID 指定登录shell

    删除用户:

    # userdel user10                                   //删除用户user10,但不删除用户家目录和mail spool
    # ll -d /home/user10/
    drwx------ 3 506 510 4096 09-01 21:14 /home/user10/
    # ll /var/spool/mail/user10 
    -rw-rw---- 1 506 mail 0 09-01 21:14 /var/spool/mail/user10
    # userdel -r user2                              //删除用户user2,同时删除用户家目录和mail spool

    用户密码:

    # passwd alice                  //root可以给任何用户设置密码
    $ passwd                        //普通用户只能给自己修改密码,而且必须提供原密码

    三、组成员管理

    (一)组成员管理:

    只针对已从在的用户:

    # usermod -G hr niuniu2                     //覆盖原有的附加组
    # usermod -G fd,it niuniu2
    # usermod -aG hr niuniu2                   //增加新的附加组
    
    # gpasswd -a jack wheel                     //usermod -aG hr zhuzhu
    # gpasswd -M zhuzhu,maomao100 hr            
    # gpasswd -d zhuzhu hr

    (二)、其他管理:

    # usermod -s /sbin/nologin niuniu2            //设置这个账户的登录shell 

    四、no Shell

    /sbin/nologin       //用户无法登录系统,实现管理。仅作为运行进程的用户,访问FTP的用户。
                              //安全的用户
                              # useradd www -s /sbin/nologin
                              # grep 'bash$' /etc/passwd
    
    /bin/bash            //登录系统,实现管理

    shell是用户登录后运行的第一个程序

    /usr/sbin/poweroff
    /usr/sbin/reboot
    # setenforce 0

    策略示例:

    # useradd maomao100
    # echo 123456 |passwd --stdin maomao100    //给大家的一个初始密码
    # chage -d 0 maomao100                    //强制用户在下一次登录时修改密码

    五、用户提权

    $ useradd u1
    -bash: /usr/sbin/useradd: 权限不够
    $ su - root
    password:
    # useradd u1

    必须在Root用户下提权:

    # useradd user1 -G wheel
    # id yangyang
    uid=504(user1) gid=504(user1) 组=504(user1),10(wheel)

    修改visudo

    # visudo 
    ## Allows people in group wheel to run all commands
    #%wheel ALL=(ALL)       ALL        //注释这一行
    
    ## Same thing without a password
    %wheel  ALL=(ALL)       NOPASSWD: ALL        //打开这一行
    
    //保存退出即可

    测试提权:

    # su - user1        //切换用户
    $ sudo useradd user2        //使用sudo提权创建一个用户,
    
    $ id user2        //查看刚刚创建的用户
    uid=1001(user2) gid=1001(user2) groups=1001(user2)
    
    //提权成功
  • 相关阅读:
    常用数据结构的应用场景
    数组与链表的对比
    [LeetCode 293] Flip Game
    [Leetcode] Palindrome Permutation 回文变换
    九大排序算法再总结
    query函数的可查询数据
    Column常用的参数
    sqlalchemy的常用字段
    sqlalchemy基本的增删改查
    sqlalchemy映射数据库
  • 原文地址:https://www.cnblogs.com/sky-k/p/9398337.html
Copyright © 2011-2022 走看看