文件以及用户权限相关

一、文件权限详细介绍
1.文件数据权限知识介绍:r w -

普通文件:
r:可以查看文件真实数据信息
w:可以编辑修改文件真实内容
x:文件可以直接执行使用

结论:
1)root用户可以随意查看或者编辑文件信息,但是如果想执行文件,需要具有执行权限设置
2)对于普通文件读权限是最重要的,只有具有读权限,文件才能正常的编辑以及执行



目录文件:
r:可以查看目录下面有什么数据内容
w:可以删除或添加或重命名目录下面的数据内容
x:可以进入到目录中

结论:
1)root用户对于目录文件可以随意做任何操作
2)对于目录文件执行权限最重要,只有具有执行权限,目录文件才能正常查看数据信息以及在目录中做创建删除文件操作

2.文件数据调整方式介绍:

chmod  --- 修改用户权限
针对指定用户修改权限:
chmod o+r/o-r/o=r #o--other ,对其他用户添加 /取消 /设置权限信息
chmod u+r/u-r/u=r #o--other ,对属主用户添加  /取消 /设置权限信息
chmod g+r/g-r/g=r #o--other ,对属组用户添加 /取消 /设置权限信息

实现批量修改用户权限
chmod a+r /a-r/ a=r  #a--all ,对所有用户添加 /取消 /设置权限信息
chmod 760 /etc/shadow

chmod -R #对目录本身以及目录下面所有数据进行递归修改

chown 
修改文件属主信息:
chown ytt /etc/shadow   #单独修改文件属主信息

修改文件属组信息:
chown .ytt /etc/shadow   #单独修改文件属组信息

chown ytt.ytt /etc/shadow   #同时修改文件数主和属组信息

chown -R 

命令补充

find -inum "xxxxx" #xxxx表示inode编号  根据文件inode编号查找数据
find -perm  ??? #???表示数字权限    根据文件权限查找数据

ln --- 用于创建链接文件
ln 源文件 链接文件    #创建硬链接  不能跨分区创建硬链接
ln -s 源文件 链接文件 #创建软链接

二、用户权限
1.用户权限知识介绍:

权限计算方法:
系统创建文件或目录的默认权限:
文件默认权限:644
目录默认权限:755

umask:用于设置权限计算参考值
文件:666 - umask = 666 -022 = 644  偶数运算
文件:666 - umask = 666 -033 = 633 + 1 = 644  奇数运算

目录:777 - umask = 777 - 022 = 755  没有奇偶运算区别

文件以及用户权限相关_第1张图片

2.用户相关命令介绍 useradd usermod passwd id w
(1)添加/删除用户 useradd userdel

张三  运维部门        sa_zhangsan        sa组
李四  开发部门        dev_lisi           dev组
王五  数据库部门      db_wangwu          db组
john  全才            sa_john           sa组 dev db

groupadd #提前创建指定的用户组
-g --- 指定用户组gid数值

useradd  #添加用户
-g --- 指定用户属于那个特定组(主要组)
-G --- 指定用户属于哪个特定组(附属组)
-u --- 指定用户编号信息(uid)
-c --- 指定用户描述信息
-M --- 不创建家目录
-s --- 指定用户登录方式
   用户登录系统设置方式:
   能登录 :/bin/bash
   不能登录:/sbin/nologin

用户和组的关系:
1对1关系:一个用户属于一个组
1对多关系:一个用户属于多个组
n对1关系:多个用于属于一个组
n对n关系:多个用户属于多个组

userdel #删除指定用户
-r --- 彻底删除用户所用信息
w #显示当前登录系统用户信息

踢除指定用户:
历程一:查看已连接用户的ssh会话进程id信息
ps -ef|grep ssh
历程二:停止指定用户得会话进程(等价于踢除指定用户)
kill 进程编号

在这里插入图片描述

(2)修改用户密码信息 passwd

交互设置密码:
passwd 用户名

普通用户设置修改密码有复杂度要求:
1)长度不能小于8位
2)密码需要有字符组合

非交互设置密码:
echo 654321|passwd --stdin sa_zhangsan

=============================================================
01.如何创建多个用户 oldboy01 oldboy02 oldboy03 并且每个用户密码信息为123456 通过一条命令创建出来?(较难)

单个用户创建并设置密码:
useradd ytt01 ; echo 123456|passwd --stdin ytt01

文件以及用户权限相关_第2张图片
如何创建多个用户 ytt01 zhangsan02 lisi03 并且每个用户密码信息位123456 通过一条命令创建出来?(暂缓)

(3)修改已有用户设置信息:usermod

usermod #修改用户信息
-g --- 指定用户属于那个特定组(主要组)
-G --- 指定用户属于哪个特定组(附属组)
-u --- 指定用户编号信息(uid)
-c --- 指定用户描述信息
-M --- 不创建家目录
-s --- 指定用户登录方式
   用户登录系统设置方式:
   能登录 :/bin/bash
   不能登录:/sbin/nologin

3.用户相关文件或目录了解

/etc/passwd --- 记录系统中所有用户信息

文件以及用户权限相关_第3张图片

/etc/shadow --- 记录系统用户密码信息
/etc/group --- 记录系统用户组信息
/etc/gshadow --- 记录系统用户组密码信息

/etc/skel/ --- 保存用户家目录模板文件信息(样本间)

useradd 用户:
创建家目录 --- 类似经历了 cp /etc/skel/*  /home/用户/

-bash-4.2$  --- 命令提示符出现此种情况,表示家目录被毁了
恢复方式:
cp /etc/skel/.b* ~/


.bash_logout 相对于 /etc/rc.local

命令补充:

history   #查看输入的历史命令
     -c   #清除历史命令记录信息
     -w   #将内存中记录的历史命令信息立即保存到历史命令文件中

su     #进行用户之间的切换

ps     # 查看系统进程
  -ef  #显示更全系统进程信息

kill   #杀进程命令
kill pid(进程编号)
kill -9 pid(进程编号) #强制杀死某进程(尽量不要用 慎用!)


系统特殊符号:

*  --- 匹配符号 匹配任意字符信息(根据文件名称查找文件时)
.* --- 匹配符号 匹配任意字符信息(根据文件内容查找文件信息时)

引号符号区别:
""         可以解析识别特殊符号信息  $ '' ()    信息中有空格符号时需要构成一个整体时
''         所见即所得
反引号     在引号里面放入命令信息,将引号里面的命令结果交给引号外面命令再次进行处理识别
没有引号   基本上没有引号和有双引号作用相同,需要输出序列信息时,不能加双引号

4.用户权限提权设置

概念解释:将root用户具有的能力可以分配给指定的用户进行使用

用户提权步骤:
第一个历程:设置指定用户的特殊权限
visudo --- 切换到92行 == vi /etc/sudoers
92行 root   ALL=(ALL)    ALL

sa_zhangsang ALL=(ALL)    /bin/vim /etc/hosts, /bin/touch /etc/*
1):指定授予特殊权限用户信息

2):可以实现权限设置集中管理

3):具体赋予特殊权限信息


运维人员   zhangsa     可以随意管理所有主机
开发人员   lisi        网站服务器(网站代码信息-前端开发)
数据库人员 wangwu      数据库服务器  存储服务器 监控服务器

zhangsan --> 网站服务器-10.0.0.7                            zhangsan --- 管理主机 /etc/   /var/  /opt/
             数据库服务器-10.0.0.51
             存储服务器-10.0.0.31      ---> 权限集中管理服务器(jumpserver)
             备份服务器-10.0.0.41
             监控服务器-10.0.0.51

第二个历程:行使赋予的特权
查询确认是否有特权设置:
sudo -l 
测试特权功能:
sudo touch /etc/ytt.txt  --- 使用特权命令需要加上sudo

用户提权操作的扩展说明:

(1)如何在使用特权时不用输入密码:
sa_zhangsang ALL=(ALL)    NOPASSWD: /bin/vim /etc/hosts, /bin/touch /etc/*

(2)危险权力的排除操作:
sa_zhangsang ALL=(ALL)    NOPASSWD: /bin/vim /etc/hosts, !/bin/vim/etc/sudoers, /bin/touch /etc/*

(3)系统内置命令特权操作是不能赋予其他用户的

5.系统的特殊权限设置
(1)特殊权限位介绍 9+3 = 12位权限

setuid 权限位(属主位设置):对命令文件设置特殊权限,让普通用户具有命令文件属主执行能力
chmod u+s 命令文件    s=4

setgid 权限位(属组位设置):对命令文件设置特殊权限,让普通用户具有命令文件属组执行能力
chmod  g+s 命令文件    s=2

sticky 权限位(其他用户位设置):粘滞位
可以在系统中设置一个共享存储目录,目录中的数据可以互相查看,但是只能文件所有者进行编写和删除操作,不能被其他用户管理
chmod o+t 目录信息     t=1

(2)文件数据上锁权限设置

文件被上锁设置后,系统中所有用户(包含root)都不能对文件进行编辑修改

给文件加上锁权限:
chattr +i /etc/hosts

查看文件是否上锁:
lsattr /etc/hosts

给文件解锁操作过程:
chattr -i /etc/hosts

作用:将重要文件数据信息进行上锁保护

(3)给文件数据权限设置访问控制列表

作用:一个数据文件可以被多个指定用户进行管理  可以被多个指定用户组进行管理
getfcal:查看文件访问控制列表信息

setfacl  -m user:ytt:rw- /etc/hosts
setfacl  -m group:ytt:rw- /etc/hosts

你可能感兴趣的:(linux基本命令,linux,服务器)