Linux-1.别名2.用户管理3.权限管理

Linux-别名、用户管理、权限管理、进程管理、软件管理、磁盘管理

目录章节
1别名
2.用户管理
3.权限管理

提示:程序运行起来的时候就是进程,grep运行的时候也是个进程,过滤出想要的进程后会排除掉grep进程
操作步骤:ps -ef |grep -v grep |grep 'xxxx进程号'

1.别名

概述:别名一般给命令设置,适用于给命令设置个昵称,小名。
举例子:ll ==等于ls -l --color=auto
使用场景:①给命令设置个快捷方式,使用起来方便,②举例子给危险命令rm 设置保护措施。

1.2创建别名

临时生效:断开终端会失效

①查看别名 这是系统自带的别名
[root@localhost ~]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
②输出提示信息
[root@localhost ~]# echo xxx command is not found
xxx command is not found
③设置别名
格式:alias  昵称=‘命令’

在这里插入图片描述

确定想要删除文件分为两个步骤 临时:
①使用命令的绝对路径/bin/rm
②使用撬棍 \(这个是键盘上的反斜线 键盘上的回车键) 取消别名

创建别名永久生效:需要加入配置文件

①配置文件有两个  ~ /.bashrc   或  /etc/profile 
第一步编辑配置文件vim  ~/.bashrc  
第二步编辑配置文件/etc/profile 
第三步使用source   /etc/profile   让配置文件生效
②取消别名的命令unalias 

2.用户管理

核心内容:

2.1 Linux概述与分类 GID,UID

(1)概述:Linux系统有多种不同的用户。大部分操作使用的是root来实现,进行系统管理的时候root权限最大,使用普通用户进行操作提升安全,Linux是多系统用户。
(2)UID ,GID
UID user id 身份证号码
GID group id 类似户口本号码
用户分类

用户分类uid
rootuid为0
普通用户uid ≥1000,无法进行系统更改权限小,只有在家目下有权限
虚拟用户uid <1000,傀儡用户,用户服务,进程运行使用的用户,不能直接使用

2.2 Linux用户相关文件/etc/passwd的含义

用户的文件含义
/etc/passwd存放用户的基本信息
/etc/shadow存放密码的基本信息
/etc/gshadow存放用户组密码的基本信息
/etc/group存放用户组的基本信息

/etc/passwd每一列的含义
在这里插入图片描述

2.3Linux用户的增删改查命令

(1)增加
useradd增加用户

useradd含义
-u指定用户的uid
-s指定命令解释器 默认的情况下是/bin/bash
-M不创建家目录

修改密码:passwd命令

passwd命令选项参数含义
--stdin非交互式修改密码
①创建用户
[root@localhost ~]# useradd zhx
②过滤用户
[root@localhost ~]# grep 'zhx' /etc/passwd
zhx:x:1002:1002::/home/zhx:/bin/bash
③过滤/bin/bash
[root@localhost ~]# grep '/bin/bash' /etc/passwd
root:x:0:0:root:/root:/bin/bash
fwkyx:x:989:998::/home/fwkyx:/bin/bash
admin:x:1001:1001::/home/admin:/bin/bash
zhx:x:1002:1002::/home/zhx:/bin/bash
④举例子:
创建个用户xxxx 指定uid xxx   指定命令解释器  /sbin/nologin  不创建家目录
[root@localhost ~]#useradd  xxx  -u xxx  -s  /sbin/nologin  -M  xxx(用户)
⑤查看某一个用户信息
[root@localhost ~]# id  xxx(用户)  
⑥passwd  修改密码 
第一种是交互式的修改密码方式:
[root@localhost ~]#passwd   xxxx(如果不加用户,passwd是修改当前的用户密码)
第二种非交互的修改密码,批量修改密码:
[root@localhost ~]# echo  xxx|passwd    --stdin  xxx(用户)
⑦设置完密码想要切换到用户
第一步是用远程工具xshell登录
第二步是切换的方法登录到用户
[root@localhost ~]# su  - xxx(所要切换的用户)
退出当前用户ctrl +d 或者logout
[root@localhost ~]# ctrl +d  

重点提示:切换用户su - 和su 的区别
su命令中的-,是su的选项参数: -, -l, --login
切换用户的时,更新用户的配置与环境变量

(2)查看用户信息
id 查看用户的uid,gid,用户组的信息,检查用户是否存在
whoami 查看当前用户名字
w 能查看当前用户登录的信息
last 用户的登录情况
lastlog 查看所有用户最近1次登录情况
w——>uptime——>who

[root@localhost ~]# whoami 
root
[root@localhost ~]# id zhx
uid=1002(zhx) gid=1002(zhx) 组=1002(zhx)
[root@localhost ~]# w
 10:54:13 up 45 min,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.0.0.1         10:11    5.00s  0.09s  0.02s w
[root@localhost ~]# last
root     pts/0        10.0.0.1         Thu Sep  7 10:11   still logged in   
reboot   system boot  3.10.0-1127.el7. Thu Sep  7 10:09 - 10:58  (00:49)    
root     pts/0        10.0.0.1         Wed Sep  6 10:27 - down   (04:55)    
reboot   system boot  3.10.0-1127.el7. Wed Sep  6 10:26 - 15:22  (04:56)    
root     pts/0        10.0.0.1         Tue Sep  5 11:13 - 16:42  (05:28)    
reboot   system boot  3.10.0-1127.el7. Tue Sep  5 11:13 - 16:43  (05:29)    
root     pts/0        10.0.0.1         Fri Sep  1 08:04 - 17:44  (09:40)    
root     pts/0        10.0.0.1         Thu Aug 31 10:13 - 19:38  (09:24)    
root     pts/0        10.0.0.1         Wed Aug 30 06:47 - 18:10  (11:22)    
root     pts/0        10.0.0.1         Tue Aug 29 18:39 - 03:31  (08:51)    
reboot   system boot  3.10.0-1127.el7. Tue Aug 29 10:53 - 16:43 (7+05:50)   
root     pts/0        10.0.0.1         Tue Aug 29 07:53 - crash  (02:59)    
reboot   system boot  3.10.0-1127.el7. Tue Aug 29 07:39 - 16:43 (7+09:03)   
reboot   system boot  3.10.0-1127.el7. Sun Aug 27 17:22 - 17:44  (00:21)    
root     pts/0        10.0.0.1         Sun Aug 27 08:05 - crash  (09:16)    
reboot   system boot  3.10.0-1127.el7. Sun Aug 27 08:03 - 17:44  (09:41)    
root     pts/0        10.0.0.1         Sat Aug 26 07:47 - crash (1+00:15)   
reboot   system boot  3.10.0-1127.el7. Sat Aug 26 07:46 - 17:44 (1+09:57)   
root     pts/0        10.0.0.1         Thu Aug 24 19:13 - 21:17  (02:03)    
root     pts/0        10.0.0.1         Thu Aug 24 06:56 - 11:10  (04:14)    
reboot   system boot  3.10.0-1127.el7. Thu Aug 24 06:54 - 17:44 (3+10:49)   
root     pts/0        10.0.0.1         Wed Aug 23 09:44 - crash  (21:10)    
reboot   system boot  3.10.0-1127.el7. Wed Aug 23 09:24 - 17:44 (4+08:19)   
root     pts/1        10.0.0.1         Mon Aug 21 07:19 - down   (10:41)    
root     pts/0        10.0.0.1         Sun Aug 20 15:11 - 11:30  (20:18)    
root     pts/1        10.0.0.1         Sun Aug 20 13:12 - 14:12  (00:59)    
root     pts/0        10.0.0.1         Sun Aug 20 12:59 - 15:11  (02:11)    
root     pts/0        10.0.0.1         Sun Aug 20 12:03 - 12:58  (00:54)    
root     pts/1        10.0.0.1         Sun Aug 20 11:44 - 12:58  (01:13)    
root     pts/1        10.0.0.1         Sun Aug 20 11:43 - 11:44  (00:00)    
root     pts/0        10.0.0.1         Sun Aug 20 11:38 - 12:03  (00:25)    
root     pts/0        10.0.0.1         Sun Aug 20 11:38 - 11:38  (00:00)    
root     pts/1        10.0.0.1         Sun Aug 20 11:37 - 11:38  (00:00)    
root     pts/0        10.0.0.1         Sun Aug 20 11:37 - 11:38  (00:00)    
root     pts/0        10.0.0.1         Sun Aug 20 09:03 - 11:37  (02:34)    
reboot   system boot  3.10.0-1127.el7. Sun Aug 20 09:02 - 18:00 (1+08:58)   
root     pts/0        10.0.0.1         Sat Aug 19 14:33 - crash  (18:28)    
reboot   system boot  3.10.0-1127.el7. Sat Aug 19 14:32 - 18:00 (2+03:27)   
root     pts/0        10.0.0.1         Fri Aug 18 07:27 - 19:52  (12:25)    
reboot   system boot  3.10.0-1127.el7. Fri Aug 18 07:26 - 20:20  (12:54)    
root     pts/0        10.0.0.1         Thu Aug 17 18:52 - 20:27  (01:35)    
root     pts/0        10.0.0.1         Thu Aug 17 18:51 - 18:51  (00:00)    
root     pts/0        10.0.0.1         Thu Aug 17 18:51 - 18:51  (00:00)    
root     pts/0        10.0.0.1         Thu Aug 17 18:47 - 18:51  (00:04)    
root     pts/0        10.0.0.1         Thu Aug 17 18:46 - 18:47  (00:00)    
root     pts/0        10.0.0.1         Thu Aug 17 14:55 - 18:46  (03:51)    
root     pts/0        10.0.0.1         Thu Aug 17 14:53 - 14:54  (00:01)    
reboot   system boot  3.10.0-1127.el7. Thu Aug 17 14:53 - 20:20 (1+05:27)   
root     pts/0        10.0.0.1         Wed Aug 16 20:06 - crash  (18:46)    
reboot   system boot  3.10.0-1127.el7. Wed Aug 16 20:05 - 20:20 (2+00:15)   
root     pts/0        10.0.0.1         Wed Aug 16 09:13 - crash  (10:52)    
reboot   system boot  3.10.0-1127.el7. Wed Aug 16 09:08 - 20:20 (2+11:12)   
root     pts/0        10.0.0.1         Tue Aug 15 09:44 - crash  (23:23)    
reboot   system boot  3.10.0-1127.el7. Tue Aug 15 09:19 - 20:20 (3+11:01)   
root     pts/0        10.0.0.1         Sun Aug 13 16:58 - 18:10  (01:12)    
root     pts/0        10.0.0.1         Sun Aug 13 16:05 - 16:57  (00:52)    
root     pts/0        10.0.0.1         Sun Aug 13 13:46 - 16:05  (02:19)    
reboot   system boot  3.10.0-1127.el7. Sun Aug 13 13:45 - 20:20 (5+06:35)   
root     pts/0        10.0.0.1         Tue Aug  1 14:27 - 18:42  (04:15)    
root     pts/0        10.0.0.1         Tue Aug  1 14:25 - 14:25  (00:00)    
root     pts/0        10.0.0.1         Tue Aug  1 11:01 - 14:25  (03:24)    
root     pts/0        10.0.0.1         Tue Aug  1 10:52 - 11:00  (00:08)    
reboot   system boot  3.10.0-1127.el7. Tue Aug  1 10:50 - 18:43  (07:52)    
root     pts/0        10.0.0.1         Mon Jul 31 10:17 - crash (1+00:33)   
root     pts/0        10.0.0.1         Mon Jul 31 10:17 - 10:17  (00:00)    
reboot   system boot  3.10.0-1127.el7. Mon Jul 31 10:16 - 18:43 (1+08:27)   
root     pts/0        10.0.0.1         Sun Jul 30 16:24 - 17:20  (00:56)    
reboot   system boot  3.10.0-1127.el7. Sun Jul 30 16:23 - 17:22  (00:58)    
root     pts/0        10.0.0.1         Mon Jul 24 09:32 - crash (6+06:51)   
reboot   system boot  3.10.0-1127.el7. Mon Jul 24 09:31 - 17:22 (6+07:50)   
root     pts/1        10.0.0.1         Sat Jul 22 22:00 - 22:05  (00:05)    
root     pts/0        10.0.0.1         Sat Jul 22 19:56 - crash (1+13:35)   
root     pts/0        10.0.0.1         Sat Jul 22 16:43 - 19:56  (03:12)    
root     pts/0        10.0.0.1         Sat Jul 22 14:45 - 16:43  (01:57)    
reboot   system boot  3.10.0-1127.el7. Sat Jul 22 14:44 - 17:22 (8+02:38)   
root     pts/0        10.0.0.1         Fri Jul 21 19:38 - crash  (19:05)    
reboot   system boot  3.10.0-1127.el7. Fri Jul 21 19:37 - 17:22 (8+21:44)   
root     pts/0        10.0.0.1         Thu Jul 20 17:39 - crash (1+01:58)   
root     pts/1        10.0.0.1         Mon Jul  3 10:24 - 18:26  (08:01)    
root     pts/0        10.0.0.1         Sun Jul  2 18:20 - 12:35  (18:15)    
reboot   system boot  3.10.0-1127.el7. Sun Jul  2 17:48 - 17:22 (27+23:33)  
root     pts/0        10.0.0.1         Thu Jun 29 14:27 - 19:07  (04:39)    
reboot   system boot  3.10.0-1127.el7. Thu Jun 29 14:27 - 17:56 (1+03:29)   
root     pts/0        10.0.0.1         Wed Jun 28 15:39 - crash  (22:48)    
root     pts/0        10.0.0.1         Wed Jun 28 13:32 - 15:34  (02:01)    
root     pts/0        10.0.0.1         Wed Jun 28 13:22 - 13:23  (00:00)    
root     pts/0        10.0.0.1         Wed Jun 28 13:18 - 13:21  (00:02)    
root     tty1                          Wed Jun 28 11:19 - crash (1+03:08)   
reboot   system boot  3.10.0-1127.el7. Wed Jun 28 11:15 - 17:56 (2+06:41)   
root     tty1                          Wed Jun 28 09:50 - 11:13  (01:22)    
reboot   system boot  3.10.0-1127.el7. Wed Jun 28 09:45 - 11:13  (01:27)    
reboot   system boot  3.10.0-1127.el7. Wed Jun 28 09:35 - 11:13  (01:37)    
root     tty1                          Mon Jun 26 17:10 - crash (1+16:25)   
reboot   system boot  3.10.0-1127.el7. Mon Jun 26 17:09 - 11:13 (1+18:03)   
wtmp begins Mon Jun 26 17:09:43 2023
[root@localhost ~]# lastlog 
用户名           端口     来自             最后登陆时间
root             pts/0    10.0.0.1         四 9月  7 10:11:22 +0800 2023
bin                                        **从未登录过**
daemon                                     **从未登录过**
adm                                        **从未登录过**
lp                                         **从未登录过**
sync                                       **从未登录过**
shutdown                                   **从未登录过**
halt                                       **从未登录过**
mail                                       **从未登录过**
operator                                   **从未登录过**
games                                      **从未登录过**
ftp                                        **从未登录过**
nobody                                     **从未登录过**
systemd-network                            **从未登录过**
dbus                                       **从未登录过**
polkitd                                    **从未登录过**
tss                                        **从未登录过**
abrt                                       **从未登录过**
sshd                                       **从未登录过**
postfix                                    **从未登录过**
fwkyx                                      **从未登录过**
admin                                      **从未登录过**
ntp                                        **从未登录过**
zhx                                        **从未登录过**

(3)修改
usermod修改用户的信息

①想要修改某个用户的指定解释器
[root@localhost ~]# usermod  -s  指定解释器/sbin/nologin    xxxx(用户)

(4)删除

userdel删除用户命令选项参数含义
-r 删除用户及家目录
默认是不会删除用户家目录,邮箱

重点提示:尽量不要删除用户,用注释的方法注释掉这个用户信息/etc/passwd

查看当前用户的命令whoami 
[root@localhost ~]# whoami 
root
删除某个用户
[root@localhost ~]#userdel   xxx(用户)
[root@localhost ~]#grep  'xxx' /etc/psswd
想要删除用户,包含家目录
[root@localhost ~]# userdel  xxx(用户)
[root@localhost ~]# ll  -a    /xxx/xxxx (查看某个用户的家目录)
[root@localhost ~]# grep   'xxx'  /etc/passwd

(5)用户组命令
创建用户组 groupadd
指定用户的uid和gid可以使用groupadd
创建用户组 groupadd -g 1212 xxx(用户)
创建用户指定的uid与用户组 useradd -u 1212 -g xxx(用户组名字) -s /sbin/nologin -M xxx(用户)

(6)出现的问题
==举例子:命令行出现-bash-4.2 = = ‘ 命令行: − b a s h − 4.2 == `命令行:-bash-4.2 ==命令行:bash4.2 用户的家目录没有了,用户的家目录下面的配置文件没有了 ~/.bashrc ~/.bash_profile `
处理问题

通过/etc/skel/.bask* 复制得到处理
/etc/skel 目录所有新用户的家目录的模板

第一种方法:
cp  /etc/skel/.bashrc *  ~
重新登录即可.........

2.4 Linux的sudo权限管理

(1)概述
Linux系统运维人员排查某些日志,是如何创建用户与授予权限?
root 的权限,太大
普通用户的权限太小,
第一种是使用普通用户+sudo权限去实现达到的目的
授予普通用户以root方式运行查看,less\more\tail\grep\cat
(2)进行sudo授予权限分为两个部分

①root权限配置
②普通用户的如何使用

(3)举例子:授予xxx用户,以root权限运行less,cat,more,tail ,head,grep的权限

root用户授权
visudo == vim  /etc/sudoers
[root@localhost ~]# visudo
100行后面:vim命令100gg到  
[root@localhost ~]# echo 1 |passwd --stdin zhx
更改用户 zhx 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# su - zhx
上一次登录:四 9月  7 11:56:56 CST 2023pts/0 上
[zhx@localhost ~]$ whoami 
zhx
[zhx@localhost ~]$ less /var/log/secure
/var/log/secure: 权限不够
[zhx@localhost ~]$ sudo less /var/log/secure

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] zhx 的密码:

root授权
100行后面:vim命令100gg到
在这里插入图片描述
查看当前用户sudo的权限命令:sudo -l 看最后两行就可以

[zhx@localhost ~]$ sudo -l
匹配 %2$s 上 %1$s 的默认条目:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset,
    env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR
    USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT
    LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

用户 zhx 可以在 localhost 上运行以下命令:
    (ALL) /bin/cat, /bin/grep, /bin/less, /bin/more

授予所有权限,不需要输入密码
举例子:


在100行之后输入以下内容:
zhxx    ALL=(ALL)       NOPASSWD: ALL

在这里插入图片描述

3.权限管理

3.1Linux的12位权限管理

权限与用户的关系
①首先要确定当前的用户
②确定用户和文件属于哪种关系(所有者,用户组,其它)
③根据哪种关系确定对应的所属权限

在这里插入图片描述

3.1.1权限管理概述

概述:在Linux系统中通过rwx3种权限控制系统和保护系统,所组成的是9位权限位,其中Linux中还有3位特殊权限,组合起来是12位权限位,Linux的rwx控制系统的整个安全。
1.Linux权限概述
2.Linux权限的计算和设置
如何让计算权限

权限含义权限对应的数字
rread 是否可读权限4
wwrite 是否可以读写权限2
xexecute 是否可以执行的权限(命令或者脚本)1
-(减号)没有权限0
举例子:
-rw-r--r--. 1 root root    0 8月  29 19:59 zhui.txt
 420400400        zhui.txt 的权限是644
 6   4   4 

3.Linux权限的文件或目录

权限文件目录
r是否可以读取文件内容查看目录内容,需要x的权限配合使用
w是否可以修改文件内容是否可以在目录中创建、修改等等...的文件权限
x是否可以执行文件(命令或者脚本),还需要r权限配合是否能进入到目录,是否能访问文件的属性

文件权限

chown命令修改所有者
chmod命令修改权限,通过数字修改例如:chmod 644 /zhx/zhx.sh ,通过字符修改
u user所有者
g group 用户组
o orther 其它
给某个加上执行权限:chmod ugo+x xxx.sh ,chmod u+x,g+x,o+x xxx.sh ,chmod +x xxx.sh
chown命令的参数-R 递归修改所有者,慎用!!!!

准备两台环境进行验证

修改所有者:
[root@localhost ~]# whoami 
root
[root@localhost ~]# mkdir -p /zhx/
[root@localhost ~]# echo 'hostname' > /zhx/zhx.sh
[root@localhost ~]# ll  /zhx/zhx.sh 
-rw-r--r--. 1 root root 9 9月  11 09:34 /zhx/zhx.sh
[root@localhost ~]# chown zhx.zhx /zhx/zhx.sh     #chown 修改文件的所有者
[root@localhost ~]# ll /zhx/zhx.sh
-rw-r--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh
修改权限:chmod命令
举例子:
[root@localhost ~]# chmod 744 /zhx/zhx.sh      #  数字进行授权权限
[root@localhost ~]# ll /zhx/zhx.sh
-rwxr--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh   
[root@localhost ~]# chmod u-x /zhx/zhx.sh       
[root@localhost ~]# ll /zhx/zhx.sh
-rw-r--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh
[root@localhost ~]# chmod u=x /zhx/zhx.sh
[root@localhost ~]# ll /zhx/zhx.sh
---xr--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh

文件的r权限

root 下修改
[root@localhost ~]# chmod u=r /zhx/zhx.sh 
[root@localhost ~]# ll /zhx/zhx.sh
-r--r--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh
zhx用户下查看
[zhx@localhost ~]$ ll /zhx/zhx.sh
-r--r--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh
[zhx@localhost ~]$ cat /zhx/zhx.sh 
hostname
[zhx@localhost ~]$ echo 'll -l' >> /zhx/zhx.sh   #没有w权限
-bash: /zhx/zhx.sh: 权限不够
[zhx@localhost ~]$ cd /zhx/    
[zhx@localhost zhx]$ ./zhx.sh                         # 没有x的权限        
-bash: ./zhx.sh: 权限不够

文件的w权限
w的权限需要有r的权限配合使用

root用户下:
[root@localhost ~]# chmod u=w /zhx/zhx.sh
[root@localhost ~]# ll /zhx/zhx.sh 
--w-r--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh
[root@localhost ~]# cat /zhx/zhx.sh 
hostname
sed
sed
sed
sed
[root@localhost ~]# echo 'awk' >> /zhx/zhx.sh
[root@localhost ~]# cat /zhx/zhx.sh 
hostname
sed
sed
sed
sed
awk
zhx用户下:
[zhx@localhost zhx]$ ll /zhx/zhx.sh 
--w-r--r--. 1 zhx zhx 9 9月  11 09:34 /zhx/zhx.sh
[zhx@localhost zhx]$ cat /zhx/zhx.sh 
cat: /zhx/zhx.sh: 权限不够
[zhx@localhost zhx]$ echo 'sed'  >> zhx.
zhx.sh        zhx.txt       zhx.txt.gai   zhx.txt.hard  zhx.txt.soft  
[zhx@localhost zhx]$ echo 'sed'  >> zhx.
zhx.sh        zhx.txt       zhx.txt.gai   zhx.txt.hard  zhx.txt.soft  
[zhx@localhost zhx]$ echo 'sed'  >> zhx.sh
[zhx@localhost zhx]$ echo 'sed'  >> zhx.sh
[zhx@localhost zhx]$ echo 'sed'  >> zhx.sh
[zhx@localhost zhx]$ echo 'sed'  >> zhx.sh

文件的x权限
x的权限和r权限需要配合

root用户下进行操作:
[root@localhost ~]# ll /zhx/zhx.sh 
-rw-r--r--. 1 zhx zhx 29 9月  11 10:24 /zhx/zhx.sh
[root@localhost ~]# chmod u=x  /zhx/zhx.sh
[root@localhost ~]# ll /zhx/zhx.sh 
---xr--r--. 1 zhx zhx 29 9月  11 10:24 /zhx/zhx.sh
zhx用户下进行操作:
[zhx@localhost zhx]$ ll zhx.sh 
---xr--r--. 1 zhx zhx 29 9月  11 10:24 zhx.sh
[zhx@localhost zhx]$ ./zhx.sh 
bash: ./zhx.sh: 权限不够
[zhx@localhost zhx]$ cat zhx.sh 
cat: zhx.sh: 权限不够
[zhx@localhost zhx]$ echo  cd >>zhx.sh
-bash: zhx.sh: 权限不够

目录权限

删除或创建文件时,需要看文件所在目录的权限
用户对目录是否有rwx的权限
删除文件看所在目录的权限
目录默认是755的权限

环境准备

[root@localhost ~]# mkdir -p /zhx/zhx-dir/
[root@localhost ~]# touch /zhx/zhx-dir/zhx-{01..10}.txt
[root@localhost ~]# ll /zhx/
总用量 0
drwxr-xr-x. 2 root root 186 9月  11 10:44 zhx-dir
[root@localhost ~]# ll  /zhx/zhx-dir/
总用量 0
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-01.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-02.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-03.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-04.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-05.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-06.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-07.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-08.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-09.txt
-rw-r--r--. 1 root root 0 9月  11 10:44 zhx-10.txt
[root@localhost ~]# chown -R zhx.zhx /zhx/zhx-dir/    #chown命令选项参数-R是递归修改所有者 慎用!!!
[root@localhost ~]# ll -d /zhx/zhx-dir/   							# 看目录本身的参数是-d   
drwxr-xr-x. 2 zhx zhx 186 9月  11 10:44 /zhx/zhx-dir/
[root@localhost ~]# ll /zhx/zhx-dir/
总用量 0
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-01.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-02.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-03.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-04.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-05.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-06.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-07.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-08.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-09.txt
-rw-r--r--. 1 zhx zhx 0 9月  11 10:44 zhx-10.txt

目录的r权限
``

root用户修改目录权限:
[root@localhost zhx]# chmod  u=r zhx-dir/
zhx用户下查看目录权限:
[zhx@localhost zhx]$ ll -d /zhx/zhx-dir/
dr--r-xr-x. 2 zhx zhx 186 9月  11 10:44 /zhx/zhx-dir/
[zhx@localhost zhx]$ ll  zhx-dir/
ls: 无法访问zhx-dir/zhx-01.txt: 权限不够
ls: 无法访问zhx-dir/zhx-02.txt: 权限不够
ls: 无法访问zhx-dir/zhx-03.txt: 权限不够
ls: 无法访问zhx-dir/zhx-04.txt: 权限不够
ls: 无法访问zhx-dir/zhx-05.txt: 权限不够
ls: 无法访问zhx-dir/zhx-06.txt: 权限不够
ls: 无法访问zhx-dir/zhx-07.txt: 权限不够
ls: 无法访问zhx-dir/zhx-08.txt: 权限不够
ls: 无法访问zhx-dir/zhx-09.txt: 权限不够
ls: 无法访问zhx-dir/zhx-10.txt: 权限不够
总用量 0
-????????? ? ? ? ?            ? zhx-01.txt
-????????? ? ? ? ?            ? zhx-02.txt
-????????? ? ? ? ?            ? zhx-03.txt
-????????? ? ? ? ?            ? zhx-04.txt
-????????? ? ? ? ?            ? zhx-05.txt
-????????? ? ? ? ?            ? zhx-06.txt
-????????? ? ? ? ?            ? zhx-07.txt
-????????? ? ? ? ?            ? zhx-08.txt
-????????? ? ? ? ?            ? zhx-09.txt
-????????? ? ? ? ?            ? zhx-10.txt

目录的w权限

第一种没有w的权限:zhx用户下可以查看目录下面的内容
root用户下操作:  
[root@localhost zhx]# chmod u=rx zhx-dir/
[root@localhost zhx]# ll -d zhx-dir/
dr-xr-xr-x. 2 zhx zhx 186 9月  11 10:44 zhx-dir/
zhx用户下操作:
[zhx@localhost zhx]$ ll  -d zhx-dir/
dr-xr-xr-x. 2 zhx zhx 186 9月  11 10:44 zhx-dir/
[zhx@localhost zhx]$ ls zhx-dir/
zhx-01.txt  zhx-03.txt  zhx-05.txt  zhx-07.txt  zhx-09.txt
zhx-02.txt  zhx-04.txt  zhx-06.txt  zhx-08.txt  zhx-10.txt
[zhx@localhost zhx]$ rm -rf zhx-dir/*            				#删除目录下面的内容也是删除不了的
rm: 无法删除"zhx-dir/zhx-01.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-02.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-03.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-04.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-05.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-06.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-07.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-08.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-09.txt": 权限不够
rm: 无法删除"zhx-dir/zhx-10.txt": 权限不够
有w的权限:
root用户下面操作:
[root@localhost zhx]# chmod u=rwx zhx-dir/
[root@localhost zhx]# ll -d zhx-dir/
drwxr-xr-x. 2 zhx zhx 186 9月  11 10:44 zhx-dir/
zhx用户下操作:
[zhx@localhost zhx]$ ll -d zhx-dir/
drwxr-xr-x. 2 zhx zhx 186 9月  11 10:44 zhx-dir/
[zhx@localhost zhx]$ ls zhx-dir/
zhx-01.txt  zhx-03.txt  zhx-05.txt  zhx-07.txt  zhx-09.txt
zhx-02.txt  zhx-04.txt  zhx-06.txt  zhx-08.txt  zhx-10.txt
[zhx@localhost zhx]$ touch zhx-dir/zhxxx.txt
[zhx@localhost zhx]$ ls zhx-dir/
zhx-01.txt  zhx-03.txt  zhx-05.txt  zhx-07.txt  zhx-09.txt  zhxxx.txt
zhx-02.txt  zhx-04.txt  zhx-06.txt  zhx-08.txt  zhx-10.txt
[zhx@localhost zhx]$ rm -f zhx-dir/*
[zhx@localhost zhx]$ ls zhx-dir/

Permission denied权限拒绝的原因

用户和文件或目录的关系,你对于这个文件或目录有什么样的权限
缺少了什么的权限导致的?查明原因是文件的权限还是目录的权限

在zhx用户下操作

[zhx@localhost zhx]$ cat /etc/shadow
cat: /etc/shadow: 权限不够
[zhx@localhost zhx]$ echo '#pwd' >>/etc/passwd
-bash: /etc/passwd: 权限不够

4.Linux系统默认的权限
Linux系统中是通过umask来实现的
为什么是644或755?通过Linux系统的内置命令umask掌控文件或目录的默认权限
文件:666
目录:777
通过最大权限减去umask的值,得到文件或目录的默认值
文件umask某一位是奇数位,则减去umask后一位+1
临时修改umask在命令行修改:[root@localhost zhx]# umask xxx
永久修改:编辑vim /etc/profile 通过搜索umask

在这里插入图片描述在这里插入图片描述

[root@localhost zhx]# umask 
0022     # 前面的0代表是特殊权限  看后面三位就可以
文件的默认权限
		666
	  -022
-------------
        644
目录的默认权限
		777
	   -022
	------------
	    755	            

系统安全:Linux系统权限
①通过权限让系统更安全
②对于网站,服务器权限:
③最小化;网站能正常访问,也要保证网站安全
④网站的权限:文件类 644 600 root root 目录 755 700 root root
⑤当网站运行时需要用户,用户不能使用root,自己或者自动创建自己虚拟用户 举例子:/xxx/nginx
⑥网站运行的时候是xxx用户,运行的程序代码是/app/code/xxx 目录

/app/code/xxx 目录
第一种:
文件和目录的所有者:root  root
文件和目录权限  644   755
文件和目录的所有者,xxx   xxx   ,当不能修改,则用户无法上传文件到

5.Linux的特殊权限`

在这里插入图片描述
①特殊权限set uid==suid 4: 运行这个命令的时候等同于这个命令的所有者的权限:passwd命令
②特殊权限sticky(粘滞位) 1:对于sticky权限的目录,用户都可以在目录下面创建内容,每个用户只能管理自己的文件
③特殊权限set gid===sgid 2:运行这个命令的时候等同于这个命令的用户组的权限

设置:
chmod   u+s  /bin/rm
chmod  o+t     /tmp
举例子:/bin/rm  原始权限是755 增加setuid
chmod  4755   /bin/rm 
chmod  1777   /tmp
[root@localhost ~]# stat /bin/passwd /tmp
  文件:"/bin/passwd"
  大小:27856     	块:56         IO 块:4096   普通文件
设备:fd00h/64768d	Inode:51195687    硬链接:1
权限:(4755/-rwsr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:passwd_exec_t:s0
最近访问:2023-09-10 14:43:41.985110151 +0800
最近更改:2020-04-01 11:57:19.000000000 +0800
最近改动:2023-06-26 16:28:04.534968557 +0800
创建时间:-
  文件:"/tmp"
  大小:4096      	块:8          IO 块:4096   目录
设备:fd00h/64768d	Inode:16777288    硬链接:13
权限:(1777/drwxrwxrwt)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:tmp_t:s0
最近访问:2023-09-11 06:48:37.241000215 +0800
最近更改:2023-09-11 17:54:34.759584509 +0800
最近改动:2023-09-11 17:54:34.759584509 +0800
创建时间:-

6.Linux的特殊属性
重点:防止文件或命令被修改
lsattr 查看特殊属性
chattr 修改特殊属性
a属性 append 追加
i属性 immutable 不巧的,无法被毁灭的

[root@localhost zhx-dir]# lsattr zhx.txt 
---------------- zhx.txt
[root@localhost zhx-dir]# chattr +a zhx.txt 
[root@localhost zhx-dir]# lsattr zhx.txt 
-----a---------- zhx.txt
[root@localhost zhx-dir]# echo zxhhhx>> zhx.txt 
[root@localhost zhx-dir]# echo zxhhhx>> zhx.txt 
[root@localhost zhx-dir]# echo zxhhhx>> zhx.txt 
[root@localhost zhx-dir]# echo zxhhhx>> zhx.txt 
[root@localhost zhx-dir]# echo "" >zhx.txt 
-bash: zhx.txt: 不允许的操作
[root@localhost zhx-dir]# vim zhx.txt 

zxhhhx
zxhhhx
zxhhhx
zxhhhx
zxhhhx
zxhhhx
zxhhhx
zxhhhx
~                                                                                                
~                                                                                                
~                                                                                                
~                                                                                                
~                                                                                                
~                                                                                                
~                                                                                                
~                                                                                                
~                                                                                                                                                                                        
"zhx.txt"                                                                      
"zhx.txt" E212: 无法打开并写入文件
"zhx.txt"
"zhx.txt" E212: 无法打开并写入文件
[root@localhost zhx-dir]# rm -rf zhx.txt
rm: 无法删除"zhx.txt": 不允许的操作
[root@localhost zhx-dir]# cat zhx.txt
zxhhhx
zxhhhx
zxhhhx
zxhhhx
添加完啊  取消小a  
[root@localhost zhx-dir]# chattr -a zhx.txt
[root@localhost zhx-dir]# lsattr zhx.tx
lsattr: 没有那个文件或目录 当尝试对zhx.tx进行stat调用时
[root@localhost zhx-dir]# lsattr zhx.txt
---------------- zhx.txt
添加小i   用完需要-i  
[root@localhost zhx-dir]# lsattr zhx.txt
---------------- zhx.txt
[root@localhost zhx-dir]# chattr +i zhx.txt
[root@localhost zhx-dir]# lsattr zhx.txt
----i----------- zhx.txt
[root@localhost zhx-dir]# echo zxhhhx>> zhx.txt 
-bash: zhx.txt: 权限不够
[root@localhost zhx-dir]# rm -rf zhx.txt
rm: 无法删除"zhx.txt": 不允许的操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值