在linux系统中,用户就是 *** 作计算机的身份。
在linux系统中,通常分为三种用户。
超级管理员用户:root。享有所有权利
系统用户:通常和运行的软件或者服务有关联,在软件安装时创建,主要用于资源隔离。
普通用户:由超级管理员用户创建,部分功能受限。
id查看用户信息
uid:用户编号,从0开始(默认0为超级管理员用户,1-999为系统用户,1000为普通用户)
gid:主组编号(主组)
groups:所在组的id(可以有很多个,通常被称为从属组,附加组)
linux系统中用户管理:
/etc/passwd:是用户数据库,每一行是一个用户信息的记录。
结构如下:
name:password:UID:GID:GECOS:dirctory:shell
用户名:密码:用户编号:主组编号:描述信息:家目录:默认的shell程序
用户的增加,删除,修改 *** 作:
用户的 *** 作可以通过修改/etc/passwd文件来实现用户增加,删除,修改 *** 作,但风险极高。
●useradd
●usermod
●usedel
useradd --help
添加用户user01
usermod和useradd用法一样,但是作用与存在的用户
usedel:
删除时候加-r参数。
uid是用户的标识。
组和组的管理:
组是一类特定用户的集合,方便对一批用户统一的管理。
groupadd(添加),groupdel(删除)
在组的管理中,如果这个组是某个用户脱离这个组的关系(此用户被删除或者用户的主组变成其他的组)才可以删除这个组
一般情况下,会自动的创建与用户名同名的组作为这个用户的主组,更多的时候通过从属组的方式来让多个用户成为一个组群。
用户的密码:
/etc/shadow文件,包含了密码的记录
passwd用于修改密码
特殊的登录shell:
/sbin/nologin:如果用户shell值设置为此值,那么这个用户将无法通过登录的方式访问系统。
用户切换:
su/exit:切换用户
su -:模拟登录用户(和真实登录有区别)
man手册su -:
在su命令的时候,最好使用-参数,可以确保我们切换的目标用户的环境是目标用户自己的环境而非原始用户的一些环境信息。
如果一个用户没有设置密码,那么默认此用户只能被root使用su方式登录。
当用户默认shell设置/sbin/nologin,将无法使用su访问登录,在系统上不能访问可交互的shell
useradd/mod -s /sbin/nologin 用户名
在实际使用过程中,很少使用su命令,所以使用sudo让某个用户只需某个命令。
sudo采用文件/etc/sudoers进行配置,由于此文件对于系统中用户权限管理很重要,所以要修改此文件,需要使用命令visudo
例:让普通用户使用root权限:
在/etc/sudoers.d下创建redhat文件
sudo会进行日志记录,记录什么用户在什么时间调用了什么用户权限执行了什么命令。
sudo能够有效地保护系统以及root用户的密码的前提下给予普通更高权限。
配置文件阅读:
#:可以用作于参考的匹配选项。有空格是参考值,没有空格是默认值。
##:用于描述
题目:
(1)创建一个用户alex,uid为1234。
这个用户的密码为redhat。
--help得知如果想要修改一个账户的密码
passwd 用户名
(2)创建下面的用户、组和组成员关系:
名字为adminuser的组,
用户natasha,使用adminuser作为附属组,
用户harry,也使用adminuser作为附属组,
用户sarah,在系统上不能访问可交互的shell,且不是adminuser的成员,
natasha,harry,sarah密码都是redhat
可以通过管道命令来修改密码
echo "pwd"| passwd --stdin 用户名
(3)
useradd -u 3456 jay
echo "glegunge"| passwd --stdin jay
见(1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)