Linux用户和组管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux用户和组管理相关的知识,希望对你有一定的参考价值。

用户和组管理

权限(r,w,x):

文件:

r:可读,可以使用类似cat等命令查看文件内容
w:可写,可以编辑或删除此文件
x:可执行,eXacutable,可以命令提示符下当作命令提交给内核运行

目录:

r:可读,可以对此目录执行ls以列出内部的所有文件
w:可写,可以在此目录创建文件
x:可执行,可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息

用户和组

用户:UID,/etc/passwd 存放用户UID的信息数据库 组:GID,/etc/group 存放用户GID的信息数据库

用户类别:

管理员:0 普通用户:1-65535 系统用户:1-499 一般用户:500-60000

组类别:

管理员组: 普通组: 系统组: 一般组:

私有组:创建用户时,如果没有为其指定所属组,系统会自动为其创建一个与用户名同名的组 基本组:用户的默认组 附件组、额外组:默认组以外的其它组

用户管理:

# 添加用户的默认格式所在位置
/etc/default/useradd
cat useradd
EXPIRE =   /指定用户过期时间 不指定值表示永不过期

# 添加用户
useradd [options] USERNAME
     -u  UID
     -g  GID(基本组)
     -G  GID,...(附加组)
     -c  “COMMENT”用户信息
     -d  /path/to/directory  指定用户家目录
     -s  SHELL  指定用户shell
     -m -k 创建家目录 -k的意义并且/etc/skel/的内容强行复制到家目录下
     -M  不指定用户家目录
     -r  添加一个系统用户  不能登录系统,没有家目录

/etc/login.defs 定义了创建用户时的用户 组 密码默认属性
/etc/skel/  定义了创建用户时此目录下的环境变量文件强制复制到用户家目录下
/etc/shells:指定当前系统可用的安全shell

# 删除用户
userdel [option] USERNAME
     -r 同时删除用户的家目录

# 查看用户的账号属性信息
id [option] USERNAME
 -u 查看UID
 -g 查看GID(基本组)
 -G 查看GID,...(附件组)
 -n 查看名字与 u,g,G一起使用 如:un,gn Gn
 
 # 查看用户账号信息
 finger USERNAME
 
 # 修改用户账号属性
 usermod
   -u 修改UID
   -g 修改GID
   -a -G GID 如不使用-a选项,会覆盖此前的附件组
   -c 修改注释信息
   -d -m 修改家目录信息,要和-m一起使用把之前家目录文件复制到新家目录下
   -s 修改shell信息
   -l 修改用户登录名 usermod -l 新用户名 旧用户名
   -L 锁定账号
   -U 解锁账号
   
# 修改用户的默认shell
chsh USERNAME

# 修改用户注释信息
chfn USERNAME
 

组管理

# 创建组
groupadd [GRPNAME]
  -g 指定GID
  -r 添加为系统组

# 修改组属性
groupmod [GRPNAME]
  -g 修改GID
  -n 修改组名GRPNAME
# 删除组
groupdel [GRPNAME]

# 为组设定密码 目的不改变用户原有组的情况,加入一个新组。用完后可以退出新加入的组
gpasswd [GPRNAME]

加入新组命令newgrp [GRPNAME]
退出新组命令exit

密码管理

# 修改用户密码
passwd [USERNAME]
   --stdin  标准输入 如:不通过交互更改zhanglw密码 echo "redhat" | passwd --stdin zhanglw
   -l 锁定账号
   -u 解锁账号
   -d 删除用户密码
   -n 设置密码最短使用期限
   -x 设置密码最长使用期限
   
# 修改账号和密码有效期限
chage [options] 用户名
  -d 最近一次的修改时间
  -E 过期时间
  -I 非活动时间
  -m 最短使用期限
  -M 最长使用期限
  -W 警告时间

# 检查用户账号完整性
pwck [USERNAME]

#whatis passwd

#man 5 passwd

#cat /etc/shells 查看shell信息

/etc/passwd 文件内容含义
account:登录名 password:密码 UID: GID:基本组ID comment:注释 HOME DIR:家目录 SHELL:用户的默认shell

/etc/group
组名:密码: GID:以此组为其附加组的用户列表 

/etc/shadow 文件内容含义
用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间:

影子口令:

用户密码存放在 /etc/shadow
组密码存放在 /etc/gshadow

环境变量:

​ PATH ​ HISTSIZE ​ SHELL

以上是关于Linux用户和组管理的主要内容,如果未能解决你的问题,请参考以下文章

命令行界面下的用户和组管理之usermod的使用

linux-用户和组的管理

Linux用户和组的基础概念

Linux中如何创建管理及查询用户和组

Linux设置用户密码的有效期限

Part1 Linux系统账号和权限管理