也称傀儡用户
linux 用户管理思维导图 |
用户管理
by ljcccc.com
用户的分类
root用户
系统权限最高的用户,UID为0
系统(虚拟)用户
也称傀儡用户
centos7中UID为1-1000
centos6中UID为0-499
用户的命令解释器 /sbin/nologin
无需登录系统
程序、服务运行需要有一个傀儡用户执行
比如nginx、mysql
普通用户
centos7中UID为1001+~
centos6中UID为500+~
UID user id 用户的身份证
GID group id 用户所属组的id
用户相关配置文件
/etc/skel
存放新用户配置文件的目录
存放新用户配置文件的目录
用户信息文件
以:为分隔符分为7列
username
密码占位符
UID
GID
注释信息
家目录
用户登录的shell
/etc/shadow 用户密码文件
以:为分隔符分为9列
用户名称
密码:一串长字符,!!表示无密码
最近一次变更密码,从1970到现在过了多少天
密码最少使用天数,0表示无限制
密码最长使用天数,默认999999不过期
系统会砸密码到期前N天提醒变更密码
密码过期后N天强制提示变更用户密码
账号失效时间
保留使用
/etc/gshadow
用户组密码文件/etc/group
用户组信息文件
用户管理命令
用户组相关
groupadd
创建组 -g 指定组ID
groupmod
修改用户组信息
groupdel
删除用户组信息
删组之前先删除组下面的用户
用户相关
useradd增加用户
参数
-u 指定用户的uid
-g 指定用户所属组,默认与用户名一样
-M 表示不创建家目录,一般在创建虚拟用户的时候使用
-s 指定用户使用的shell
例:增加一个用户不创建家目录并禁止登陆
useradd ljcccc -M -s /sbin/nologin
userdel删除用户
删除用户,在/etc/passwd中删除
-r 删除用户所有相关信息
userdel 默认不会删除用户的家目录和邮箱
usermod
修改已有用户信息
参数
-u 指定修改用户的uid
-g 指定修改用户的基本组
-G 指定修改用户的附加组,使用逗号隔开增加多个附加组,覆盖原有组
-aG 对用户追加附加组
-d 指定修改用户的家目录
-s 指定修改用户使用的bash shell
-c 指定修改用户的注释信息
-l 指定修改用户的登录名
-L 指定要锁定的用户
-U 指定要解锁的用户
passwd
设置密码
--stdin 从管道中获取用户的密码(非交互式设置密码)
echo ‘ljcccc’ | passwd --stdin liangjc
chown
修改文件或目录属组属主信息
chown ljc ljccccc.txt 只修改所有者
chown .ljc ljccccc.txt 只修改属组(前面有.)
chown ljc.ljc ljcccc.txt 同时修改属组和属主
-R 递归修改文件或目录的属组属主
用户查询命令
w 显示系统已经远程登录的用户
当前系统时间
系统运行时间
远程用户连接数
系统负载 1分钟、5分钟、15分钟
远程登录用户名
远程用户登录ip
last 显示近期用户或终端的登录情况
id 后面跟用户名,查询用户信息
用户是否存在
用户uid。gid
用户所属组
sudo 用户临时提权
su 与 su - 的区别
su - 用户和shell都切换
su 只切换用户,不切换shell
sudo 让普通用户临时以系统管理员的身份执行命令
sudo 的用法
sudo -l 查看用户所有用的权限
visudo
格式(100行左右):
谁可以使用 允许使用的主机= (以谁的身份) 可执行哪些命令
授权某个命令
lccc ALL=(ALL) /usr/bin/yum
授权多个命令
lccc ALL=(ALL) /usr/bin/yum,/usr/bin/rm
授权但排除某个命令
lccc ALL=(ALL) /sbin/*,!/sbin/init
授权所有命令,不需要密码
lccc ALL=(ALL) NOPASSWD:ALL