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

news/2024/7/7 10:59:38

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值,建议不要永久修改它的值。如何修改呢?

 

 

 

 

 

 


http://www.niftyadmin.cn/n/4076687.html

相关文章

IMB MQ 报错问题记录

2019独角兽企业重金招聘Python工程师标准>>> 还有一些没有上传,可以去http://download.csdn.net/detail/wxmiy/9465179下载 转载于:https://my.oschina.net/yzbty32/blog/639415

移动端常见问题处理

前面的话 本文将详细介绍移动web开发中的常见问题 Input 【光标颜色】 默认情况下,光标颜色与字体颜色color相同,但也可以通过caret-color属性来单独设置 caret-color: auto; caret-color: transparent; caret-color: currentColor; caret-color: red; c…

谷歌大神Jeff Dean:大规模深度学习最新进展 zz

http://www.tuicool.com/articles/MBBbeeQ 在AlphaGo与李世石比赛期间,谷歌天才工程师Jeff Dean在Google Campus汉城校区做了一次关于智能计算机系统的大规模深度学习(Large-Scale Deep Learning for Intelligent Computer Systems)的演讲。本…

google日历web版本和app版区别

为什么80%的码农都做不了架构师?>>> web版本:没有提醒功能,但是有工作表功能 app版本:有提醒功能,但没有工作表功能 app的提醒功能在一定程度取代了web版本的工作表功能,且可以加入提醒功能&am…

品牌舆情、决策分析,数据中台模式的茅台云商实践解析

摘要:阿里云茅台数据中台项目负责人董芳英(晓草) 在2018云栖大会上海峰会数据中台专场做了题为《品牌舆情、决策分析,数据中台模式的茅台云商实践解析》 的精彩讲述,首先从价值角度介绍了关于茅台与数据中台相互结合解决了什么样的问题,其次从业务背景角…

(三)Linux存储管理(基本分区MBR和GPT、LVM管理、交换分区创建、RAID及lsof恢复文件)

CONTENTS 1 基本分区管理 1.1 MBR分区方式 1.2 GPT分区方式 2 LVM管理 2.1 创建LVM 2.2 VG管理 2.3 LV扩容 3 交换分区管理 4 磁盘阵列 RAID 5 lsof 恢复文件 1 基本分区管理 1.1 MBR分区方式 硬盘<2TB选择MBR MBR 14个分区&#xff08;4个主分区&#xff0c;扩…

如何准确定时运行ASP文件

在一定的时候&#xff0c;要定时的运行某个ASP文件去执行一个任务&#xff0c;如一个工厂在早上&#xff19;点钟要采集所有的电表的读数&#xff0c;当然这要通过IN SQL连接到各个电表中&#xff0c;我们现在就是用一个ASP文件把IN SQL中表的读数再集中到MS SQL中。 可能你看…

使用版本 1.0.0 的 Azure ARM SDK for Java 创建虚拟机时报错

问题描述 我们可以通过使用 Azure ARM SDK 来管理 Azure 上的资源&#xff0c;因此我们也可以通过 SDK 来创建 ARM 类型的虚拟机&#xff0c;当我们使用 1.0.0 版本的 Azure SDK for Java 来创建 ARM 虚拟时&#xff0c;会遇到如下错误&#xff1a; 复制com.microsoft.azure.Cl…