用户和组的管理命令
Posted 小兔无情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户和组的管理命令相关的知识,希望对你有一定的参考价值。
(一)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:检查组有没有什么问题
以上是关于用户和组的管理命令的主要内容,如果未能解决你的问题,请参考以下文章