当我们用root用户登陆linux时候 会显示一些信息 root@localhost 意思是 当前登陆用户为root localhost是这台linux的主机名 ~ 是当前的用户目录 那后面的#是什么意思呢?

#号是当前用户具有管理员权限 管理员是当前系统最高权限的用户 我们新建一个用户为Han 切换到Han用户 发现之前显示的#号变成了$ 这是因为我们用useradd命令创建的用户默认为普通用户 那系统是怎么分别用户是管理员用户还是普通用户呢? 系统是用UID(User IDentification)即用户标识符来分别用户的身份 在RHEL7中

管理UID为0:系统的管理员用户
系统用户UID为1~999:默认是无法登陆系统
普通用户UID为1000开始:适用于日常工作的用户

linux是一个多用户、多任务的操作系统 除了UID还有GID(组身份标识符) 如果用户很多权限又都一样时,我们可以将用户规划到一个工作组,这样可以同一规划权限。 一些常用的用户和用户组命令 useradd命令(创建用户)

-d                   指定用户的家目录默认(/home/user)
-e                   账户的到期时间 格式为 YYYY—MM—DD
-g                   指定用户属于的用户组
-u                   指定用户的UID
-s                   指定用户登入后所使用的shell(默认是/bash/shell,指定 /sbin/nologin则该用户不能登陆)

每创建一个用户时系统会自动创建一个同名的用户组 userdel(删除用户)

-f                  强制删除用户                             
-r                  删除用户和组并且删除用户的家目录和邮件通知目录

usermod(更改用户权限)

-d               修改用户登入时的目录
-e               修改帐号的有效期限
-g               修改用户所属的群组
-u               修改用户UID
-l                修改用户帐号名称
-L               锁定用户密码,使密码无效
-s               修改用户登入后所使用的shell

#如果遇到currently userd by processes 可能是要修改的用户已经登陆 先退出登陆的用户再用 root 用户修改 passwd(修改用户密码等)

--stdin           使用标准输入修改密码例如 echo "123456" | passwd --stdin username
-d                  用户可用空密码登陆系统
-S                 列出密码的相关信息,以及密码的加密算法名称
-l                   锁住用户,禁止登陆
-u                  解开已锁住的用户