Linux 用户管理(一)

一、基础知识介绍

  • 用户 用户组的概念
    • 每个文件和进程,都需要对应一个用户和用户组
  • linux 系统通过UID和 GID识别用户和组
    • 用户名相当于人名(给人看)
    • UID和GID相当于身份证(系统用的)
  • 用户和组的关系
    • 一对一,多对一,一对多,多对多
  • 用户分类
    • 超级用户:UID=0 root
    • 普通用户:UID  500 起,由超级用户或者具有超级用户权限的用户创建的
    • 虚拟用户:UID 1-499  存在满足文件或服务启动的需要,一般都不能登录
  • 用户关联的四个文件
    • /etc/passwd   账号文件
    • /etc/shadow    密码文件
    • /etc/group       组文件
    • /etc/gshadow   组密码文件

二、用户管理命令

  • 用户名相关
    • useradd  添加用户
    • userdel  删除用户
    • passwd  修改密码
    • usermod 修改用户--登录名、用户的家目录等等
    • id            查看UID GID 组信息
    • chage     查看密码属性
    • su           用户角色切换
    • sudo      提权
    • visudo   编辑sudo配置文件
  • 用户组相关

三、重要初始化目录/etc/skel

  • 包含基本文件:.bash_logout  .bash_profile  .bashrc
  • 作用:
    • 把要通知的内容放到/etc/skel目录中 
      • 新用户创建过程中,其中之一就是把/etc/skel目录中的内容全部拷贝到新建用户的家目录下
      • 示例:新建用户 skeltest
        • 在/etc/skel/目录下新建文件readme.txt
        • 新建用户:useradd skeltest
    • 统一初始化新用户的环境变量
      • 编辑文件/etc/skel/.bash_profile ,添加一个别名:alias grep='grep --color=auto' 
      • 新建用户:useradd newskel 并查看别名信息。未编辑文件/etc/skel/.bash_profile之前新建用户test 和编辑之后新建用户 newskel之间对比
    • 面试题:登录test账号出现如图问题该如何解决及出现原因
      • 解决方法:把/etc/skel目录下.bash*文件拷贝到test家目录/home/test中,重新登录即可,如图:
        cp /etc/skel/.bash* /home/test/
        

四、/etc/login.defs

  • 创建用户时需要的用户配置信息,如是否创建家目录,UID、GID长度,加密方式等等

五、/etc/default/useradd

  • useradd 添加新用户是默认配置文件

六、useradd 命令详解

  • 参数:
    • -c --comments 注释  
    • -d --home-dir   家目录
    • -e --expiredate 账号过期时间 format YYYY-MM-DD
    • -g --GID
    • -G --groups
    • -k --skel
    • -m --create-home  如果没有该目录以该目录为家目录创建
    • -M --no-create-home
    • -s --shell 
    • -u --UID 
  • 实例:创建新用户 useradd01 ,注释-HandsomeBoy ,UID 605 所属组 roo incahome , 家目录/home/useradd01 ,其shell类型-/bin/sh  过期时间2018-12-01 
    • 命令:useradd  -c "HandsomeBoy" -u 605 -G root,incahome -md /home/useradd01  -s /bin/sh -e "2018-12-01" useradd01
    • 账号过期时间验证:

 七、usermod   --modefy a user account 

  参数和用法大部分和useradd 相同,参考useradd

posted on 2018-11-22 14:34  g2zh  阅读(239)  评论(0编辑  收藏  举报