Linux用户及权限管理

系统用户

为了能够让后台进程或服务类进程以非管理员身份运行,通常需要为此创建多个普通用户:这类用户从不用登录系统

groupadd命令:添加组

groupadd 【选项】group_name
-g GID:指定GID:默认是上一个组的GID+1:
-r 创建系统组

groupmod命令:修改组属性

groupmod 【选项】 GROUP
-g GID
-n GroupName

groupdel命令:删除组

groupdel 【选项】GROUP

useradd命令:创建用户

useradd 【选项】登录名
-u, --uid 指定UID
-g, --gid 指定GID:指定基本组ID, 此组得事先存在
-G,--groups GROUP1[,GROUP2,...[,GROUPN]] 指明用户所属的附加组,多个组之间用逗号分隔
-c,--comment 指明注释信息
-d,--home 创建以指定的路径为用户的家目录: 通过复制etc/skel此目录并重命名实现:指定的目标路径如果存在,则不会为用户复制环境配置文件
-s,--shell SHELL: 指定用户的默认shell,可用的所有shell列表为/etc/shells文件中
-r,--system: 创建系统用户
useradd -D,显示用户创建时的默认属性信息
useradd -D 选项,修改默认选项的值
修改的结果保存于/etc/default/useradd文件中

usermod命令: 修改用户属性

usermod 【选项】登录
-u, --uid UID: 修改用户的ID为此处指定的新UID
-g,--gid GROUP: 修改用户所属的基本组
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 修改用户所属的附加组 原来的附加组会被覆盖
-a, --append: 与-G一同使用,用于为用户追加新的附加组
-c, --comment COMMENT: 修改注释信息
-d, --home HOME_DIR: 修改用户的家目录:用户原有的文件不会被转移至新位置
-m,--move-home:只能与-d选项一同使用,用于将原来家目录移动为新的家目录
-l, --login NEW LOGIN 修改用户名
-s, --shell 修改用户默认shell
-L, --lock 锁定用户密码 即在用户原来的密码字符串之前添加一个“!“
-U, --unlock 解锁用户密码

userdel 删除用户

userdel 【选项】登录
-r 删除是一并删除其家目录

练习题一:

创建用户gentoo, UID为4001,基本组为gentoo, 附加组为distro(GID为5000)和peguin(GID为5001)
。。。

passwd命令

passwd 【选项】LOGIN
(1)passwd:修改用户自己的密码
(2)passwd USERNAME: 修改指定用户的密码,但仅root有此权限
-d 清除用户密码
-l, -u: 锁定用户和解锁用户
-e DATE: 指明用户的过期期限(日期)
-i DAYS: 非活动期限(时间范围days)
-n DAYS: 密码的最短使用期限
-x DAYS: 密码的最长使用期限
-w DAYS: 警告期限
--stdin 重定向至标准输入 (echo "mageedu" | passwd --stdin docker)

gpasswd命令

gpasswd【选项】group
-a USERNAME:向组中添加用户
-d USERNAME:向组中移除用户

newgrp命令:登录到一个新组

newgrp [-] [group]
-:会模拟用户重新登录以实现重新初始化其工作环境

chage命令:更改密码过期信息

chage【选项】登录
-d
-E
-W
-m
-n

ID命令

id 【选项】。。。【USER】
-u:仅显示有效的UID
-g:仅显示用户的基本组ID;
-G:仅显示用户所属的所有组的ID;
-n:显示名字而非ID

su命令:switch user

登录式切换:会通过重新读取用户的配置文件来重新初始化
su - USERNAME
su - l USERNAME
非登录式切换:不会读取目标用户的配置文件进行初始化
su USERNAME
注意:管理员可无密码切换至其他任何用户

-c 'COMMAND':仅以指定用户身份运行此处指定的命令

其他几个命令

finger查询用户信息的工具
chfn [USER] 改变用户信息
whoami 查询用户名

你可能感兴趣的:(Linux用户及权限管理)