zoukankan      html  css  js  c++  java
  • Linux学习 用户管理

    0.新建用户

     sudo useradd -d /home/zookeeper -m zookeeper

    -d 指定用户组目录

    -m 如果前面指定的用户组目录不存在,就创建改目录

    passwd 

    1./etc/passwd与文件记录的用户信息

    Linux并不直接认识用户名,它仅仅认识ID,用户名与ID的对应关系在/etc/passwd中

    以其中两行为例:

    root:x:0:0:root:/root:/bin/bash
    prison:x:1001:1001:prison,prison,prison,priso,prison:/home/prison:/bin/false

    解意为:

      账号名称:

      密码(x表示密码已经移动到/etc/shadow进行管理):

      UID(为0表示系统管理员):

      GID(这个与/etc/group有关,其概念与/etc/passwd差不多,只是用来管理group而已,例如/etc/group 中的一行 wangx:x:1000:  分别表示组名,组密码,组ID,一共四个字段,最后一个字段表示该组有哪些用户,为空则表示和只有一个用户,这个用户就是wangx):

      使用者信息说明栏:

      主目录:

      Shell(需要注意的是,有一个shell可以用来代替成让账号无法登入的指令,就是/sbin/nologin。而/bin/false是最严格的禁止login选项,一切服务都不能用,而/sbin/nologin只是不允许系统login,可以使用其他ftp等服务,如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。

    ):

    可以看出prison用户的UID(用户ID)和GID(组ID)分别为1001、1001

    进入prison用户的主目录,ll一下:

    可以看到比如.bash_logout文件,所属用户为prison,所属组为sftp-users

    如果我vi一下/etc/passwd,将prison的UID修改为3000,然后保存,再ll一下prison用户的主目录:

    可以看到原来的所属用户prison变成了1001,这是因为1001在/etc/passwd里面找不到1001的对应的用户名,所以就么有显示用户名,直接显示UID了。可以看出文件本身记录的是UID而不是用户名

    2.使用用户名密码登录LINUX的过程

    • linux查看/etc/passwd里是否又这个账号,没有则跳出;有则读该账号对应的UID与GID,另外,将该账号的HOME目录与SHELL设定一并读出;
    • 核对密码表,linux进入/etc/shadow里面找出对应的账号与UID,然后核对输入的密码与记录的密码是否一致
    • 如果一切OK, 就进入Shell控管的阶段

    3.使普通用户能使用sudo命令

    切换到root用户,运行visudo命令,

    在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行

    xxx ALL=(ALL) ALL 其中xxx是你要加入的用户名称

  • 相关阅读:
    hortonworks
    使用Ambari快速部署Hadoop大数据环境
    js模板引擎
    Scala中的语言特性是如何实现的2
    IOS多线程编程一:概述
    Struts框架
    总体设计
    算法介绍
    社区与关怀
    从C#的Singleton设计模式
  • 原文地址:https://www.cnblogs.com/heben/p/7086015.html
Copyright © 2011-2022 走看看