linux 文件 用户 权限管理,(二)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目录结构

baf28b28f2bbcdac3ca1c2ce4f9ad8eb.png

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/64768dInode: 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权限对文件和目录的意义

f072669d068c4bc4ea525ec0b7dd5fc9.png

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

a32cd55c83fafacff9a9cc1b1e944a9c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值