Linux-用户管理

介绍:
    用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。
用户分为三种
    root用户 (ID为0的用户为root用户)
    系统用户(1-499) 不需要登录shell,只是为一些服务,和进程使用。比如FTP
    普通用户(500以上)
目录说明:
    /etc/passwd 保存用户信息
    /etc/shadow 保存用户密码(加密的)
    /etc/group 保存组信息
    /etc/sudoers  sudo用户授权文件
     
    创建用户参照文件:
        /etc/login.defs
        /etc/default/useradd

who命令说明:
	a 处理 /etc/utmp 文件或有全部信息的指定文件。等同于指定 -bdlprtTu 标志。
	-b 指出最近系统启动的时间和日期。
	-d 显示没有被 init 重新生成的所有到期的进程。退出字段用于显示死进程并包含死进程的终止和退出值(由 wait 进程返回的)。(这个标志用于通过察看应用程序返回的错误号来确定一个进程的结束原因。)
	-l 列出任何登录进程。
	-m 仅显示关于当前终端的信息。who -m 命令等同于 who am i 和 who am I 命令。
	-p 列出任何当前活动的和以前已由 init 生成的活动进程。
	-q 打印一份在本地系统上的用户和用户数的快速清单。
	-r 显示当前进程的运行级别。
	-s 仅列出名字、线路和时间字段。这个标志是缺省值;因此,who 和 who -s 命令是等效的。
	-t 显示 root 用户上一次用 date 命令对系统时钟做的更改。如果 date 命令自从系统安装以来还没有被运行过, who -t 命令就不产生输出。
	-u 或 -i 显示每个当前用户的 用户名、tty、登录时间、线路活动和进程标识。
	-A 显示在 /etc/utmp 文件中的所有记帐项。这些项是通过 acctwtmp 命令生成的。
	-H 显示一个头(标题)。
	-T 或 -w 显示 tty 的状态并如下显示谁能够对 tty 写入:
	
	whoami 显示当前用户
	who 显示有那些用户已登录
	who -u   显示tty 用户名,登录时间,线路活动,IP地址,进程标识
  
使用命令
    id username  查看用户信息	
     
    ##创建用户
    useradd useranem
        -d家目录      useradd user01 -d /user01
        -s 登录并指定shell   useradd user01 -s /sbin/nologin #不能登录
        -u 指定用户uid   useradd user01 -u 500
        -g 指定主组      useradd user01 -g root
        -G 附属组(最多31个,用”,“分割) useradd user01 -G hr,it,fd
    chage -d 0 lidong   #强制用户下次登录修改密码。
     
    ##修改用户信息
    usermod 参数 username
        -l 新用户  
        -s        usermod -s /sbin/nologin user01      
        -u 新userid
        -d用户家目录位置
        -g 用户所属主组
        -G用户所属附属组     u
                usermod -G hr user01 覆盖原有方式中
                usermod -aG hr user01 增加新的附属组
        -L 锁定用户使其不能登录
        -U 解除锁定
     
    ##删除用户和组
    userdel username (保留用户的家目录)
    userdel -r username (同时删除用户家目录)
    groupadd groupname 创建组
    groupmod -n newname oldname 修改组名
    groupmod -g newGid oldGid 修改组ID
    groupdel groupname  删除组
     
no Shell
    #用户无法登录系统,实现管理。仅作为运行进程的用户,访问ftp用户。
    useradd user01 -s /sbin/nologin   #不等系统。
    useradd user01 -s /bin/bash     #登录系统实现管理
     
  
sudo用户授权
    vim /etc/sudoers
    root ALL=(ALL)      ALL
    username ALL=(ALL)  ALL
SSH秘钥对认证
  1. 生成密钥对:[root@ansible]#ssh-keygen   #一路回车
  
  2. Copy:公钥到主机:[root@ansible]# ssh-copy-id  root@192.168.80.15
    注:192.168.80.15主机下自动生成authorized_keys文件保存公钥。
    路径cat  /root/.ssh/authorized_keys
  
  3.需要将公钥下发到其他服务器才可以无密远程。

  

posted @ 2020-02-11 20:56  东风伴侣  阅读(81)  评论(0编辑  收藏  举报