• linux运维、架构之路-linux用户管理


    一、 linux系统用户分类

    1、分类

    ①超级用户:root,UID为0

    ②普通用户:UID是500-65535的用户

    ③虚拟用户:UID在1-499,一般不能登录,满足文件或服务启动的需要,/sbin/nologin

    2、与用户相关的配置文件

    [root@svn /]# ll /etc/passwd /etc/shadow /etc/group /etc/gshadow
    -rw-r--r-- 1 root root  594 Jul  3 14:01 /etc/group     #——>用户组的信息
    ---------- 1 root root  484 Jul  3 14:01 /etc/gshadow   #——>用户组的密码文件信息
    -rw-r--r-- 1 root root 1091 Jul  3 13:56 /etc/passwd    #——>用户的信息

    passwd每列所代表的含义

    3、与用户相关的目录和文件

    [root@svn /]# ll -a /etc/skel/ #——>创建新用户家目录的模板
    drwxr-xr-x.  2 root root 4096 Apr 24 18:33 .
    drwxr-xr-x. 78 root root 4096 Jul  3 14:01 ..
    -rw-r--r--.  1 root root   18 Mar 23 08:15 .bash_logout
    -rw-r--r--.  1 root root  176 Mar 23 08:15 .bash_profile
    -rw-r--r--.  1 root root  124 Mar 23 08:15 .bashrc

    *****企业小案例:请问登录oldboy用户出现如何情况,该如何处理

    [root@svn ~]# su - oldboy
    -bash-4.1$ 
    -bash-4.1$ 
    解答:原因是这个oldboy用户家目录下的环境变量文件被删除了,只需到/etc/skell/目录下,复制
    .bash_profile
    .bashrc到当前用户下,然后重新登录oldboy用户即可

    二、用户管理命令

    1、userad:添加用户

    -g 指定用户属于的组
    -u 指定用户的UID
    -s 指定用户使用的shell解释器,系统默认为/bin/bash,虚拟用户为/sbin/nologin
    -M 表示不创建用户家目录

    2、userdel:删除用户

            工作中一般不用的用户最好在/etc/passwd中注释掉,默认不删除用户的家目录和邮箱,加上-r参数删除与用户有关的所有信息

    3、usermod:修改用户信息

    -s 修改用户使用的shell
    -g 修改用于属于的组

    4、passwd为用户设置密码

    --stdin 非交互式设置密码
    [root@svn /]# echo 123456|passwd --stdin oldboy
    Changing password for user oldboy.
    passwd: all authentication tokens updated successfully.

    5、groupadd 创建用户组

    -g 指定用户组的GID

    ******企业面试题:批量添加10个用户stu01,stu02……stu10,设置8位随机密码(禁止使用for,while等循环)

    方法一:
    echo stu{01..10}|xargs -n1|sed 's#.*#useradd &;pass=$(date +%N|md5sum |cut -c-8);echo $pass|passwd --stdin &;echo & $pass >>/tmp/pass.log#g'
    方法二:
    seq -w 10|sed 's#.*#useradd &;pass=$(date +%N|md5sum |cut -c-8);echo $pass|passwd --stdin &;echo & $pass >>/tmp/pass.log#g'

    三、用户查询命令

    1、id查看用户的信息

    2、w显示系统中已经远程登录的用户,以及系统的负载信息

    3、last哪个用户在什么时候从哪里远程登录你的系统用户登录的信息

    四、sudo临时让用户获得root权限

    1、sudo –l查看当前用户的sudo权限

    2、visudo给用户授予权限(相当于尚方宝剑)

    visudo=====vim /etc/sudoers
    ①授权某一个命令:
    oldboy    ALL=(ALL)       /bin/ls
    ②授权多个命令
    oldboy    ALL=(ALL)       /bin/ls, /bin/rm, /usr/sbin/useradd
    ③授权某个目录下面的所有命令,排除某一个
    oldboy    ALL=(ALL)       /sbin/*, ! /sbin/init
    ④授权所有命令且不用密码
    ⑤oldboy    ALL=(ALL)       NOPASSWD:ALL
    一般运维人员自己使用的用户

    五、记录用户的操作、行为/日志审计

     

    六、CDN概念

    成功最有效的方法就是向有经验的人学习!
  • 相关阅读:
    [题解] P2513 [HAOI2009]逆序对数列
    [题解]洛谷P2709 小B的询问
    题解 P1944 最长括号匹配_NOI导刊2009提高(1)
    [题解]SP703 SERVICE
    Bzoj2427: [HAOI2010]软件安装
    【题解】UVA11362 Phone List
    【题解】P2922 [USACO08DEC]秘密消息Secret Message
    Tire树的学习
    【题解】P1171 售货员的难题
    计算机与编程资源教程汇总
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/7561991.html
Copyright © 2020-2023  润新知