欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

文件权限(二)和用户管理

程序员文章站 2022-06-03 21:54:06
...

课程目录

1> 操作系统特殊权限位介绍 (3位)
2>操作系统文件加锁方式 (root)
3>操作系统用户管理
操作系统用户知识回顾
操作系统用户相关命令
操作系统密码管理方法

普通用户出现权限拒绝,如何处理:
1>修改文件或目录权限 chmod
2>进行用户身份信息转换 su - root
3>进行用户提权操作 sudo
4>修改用户特殊权限位

操作系统的特殊权限位

特殊权限位对应的位置必须有X权限,不然特殊权限就没有意义
setuid : s 主要是对属主权限设置 数值4
?概念: 可以让所有普通用户获得指定文件属主用户的能力,像属主用户一样执行命令
作用说明: 有些特殊命令操作权限 -->赋予 -->所有普通用户
设置方法: chmod 改变文件权限信息
chmod u+s / u-s 文件
chmod 4xxx 文件信息

setgid : s 主要是对属组权限设置 数值2
概念: 可以让所有普通用户获得指定文件属组用户的能力,像属组用户一样执行命令
设置方法同上

sticky粘滞位 : t                                数值1
概念说明: 是给目录设置的特殊权限,将一个目录变为一个共享资源的目录,文件数据只能被属主用户管理,其他用户只能看文件内容

设置方法 chmod o+t/o-t 目录信息
chmod 1xxx 目录信息
.
属主权限位总结: srwx
属组权限位总结: srwx
其他用户权限位 trwx

总结权限命令:
chmod —修改数据权限信息
针对不同用户修改
属主用户:chmod u + - =srwx 文件/目录
属组用户 chmod g + - = srwx 文件/目录
其他用户 chmod o+ - = trwx 文件目录

针对所有用户修改
按照字符修改:
chmod a +/-/=rwx 文件/目录
按照数值修改
chmod 000~777 文件/目录
chmod 0000-7777 文件/目录
递归修改目录以及目录下所有数据权限
chmod -R

PS : chmod 适用前提,必须对权限非常熟悉

chown ---- 修改文件数据属主和属组信息
chown 属主.属组 文件/目录
例如 chown old.old old.txt
将文件old.txt的属主修改为old 属组为old
chown -R 递归修改

给文件上锁命令:
查看上锁命令 lsattr
chattr +i 文件或目录 上锁
chattr -i 解锁
说明:系统中重要文件必须上锁

操作系统用户管理

1>回顾
用户分类:
超级管理员root uid 0
虚拟用户 管理进程信息 nobody 1-999 不能登录系统 没有家目录
liinux进程信息如何查看: 命令 ps
ps :显示当前某一时刻的进程信息,
ps -e 显示更多的进程信息
ps -ef 查看系统中所有服务进程
ps -ef |grep 进程 查看具体进程
普通用户:
权限较低的用户 uid 1000+

用户标识信息:
uid 用户身份证号
gid 用户组编号
系统识别用户只关注uid号和gid号
2 ) 和用户或者用户组相关文件
/etc/passwd 重点了解 保存系统所有用户信息
/etc/shadow 保存系统所有用户的密码信息
/etc/group 保存系统所有用户组信息
/etc/gshadow 保存系统所有用户组密码信息
/etc/passwd 详细信息解释

sunwukong01❌1024:1024::/home/sunwukong01:/bin/bash
sunwukong02❌1025:1025::/home/sunwukong02:/bin/bash
sunwukong03❌1026:1026::/home/sunwukong03:/bin/bash
sunwukong04❌1027:1027::/home/sunwukong04:/bin/bash
sunwukong05❌1028:1028::/home/sunwukong05:/bin/bash
01 02 03 04 05 06 07

   01. 用户名称信息
   02. 早期密码信息
   03. 用户UID数值信息
   04. 用户GID数值信息
   05. 用户描述信息
   06. 用户家目录信息
   07. shell信息  登录系统方式 
       /bin/bash      --- 可以登录	
       /sbin/nologin  --- 不可以登录系统	 	   
   
   测验: passwd文件中有多少个虚拟用户
         grep 
         awk			 
   思路1) 查出虚拟用户
          grep "/sbin/nologin" /etc/passwd
		  awk '$NF~/nologin/' /etc/passwd
   
   思路2) 将查出虚拟用户进行统计
          grep -c "/sbin/nologin" /etc/passwd
          awk '$NF~/nologin/{i++}END{print "虚拟用户数量:",i}' /etc/passwd

3 ) 和用户相关目录
/etc/skel 用户家目录样板房

  1. 和用户相关命令
    useradd 创建用户
    useradd -u 指定用户UID信息
    useradd -c 设置用户的描述信息
    useradd -g 指定用户属于哪个主要的组
    -G 指定用户属于哪个附属的组
    [[email protected] ~]# useradd alex07 -u 2002 -c dba -g olddog -G linux
    [[email protected] ~]# grep -E “olddog|linux” /etc/group
    linux❌1500:alex07
    olddog❌1201:
    [[email protected] ~]# id alex07
    uid=2002(alex07) gid=1201(olddog) groups=1201(olddog),1500(linux)

创建虚拟用户时
useradd -s /sbin/nologin 指定登录方式
useradd -M 不能有家目录
#useradd alex08 -M -s /sbin/nologin * — 如何创建虚拟用户
# ll -d /home/alex08
ls: cannot access /home/alex08: No such file or directory
[[email protected] ~]# grep alex08 /etc/passwd
alex08❌2003:2003::/home/alex08:/sbin/nologin
[[email protected] ~]# su - alex08
su: warning: cannot change directory to /home/alex08: No such file or directory
This account is currently not available.

usermod 修改用户信息
修改uid
修改用户描述信息
修改用户组

userdel
-r 把用户相关家目录一起删掉,彻底删掉