目录
Linux系统是一个多用户多任务的分时操作系统,即可通过不同的用户来管理操作系统。我们可以给不同的用户设置不同的权限,来实现不同的需求。而在企业中也是通过创建不同用户,分配不同的权限,这样企业中不同的职位就可根据自己用户权限的大小实现工作中的分工。
用户标识号UID的分类:
操作系统版本 | 用户类型 | UID范围 |
CentOS 6 | 普通用户 | 1~499 |
超级用户 | 固定值为0 | |
程序用户 | 500~60000(可修改) | |
CentOS 7 | 普通用户 | 1000~60000(可修改) |
超级用户 | 固定值为0 | |
程序用户 | 1~999 |
? ? ?共7段,用冒号“:”隔开
新建用户帐号时,从 /etc/skel 目录中复制而来
cat? /etc/default/useradd
~/.bash_profile:开机前先运行的命令文件
~/.bashrc:开机前先运行的命令文件
~/.bash_logout:关机前先运行的命令文件
通式:useradd? 选项? 新用户名
选项 | 说明 |
---|---|
-u | 指定用户的 UID 号,要求该 UID 号码未被其他用户使用 |
-M | 不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录 |
-s | 指定用户的登录 Shell |
-e | 指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式 |
-d | 指定用户的宿主目录位置(当与-M 一起使用时,不生效) |
-c | 添加用户的备注信息 |
-g | 指定用户的基本组名(或使用 GID 号) |
-G | 指定用户的附加组名(或使用 GID 号) |
拓展:
useradd? -u? 2000? -M? -s? /sbin/nologin? dh12
//指定用户dh12的UID号为2000并指定该用户为程序用户不允许登录?
对已有用户账号的属性进行修改
通式:usermod? 选项? 已有用户名
为用户账号设置密码或修改密码
通式:passwd? 选项? 用户名
拓展:
如何生成12位随机密码?
cat? /dev/random? |? tr? -cd? [a-zA-Z0-9]? |? head? -c? 12
删除用户
通式:userdel? 选项? 用户名
用户标识号GID的分类:
操作系统版本 | 用户类型 | GID范围 |
CentOS 6 | 普通用户 | 1~499 |
超级用户 | 固定值为0 | |
程序用户 | 500~60000(可修改) | |
CentOS 7 | 普通用户 | 1000~60000(可修改) |
超级用户 | 固定值为0 | |
程序用户 | 1~999 |
添加组账号
通式:groupadd? 选项? 组账号名
选项 | 说明 |
---|---|
-g | 指定组账号的GID |
添加、设置、删除组成员
通式:gpasswd? 选项? 组账号名
删除组账号
通式:groupdel? 组账号名
查询用户帐号的详细信息
通式:finger? 用户名
?查询已登录到主机的用户信息
通式:w? 选项? 组账号名
只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令
通式:who? 选项? file
选项 | 说明 |
---|---|
-a | 列出所有信息,相当于所有选项。 |
-b | 列出系统最近启动的时间日期。 |
-l | 列出所有可登陆的终端信息。 |
-m | 仅列出关于当前终端的信息,who -m 命令等同于 who am i 。 |
-q | 列出在本地系统上的用户和用户数的清单。 |
-r | 显示当前系统的运行级别。 |
-s | 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。 |
-u | 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。 |
-T 或 -w | 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。 |
权限字符表示 | 权限数字表示 | 说明 | |
---|---|---|---|
目录 | r | 4 | 可查看目录下有哪些文件 |
w | 2 | 可修改目录下的文件 | |
x | 1 | 可执行(作为目录最小的权限) | |
文件 | r | 4 | 可读取文件内容 |
w | 2 | 可修改文件内容 | |
x | 1 | 可运行文件 |
拓展:
若一个文件可以被删除,那与它本身权限有关吗?
答:当前用户如果有该文件所在目录的wr权限,就可以实现删除操作
将/opt/test复制到/mnt,当前用户一定要有什么权限?
答:当前用户一定要有r权限
注:能不能操作目录和文件,和当前登录用户的权限有关系
对象 | 对象字符表示 |
---|---|
所属主 | u |
所属组 | g |
其他用户 | o |
所有用户 | a |
对属主、属组,其他用户、所有用户进行修改文件权限的操作
用法:chmod? u+rwx? 文件名? ? ? ? ? ?或? ?chmod? 777? 文件名
? ? ? ? ? //给文件的属主添加rwc权限
? ? ? ? ??
? ? ? ? ? chmod? g-w? 文件名? ? ? ? ? ?或? ?chmod? 757? 文件名
? ? ? ? ? //给文件的属组删除w权限
修改目录/文件的属主、属组
通式:chown? 用户名:组名? 文件名
?用法:
?chown? 用户名:组名? 文件名? ? ? ? ? ? ? ? ? ? ? ??? ? ?//目录/文件的属主、属组都修改
?chown? 用户名 文件名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //只修改目录/文件的属主
?chown? :组名?文件名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//只修改目录/文件的属组
umask的值可以用来保留在创建新文件时的初始权限
如当umask值为0123时,即目录权限为654,文件权限为644
Sticky权限设定:?chmod? o+t? 目录名? ? ? ? ? ? ? ? ? ? ? ? ? //添加Sticky权限
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?chmod? o-t? 目录名? ? ? ? ? ? ? ? ? ? ? ? ? //删除Sticky权限
只能运用在可执行文件上,即开放文件所有者的权限给其他用户,当用户执行该执行文件时,会拥有该执行文件所有者的权限
suid权限设定:chmod? o+s??文件名
如chmod? u+s? /usr/bin/vim? ? ? ? ? ? ? ? ? ? ?
//给vim加上suid权限,代表所有用户可以使用vim打开并编辑所有文件
?sgid权限设定:chmod? g+s??文件名
如chmod? g+s? /usr/bin/vim? ? ? ? ? ? ? ? ? ? ?
//给vim加上sgid权限,代表所有用户可以使用vim所属组的权限