用户

  • 超级管理员用户 root 0
  • 普通用户 (0-65535)
    • 系统用户:启动系统服务和进程的用户,不可以登陆. (1-999centos7)(1-499centos6)
    • 可登陆用户:能登录系统的用户(1000-65535 centos7)(500-65535 centos6)

普通用户的id是递增的,系统用户的id是递减的

用户添加useradd

创建用户
Usage: useradd [options] LOGIN
useradd taosiyu -d # 指定用户的家目录
useradd -d /文件夹/文件 用户名
ll home
ll /opt/taosiyu
cd /opt/taosiyu
# bashrc 别名
# profile -g # 指定用户组的id
useradd -g 组 用户名
id taosiyu -G # 指定用户的附加组 groups 附加组
useradd -G root,taosiyu1 taosiyu2
# 把taosiyu2 加到root, 和taosiyu1的附加组中 在组里就能使用组里的权限处理文件
id taosiyu3 cd /text/
ll /etc/skel/ -a -k # 指定复制哪个文件夹下的内容,需要和-m一起使用
-m # 创建用户的家目录
useradd -k /etc/sysconfig/metwork-scripts/ -m taosiyu
ll /home/taosiyu -c + 'message' # 创建指定用户的描述信息
useradd -c "where are your future"
vim /etc/passwd
# /etc/passwd查看描述信息"message" -N
# 不创建同名的组,以user为组 GROUP=100 默认100,
# 这里就是系统用户组
useradd -N taosiyu -r
useradd -r taosiyu
id taosiyu -s # 指定用户登录后使用的shell
cat /etc/shells
useradd -s /sbin-nogloin 用户名
passwd taosiyu
ssh taosiyu@190.198.107.133
#nologin登录后默认被系统退出 -u # 指定用户的id,创建用户时uid始终以最大uid顺延
useradd -u 2000 taosiyu
id taosiyu
useradd taosiyu
useradd taosiyu1
id taosiyu1 # uid=2001 -D 显示系统的默认配置
useradd -D # 查看系统配置
-D [option] -s可以修改系统的默认配置. 每创建一个用户都是从/etc/skel复制
  • 相关文件

    • /etc/default/useradd 创建用户的默认文件.
    • /etc/skel/*默认复制的文件
    • /etc/login.defs

用户修改usermod

usermod修改
-c # 修改描述信息
usermod -c 'taosiyu made in furtue' taosiyu
grep 'taosiyu' /etc/passwd -d # 修改家目录,默认不会创建新目录.如果向移动家目录,则需要使用-m
-m # 移动家目录,只能和-d一起使用
cd ~
ll /home
usermod -d /opt/taosiyu taosiyu
ll /home
grep 'taosiyu' /etc/passwd -g # 修改用户组
-G # 修改客户的附加组,默认情况是替换,将之前的附加组替换成新设置的(后面必须是组)
usermode -G root,taosiyu taosiyu1
id taosiyu1
username -G taosiyu2 taosiyu1 # taosiyu2替换上边的root,taosiyu附加组 -a # 修改客户的添加,默认是追加附加组 -a -G 顺序不能变
usermod -a -G root taosiyu1 -l +newname +oldname # 修改用户的登录名
usermod -l taosiyu guorui
id taosiyu -L # 锁定用户,不能登录系统,修改密码默认解锁用户锁.
passwd taosiyu
usermod -L taosiyu
ssh taosiyu@192.168.107.133 # 拒绝登录 -U # 解锁用户锁
-s # 修改用户登录后的shell
-u # 修改用户的uid
-e # 失效日期,后面加年月日,修改用户的失效时间,失效后无法登陆
usermod -e 2019-08-07 taosiyu # 后面加年月日

删除用户userdel

默认删除用户,不删除用户家目录
userdel taosiyu
id taosiyu
ll /home/taosiyu -f # 强制删除,登录状态下也能删除
# 删除用户时,默认家目录不会被删除,默认情况下,用户登录状态下不能删除用户,强制删除后用户不退出还可以使用.
-r # 删除家目录
userdel -f -r taosiyu

查看用户相关信息id

-g 只显示组id
-G 只显示附加组id
-u 只显示用户id
-n 显示名称,需要和显示id搭配使用

切换用户

su [options] [-] [USER [arg]...]

-    # 完整切换,登录式切换,环境变量等都会切换
-c # 切换用户执行命令,然后切换回原用户 echo $PATH # 查看环境变量
exit # 退出切换

切换用户的方式

  • 完整切换:su - username 登录式切换,环境变量等都会切换
  • 不完整切换:su username不会切换用户的环境变量,家目录等.
  • root切换普通用户不需要密码,非root用户切换需要密码

切换用户执行命令

su - taosiyu -c 'whoami'
ll /home/root

sudo执行本身不能执行的命令

sudo 修改配置文件为/etc/sudoers

vim /etc/sudoers
taosiyu ALL=(all) NOPASSWD:ALL
sudo useradd guorui 用户名 ALL=(ALL) NOPASSWD:ALL
# NOPASSWD,不用输入密码

/etc/passwd文件

用户名:密码,使用x占位:UID:GID:描述信息:家目录:登录后使用的shell

设置密码passwd

passwd taosiyu # 设置密码

-d # delete 删除指定用户的密码,删除之后用户不能登陆
passwd -d taosiyu -l # 锁定用户
-u # 解锁用户
-e # 在下次登陆以后强制用户修改密码
-f # 强制操作
-x maximun=Days # 密码的最长使用时间
-n minmum=DAYS # 密码的最短使用时间
-waningday # 密码过期多长时间提醒
-i --inactive=Days # 密码过期多久之后该用户不能使用
# inacticeday 密码过期多长时间以后禁用
--stdin # 从标准输入读取密码
echo '123'|passwd --stdin user # 修改密码

存放文件/etc/shadow