zoukankan      html  css  js  c++  java
  • 用户和组的管理命令

    (一)Linux用户和组管理

    • 安全上下文模型
      • 进程以其发起者的身份运行:进程对文件的访问权限,取决于发起此进程的用户的权限
    • 系统用户:为了能够让那些后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,此类用户从来不用登陆系统,仅仅需要他们的权限给进程
    • groupadd:添加组
      • groupadd [选项] group_name
      • -g GID:自定义GID,默认是上一个组的GID加1
      • -r:创建系统组
    • groupmod:修改组
      • groupmod [选项] group_name
      • -g GID:修改GID
      • -n New_Name:修改组名
    • groupdel:删除组
      • groupdel [选项] group_name
    • useradd:创建用户
      • file 'which adduser',发现adduser是useradd的符号链接
      • useradd [选项] User_Name
      • -u/--uid UID:自定义UID,默认使用上一个用户的UID加1
      • -g/--gid Group:自定义基本组,此组必须事先存在,否则会出错;注:Group应该是指组的名字,不是GID??
      • -G/--groups Group1[,Group2...[,GroupN]]:指明用户所属的附加组,多个组之间用逗号分隔
      • -c/--comment Comment:指明注释信息
      • -d/--home home_dir:自定义用户家目录
        • 家目录的创建过程是复制/etc/skel,然后重命名
        • 指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
      • -s/--shell Shell:指定用户的默认shell。
        • 可用的所有shell列表存储在/etc/shells文件
      • -r/--system:创建系统用户
      • 创建用户时的诸多默认设定配置文件为 /etc/login.defs
      • useradd -D:用于显示创建用户的默认配置
      • useadd -D 选项:修改默认选项的值
        • 修改的结果保存于/etc/default/useradd文件中,也可以直接编辑此文件
    • usermod:修改用户属性
      • -u/--uid UID:修改用户的UID
      • -g/--group Group:修改用户的基本组,这个组事先必须存在
      • -G/--groups Group1[,Group2...[,GroupN]]:修改用户的附加组,原来的附加组会被覆盖
      • -a/--append:追加附加组,和-G一起使用
      • -c/--comment Comment:修改注释信息
      • -d/--home home_dir:修改用户家目录,用户原有的文件不会被转移至新位置
      • -m/--move-home:移动家目录到新位置,只有与-d结合使用才有效
      • -l/--login New_Name:修改用户名
      • -s/--shell Shell:修改用户的默认shell
      • -L/--lock:锁定用户密码,禁止用户登陆,即在用户原来的密码字符串之前添加一个“!”
      • -U/--unlock:解锁用户密码
      • 注:比较常用的是-a -G结合使用
    • userdel:删除用户
      • userdel [选项] User_Name
      • -r:删除用户时,一并删除其家目录,默认不删除
    • passwd:修改密码
      • 单独使用表示修改用户自己的密码
      • passwd UserName:修改指定用户的密码,默认情况下,仅root用户有此权限。root用户修改别人密码的时候,不需要知道原密码。
      • -l/-u:锁定和解锁用户
      • -d:清除用户密码
      • -e Date:过期期限,日期
      • -i Days:非活动期限,密码过期以后还能活动几天
      • -n Days:修改密码的最小间隔
      • -x Days:修改密码的最长使用期限
      • -w Days:警告期限
      • echo "Mage" | passwd --stdin docker,在脚本中通常如此使用
    • gpasswd:修改组密码,或者添加删除用户
      • -a UserName:向组中添加用户,用户将以此组为附加组
      • -d UserName:从组中移除用户,用户将不再以此组为附加组
      • 给组添加密码的作用
        • 如果组没有密码,其他人无法把主组切换为此组
        • 如果组有密码,如果其他人的附加组包括该组,切换过来不需要密码
        • 如果组有密码,如果其他人的附加组不包括该组,切换过来需要密码
        • 设置密码的方法是:gpasswd GroupName,之后便会提示输入两次密码
    • newgrp:临时切换指定的组为基本组
      • -:加横行表示模拟用户重新登陆,重新初始化其工作环境
      • exit退出
    • chage:修改密码的过期信息,选项和上面一样
    • id:显示用户的真实和有效ID信息
      • 直接用表示显示自己的
      • id UserName:显示别人的
      • -u:仅显示有效的UID
      • -g:仅显示基本组id,不显示附加组的
      • -G:显示所有组的,基本组和附加组
      • -n:显示名字而非Id,可以和上面的选项结合使用
    • su:switch user/切换用户
      • 登陆式切换/完全切换:仿佛重新登陆,重新初始化用户的工作环境,su - UserName或者su -l UserName
      • 非登录式切换/半切换:不会重新初始化用户的工作环境,su UserName
      • root用户切换至其它任何用户不需要密码,非root用户需要给出目标用户的密码
      • -c:不切换用户,仅以用户身份执行命令,例如:su - docker -c 'whoami'
      • exit退出
    • 其它几个命令:
      • chsh:修改shell
      • chfn:修改用户信息
      • finger:显示用户信息
      • pwck:检查用户有没有什么问题
      • grpck:检查组有没有什么问题
  • 相关阅读:
    使用Autofac动态注入启动Api服务
    RabbitMQ学习笔记(六) RPC
    RabbitMQ学习笔记(五) Topic
    RabbitMQ学习笔记(四) Routing
    RabbitMQ学习笔记(三) 发布与订阅
    Quartz.NET学习笔记(二) Job和JobDetails
    RabbitMQ学习笔记(二) 工作队列
    Spark SQL JSON数据处理
    Hive JSON数据处理的一点探索
    由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考
  • 原文地址:https://www.cnblogs.com/jacky1982/p/7624260.html
Copyright © 2011-2022 走看看