(二)Linux文件管理,用户管理及文件权限管理(附高级权限)

CONTENTS

 

1 Linux文件管理

1.1 Linux目录结构

1.2 Linux文件类型

1.3 查看命令的类型

1.4 查看文件的详细属性

1.5 文件的一些基本操作

2 Linux用户管理

2.1 组的管理

2.2 用户的管理

2.3 sudo普通用户提权

3、文件权限管理

3.1 权限设置UGO

3.2 基本权限ACL

3.3 高级权限suid,sgid,sticky

3.4 进程掩码 mask umask

 


 

1 Linux文件管理

1.1 Linux目录结构

bin 普通用户使用的命令 /bin/ls, /bin/date
sbin 管理员使用的命令 /sbin/service

dev 设备文件 /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero, /dev/null, /dev/random

root root用户的HOME
home 普通用户家Base目录

proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态

usr 系统文件,相当于C:\Windows

/usr/local 软件安装的目录,相当于C:\Program
/usr/bin 普通用户使用的应用程序
/usr/sbin 管理员使用的应用程序
/usr/lib 库文件Glibc 32bit
/usr/lib64 库文件Glibc 64bit

boot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序)

etc 配置文件

系统相关如网络/etc/sysconfig/network /etc/hostname
应用相关配置文件如/etc/ssh/sshd_config...


lib 库文件Glibc
lib64 库文件Glibc
tmp 临时文件(全局可写:进程产生的临时文件)
var 存放的是一些变化文件,比如数据库,日志,邮件....

mysql: /var/lib/mysql
vsftpd: /var/ftp
mail: /var/spool/mail
cron: /var/spool/cron
log: /var/log
临时文件: /var/tmp(进程产生的临时文件)

==设备(主要指存储设备)挂载目录==

media 移动设备默认的挂载点
mnt 手工挂载设备的挂载点
misc automount进程挂载
net automount进程挂载

 

1.2 Linux文件类型

(1)方法一:
  ls -l 文件名   //看第一个字符

- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1, /dev/zero
s 套接字文件
p 管道文件
l 链接文件(淡蓝色)

(2)方法二

通过file命令查看文件类型

[root@centos8 ~]# file /etc
/etc: directory
[root@centos8 ~]# file /etc/host.conf 
/etc/host.conf: ASCII text

1.3 查看命令的类型

type 查看命令类型,例如该命令是alias,还是内置命令,还是某个文件,还是关键字

[root@centos8 ~]# type ll
ll is aliased to `ls -l --color=auto'
[root@centos8 ~]# type mkdir
mkdir is hashed (/usr/bin/mkdir)

1.4 查看文件的详细属性

用stat命令,可以看到例如文件的名称,大小,权限,atime,ctime,mtime

[root@centos8 ~]# stat /etc
  File: /etc
  Size: 8192      	Blocks: 24         IO Block: 4096   directory
Device: fd00h/64768d	Inode: 25165953    Links: 135
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2020-08-06 15:33:57.460174651 +0800
Modify: 2020-08-06 14:58:15.829138575 +0800
Change: 2020-08-06 14:58:15.829138575 +0800
 Birth: -

1.5 文件的一些基本操作

  • 创建文件用touch
  • 创建目录用mkdir
  • cp复制文件,mv剪切文件,rm删除文件
  • 用vi编辑文件,熟悉vi的用法,这边不做介绍,我之前博客都有介绍
  • cat查看文件。(还有less more tail head tailf等)
  • 用grep针对文件进行过滤,例如:
[root@centos8 ~]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

2 Linux用户管理

uid: 0 特权用户
uid: 1~499 系统用户
uid: 500+ 普通用户

groupadd,groupdel
useradd,usermod,userdel
passwd,chage
 

2.1 组的管理


groupadd hr
groupadd sale
groupadd it
groupadd fd
groupadd market
groupadd net01 -g 2000 #添加组net01,并指定gid 2000
grep 'net01' /etc/group #查看/etc/group中组net01信息
groupdel net01 #删除组net01



 

2.2 用户的管理


如果创建一个用户时,未指定任何组(主组或附加组),系统会创建一个和用户名相同的组作为用户的Primary Group.

(1)==创建用户 指定选项==

useradd user02 -u 503 #创建用户usr02,指定uid
useradd user03 -d /aaa #创建用户user03 指定家目录
useradd user05 -s /sbin/nologin #创建用户并指定shell
useradd user07 -G hr,it,fd #创建用户,指定附加组
useradd user10 -u 4000 -s /sbin/nologin  #创建一用户不能登录shell

(2)==删除用户==

userdel user10 #删除用户user10,但不删除用户家目录和mail spool

userdel -r user2 #删除用户user2,同时删除用户家目录和mail spool



(3)==修改用户密码==

passwd alice #root可以给任何用户设置密码
echo "123455" |passwd --stdin alice  #避免交互式

$ passwd #普通用户只能给自己修改密码,而且必须提供原密码




(4)usermod 修改用户,一般我们都是用usermod

usermod -G hr niuniu2 //覆盖原有的附加组
usermod -G fd,it niuniu2
usermod -aG hr niuniu2 //增加新的附加组
==其它选项管理==
usermod -s /sbin/nologin niuniu2

gpasswd -a jack wheel //usermod -aG hr zhuzhu
gpasswd -M zhuzhu,maomao100 hr
gpasswd -d zhuzhu hr

2.3 sudo普通用户提权

(1)切换root再执行命令,但需要root密码

(2)把用户添加到wheel组里,只用sudo执行命令

useradd demo -G wheel
sudo useradd gougou

(3)另外可以visudo编辑,根据需要进行改动。

 

3、文件权限管理

3.1 权限设置UGO

这个我也不做详细介绍了,列出我觉得重要的知识点。

(1)r、w、x权限对文件和目录的意义

对目录有w权限,可以在目录中创建新文件,可以删除目录中的文件(跟文件权限无关)

注意事项:

  • 文件: x 权限小心给予
  • 目录: w 权限小心给予

 

3.2 基本权限ACL

(1)ACL基本用法

#先创建文件做实验
touch /home/test.txt
ll /home/test.txt	
-rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt

#获取文件ACL属性
getfacl /home/test.txt

#给用户Alice权限rw
setfacl -m u:alice:rw /home/test.txt
#Jack用户无权限
setfacl -m u:jack:- /home/test.txt  
#其他用户无rw权限
setfacl -m o::rw /home/test.txt

#再次查看文件ACL属性
getfacl /home/test.txt

#给组hr读的权限
setfacl -m g:hr:r /home/test.txt
#删除组hr的acl权限
setfacl -x g:hr /home/test.txt	 	
#删除所有acl权限		   
setfacl -b /home/test.txt 		 				   

(2)ACL的高级特性

mask:
用于临时降低用户或组(除属主和其他人)的权限
mask决定了他们的最高权限
建议:为了方便管理文件权限,其他人的权限置为空
 

setfacl -m o::- /home/file100.txt //chmod o=- /home/file100.txt
setfacl -m m::--- /home/file100.txt

default: 继承(默认)
要求: 希望alice能够对/home以及以后在/home下新建的文件有读、写、执行权限

思路:
步骤一: 赋予alice对/home读、写、执行权限

setfacl -R -m u:alice:rwx /home

步骤二: 赋予alice对以后在/home下新建的文件有读、写、执行权限 (使alice的权限继承)

setfacl -m d:u:alice:rwx /home


3.3 高级权限suid,sgid,sticky

(1)高级权限的类型:

  • suid    4        //一般针对文件,会以文件的所有者执行
  • sgid    2        //一般针对目录,这样目录下的内容会继承属组
  • sticky  1 粘滞位    //一般针对目录,这样用户只能删除自己的文件

(2)设置特殊权限
a、字符
chmod u+s file     
chmod g+s dir
chmod o+t dir

b、数字
chmod 4777 file
chmod 7777 file
chmod 2770 dir
chmod 3770 dir

3.4 进程掩码 mask umask

进程 新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限

一般我们只会临时设置shell umask值,建议不要永久修改它的值。如何修改呢?

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核的无脸man~

你的鼓励是我创作的最大功力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值