Linux学习(用户管理)

Linux是一个多用户的操作系统,引入用户,可以方便的管理Linux服务器,系统默认需要以一个用户的身份登录,系统启动进程也需要以一个用户身份启动,用户可以限制某些进程对特定资源的权限

Linux最多拥有60000以下用户,每一个用户都有一个UserID,Linux根据UID区分用户,UID的长度为32位,用户ID从0开始,Linux用户ID分为三种

  • 0:root用户
  • 1~500:系统用户
  • 500以上:普通用户

Linux中每一个文件活每一个文件夹都拥有一个所属用户和所属组,Linux用户的特点如下:

  • 每个用户都拥有一个UserID,操作系统根据UID区分用户
  • 每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组
  • 每个组都拥有一个GroupID
  • 每个进程都以一个用户的身份运行,限制进程对特定资源的权限
  • 每个可登录用户都拥有一个指定的shell环境

id命令和passwd命令

使用id命令可以查看当前登录的用户信息

使用passwd命令可以修改当前用户的密码(必须知道原来密码和密码设置的必须有难度)

id # 查看当前登录用户的信息
passwd # 修改当前登录用户的密码

useradd命令(root权限)

命令介绍:创建用户

命令参数:

  • -b:指定账户的home目录
  • -d:指定账户的主目录
  • -D:显示或修改useradd默认配置
  • -e:指定账户过期时间
  • -f:新账户的密码不活动期
  • -g:账户主组名称或ID
  • -G:账户的附加组列表
  • -m:创建用户的主目录
  • -M:不创建用户的主目录
  • -N:不创建同名的组
  • -o:允许使用重复的UID创建用户
  • -p:加密后的用户密码
  • -r:创建一个系统用户
  • -s:账户登录到的shell
  • -u:账户UID
  • -U:创建与用户名相同的组

创建用户的流程:

  • 在/etc/passwd文件添加用户信息
  • 如果使用passwd创建密码,密码就会保存到/etc/shdawn中
  • 为用户添加home目录 /home/用户名 
  • 将/etc/skel中的.bash开头文件复制到/home/用户名 home目录中
  • 创建与用户名同名的组,用户默认属于与用户名同名的组
  • 将创建号的组信息保存到/etc/group配置文件中
useradd admin # 添加一个用户
passwd admin # 修改用户的密码
useradd -G admin,root a # 创建一个用户并添加附属组

usermod命令

命令介绍:修改用户信息

参数详情:

  • -d:用户的新主目录
  • -e:设置过期日期
  • -f:几天后密码失效
  • -g:强制设置Group新组
  • -G:设置用户组列表,这里是替换,不是新增
  • -a:修改附属组,原组保留
  • -l:修改登录名称,账户必须未登录
  • -L:锁定账户,如果账户已经登录,则会在账户下次登录时候锁定,锁定账户后使用passwd会自动取消锁定
  • -U:解锁账户
  • -m:修改home目录
  • -s:设置新的shell环境
  • -u:使用新的UID

  

usermod -L a # 锁定用户名为a的用户
usermod -l  b a # 将a用户的用户名改为b
usermod -G a,b,c a # 修改附属组为a,b,c
usermod -a -G a,b,c a # 添加新的附属组 -a 原组保留

 

userdel命令 

命令介绍:删除用户

userdel a # 删除用户,但是保留用户的home数据,需要用户未登录
userdel -r a # 删除用户名为a的用户,不保留home数据,账户需要未登录
userdel -rf a # 删除用户不保留home数据,强制删除,不管用户登录与否

 

 

你可能感兴趣的:(Linux学习(用户管理))