Linux 用户管理
Linux 用户管理
useradd 添加用户
userdel 删除用户
passwd 设置或修改密码
change 修改密码属性
usermode 修改用户属性
id 查看用户UID,GID,所属组
su 用户的角色切换工具
sudo sudo是通过另一个用户来执行命令
visudo visudo配置sudo权限的编辑命令,也可以不同这个命令,直接用vi来编辑/etc/sudoers实现,但推荐使用bisudo来操作(语法检查)
groupadd 添加用户组
groupdel 删除用户组
1./etc/skel目录
/etc/skel目录时用来存放新用户环境变量配置文件的目录,当我们添加新用户时,这个目录下的所有文件会自动被复制到新添加的用户的家目录下:默认情况下,/etc/skel目录下的所有的文件都是隐藏文件;通过修改,添加,删除/etc/skel目录下的文件,我们可以为新创建的用户提供统一的,标准的,初始化用户环境。
/etc/skel的作用:
1.可以把通知的内容放到skel中,让登录的人去看
2.统一初始化新用户的环境,
3.面试题:出现-bash-4.1$问题原因及解决方法,家目录的环境变量文件被误删或损坏,可以从/etc/skel中复制其中所有文件到当前家目录,然后重新登录就可恢复正常。
PS1=[\u@\h \W]\$ 系统环境变量,控制终端显示信息
2./etc/login.defs配置文件
/etc/login.defs 文件是用来创建用户时需要的一些用户配置信息,如创建用户时,是否需要家目录,UID和GID的范围,用户密码的有效期限等。
3./etc/default/useradd文件
/etc/default/useradd文件是在使用useradd添加用户时的一个需要调用的一个默认的配置文件,可以使用'useradd -D参数',这样的命令格式来修改文件里面的内容。
GROUP=100
HOME=/home 把家目录建立在/home下
INACTIVE=-1 是否启用帐号过期停权,-1表示不启用
EXPIRE= 帐号终止日期,不设置表示不启用
SHELL=/bin/bash 新用户默认所用的shell类型
SKEL=/etc/skel 配置新用户家目录环境变量文件的存放路径
CREATE_MAIL_SPOOL=yes 创建email文件
4.useradd 添加用户
-c comment 新帐号password的说明栏
-d home_dir 新帐号每次登入时所使用的home_dir。预设值为default_home内login名称,并当成登入时目录名称
-e expire_date 帐号终止日期,日期的指定格式时MM/DD/YY
-g initial_group group名称或以数字来做为用户登入起始用户组(group)。用户组名须为系统现有存在的名称,用户组数字也须为现有用户组。预设的用户组数字为1
-G group,[...] 定义此用户为多个不同groups的成员。每个用户组使用“,”逗号分隔。用户组用-g选项的限制。默认值为用户的起始用户组。
-M 不建立用户家目录,优先于/etc/login.defs文件的设定,一边创建虚拟用户时不建立家目录,部署服务时需要创建虚拟用户。
-s shell 用户登入后使用的shell名称。默认值为不填写,如果设置为/sbin/nologin 用户无法登录
-u UID 指定用户的UID,改值必须唯一。
5.groupadd 添加组
groupdel 删除组
与groupadd命令相关的文件有:
/etc/group 用户组相关文件
/etc/gshadow 用户组加密相关文件
-g gid 指定组id
6.passwd 修改密码
--stdin 从标准输入读取修改密码
echo '123456' | passwd zhangjin --stdin
7.chage 修改用户密码有效期限相关命令
-l 查看用户密码信息
-E 设置帐户过期时间
chage -E '2020/01/01' zhangjin123
8.userdel 删除用户
-r 删除家目录
一般不能确认用户相关目录有没有重要数据就不能用-r
删除经验:
1.在/etc/passwd中注释改用户,观察一个月,这样出问题可以还原
2.把登录shell改成/sbin/nologin
3.openldap 帐号统一管理,ladp库里干掉用户,所有服务器全部都没了。
提示:只要修改和删除都要小心谨慎
8.usermod 修改用户信息
-i login_name 变更用户login时的名称为login_name,其余信息不变
9.w 查看登录用户,并显示用户当前操作
10.su 切换用户
su - 用户 -表示同时切换环境变量到该用户
-c 指定用户身份执行任务
su - zhangjin -c '/bin/sh /home/zhangjin/bin/deploy.sh'
浙公网安备 33010602011771号