百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

centos 创建用户,并理解chown 和 chmod

nanshan 2024-11-04 13:06 23 浏览 0 评论


一直使用root操作centos 系统,但带来一些安全隐患,所以得通过非root用户来管理,防止系统带来风险。

  1. 创建用户
[root@localhost /]# adduser lijian
设置密码
  1. 设置密码
[root@localhost /]# passwd lijian

新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
  1. 对创建的新用户进行sudo操作的授权
[root@localhost /]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/share/man/man5/sudoers.5.gz
  1. 查看文件权限
[root@localhost /]# ls -l /etc/sudoers
-r--r----- 1 root root 3938 12月 12 2018 /etc/sudoers
  1. 修改权限,改成包含写权限
[root@localhost /]# chmod -v u+w /etc/sudoers
mode of "/etc/sudoers" changed from 0440 (r--r-----) to 0640 (rw-r-----)
  1. 添加新加用户“lijian”到/etc/sudoers中
## Allow root to run any commands anywher
root ALL=(ALL) ALL
lijian ALL=(ALL) ALL
  1. 设置完账号,再把权限改回去。
[root@localhost /]# chmod -v u-w /etc/sudoers
mode of "/etc/sudoers" changed from 0640 (rw-r-----) to 0440 (r--r-----)

文件管理 chown chmod

1./根目录下目录功能划分

  /boot/  存放系统启动程序菜单及核心   --可以单独使用文件系统    
  /etc/   存放系统中所有配置文件
  /bin/   可运行二进制文件   链接到/usr/bin
  /usr/   存放系统程序及帮助文档   --可以单独使用文件系统
  /var/   存放辅助性文件
  /home/  用户家目录的默认位置     --可以单独使用文件系统
  /mnt/   存放新设备挂载时的挂载点
  /dev/    存放系统硬件信息的
  /tmp/    存放临时数据            --可以单独使用文件系统

2.权限管理

ls  -la   ---显示详细信息,共七项信息
权限信息    硬链接数  属主  属组    大小(单位字节)   上一次修改时间    文件名
 
权限信息:共10个字符
rwx         rwx         rwx
 
文件类型    属主权限u   属组权限g   其他用户o     三种用户统一表示用:a     
权限rwx: r read读取    w write写入    x  execute执行--针对目录文件,检索权限,即能否进入目录。         

3.文件类型 普通文件 目录文件d l软连接 b字符块设备

- 普通文件   
d 目录文件
l 软链接
b 块设备文件     
c 字符设备文件
p 管道文件

4.Chown属主和组的更改:

所属者:简称属主,默认文件的创建者即为文件的属主
所属组:简称属组,默认文件的属主所在的主组作为文件的属组
 
只有root用户和管理用户可以实施。
命令:  chown
格式:
chown [-R]  属主:组   文件名    --R表示递归,用于目录,表示目录及其包含的子目录和文件同时设置。
例:
chown  user1   myfile1
chown  :grp1   myfile1
chown -R user1:grp1  dir1

5.chmod命令权限设置 rwx 目录

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。
利用 chmod 可以藉以控制文件如何被他人所调用。
使用权限 : 所有使用者

语法

chmod [-cfvR] [--help] [--version] mode file...
 
使用命令chmod,此命令 文件所有者 和root 管理用户 都可执行。
格式:chmod [-R]  格式   文件名


参数说明rwx对于目录的意义

chmode : 权限设定字串,
[ugoa...][[+-=][rwxX]...][,...]
其中:
u 表示该文件的拥有者,
g 表示与该文件的拥有者属于同一个群体(group)者,
o 表示其他以外的人,
a 表示这三者皆是。
 
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
 
r 表示可读取,---显示目录下的内容,即ls功能
w 表示可写入,---在目录内创建、删除、改名子目录或子文件
x 表示可执行,---进入目录,即检索功能,使用cd命令
 
X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
/   root用户拥有完全的权限rwx    
管理用户(root替代)拥有完全的权限rwx
普通用户rx权限,但没有w权限  
从  / 之后,每一级目录都要根据权限及属主、组来判断对目录的权限。      
 
其他参数说明:
    -c : 若该文件权限确实已经更改,才显示其更改动作
    -f : 若该文件权限无法被更改也不要显示错误讯息
    -v : 显示权限变更的详细资料
    -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
    --help : 显示辅助说明
    --version : 显示版本


用8进制表示权限 777 644

每一种不同类型的用户对文件的权限都是rwx,
这三种权限中,用二进制的1表示设置,0表示取消,
所以,只设置读权限就是100,八进制即为4,同理只设置写,即为010,八进制为2,只设置执行(检索),即为001,八进制为1。
复合以上情形,读写为110,八进制为6。并接属主、组和其它用户的设置,形成3组八进制的形式表示权限。不足3组,则左边补0。称为右匹配原则。
例:   
chmod   644  f1  属主的权限为6,二进制110,即读写,组为4,即100,只读权限,其他4,即100,只读权限。      
chmod   66  f1    即066,属主0,无任何权限,组为6,即110,其他6,即110


案例 设置权限两种方式 777 或者rwx

u代表用户,

g代表组,

o表示其它,

a表示全部都包括;

用+ - =表示增加权限,删除权限,权限符合。用r w x表示读、写和执行(检索)


如:

chmod u+x,g-w,o+r f1 将文件f1的属主增加执行(检索)权限,组删除写权限,其它用户增加读权限


chmod a+x f1 三项同时做增减,文件f1的属主,组和其他用户都增加执行(检索)权限


chmod u=rwx,g=rw,o=r f1 赋值方式配置权限。不论原来文件f1的权限是如何设置的,将文件f1的属主设为读写执行权限,组设为读写权限,其它只读。


chmod a=rw f1 ---不论原来文件f1的权限是如何设置的,属主、组和其他都设为读写权限。


chmod ugo+r file1.tx将文件 file1.txt 设为所有人皆可读取 :

chmod a+r file1.txt将文件 file1.txt 设为所有人皆可读取 :

chmod ug+w,o-w file1.txt file2.txt 将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入

chmod u+x ex1.py将 ex1.py 设定为只有该文件拥有者可以执行

chmod -R a+r *将目前目录下的所有文件与子目录皆设为任何人可读取

或者

chmod 777 file此外chmod也可以用数字来表示权限如

语法为:

chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。


chmod a=rwx file

chmod 777 file

chmod ug=rwx,o=x file

chmod 771 file

6.默认权限 umask 掩码

用户在创建文件和目录时,所创建文件和目录的属主和组分别是该用户和用户的主组。但所创建文件和目录的权限受系统设置的影响。该影响就是权限命令umask的值。

umask是显示和设置权限参数的命令。 采用3组8进制的方式来设置用户创建文件和目录的权限,设置的是权限的掩码。

掩码的意思是,针对一组权限,用3位二进制表示,自左向右对应读写运行权限,在掩码上设置为1的位,在权限位上该权限就取消了。

譬如,掩码为2,二进制为010,则写权限取消,文件或目录权限即为101,8进制即为5,所创建的文件和目录的权限就只有读和运行(检索)。

3组分别对应属主、组和其他。譬如,掩码为003,二进制为 000 000 011,此时,文件或目录的权限表示为二进制为 111 111 100,8进制即为774。

使用umask简单方式即7和掩码相减,结果即为权限。针对文件,每组再减1(即取消x设置)。

使用掩码时,由于对于文件而言,不是所有的文件都能运行,所以,在创建文件时,运行位永远置0,也就是永远不设运行位。

显示umask值:

umask root用户缺省的掩码为022(实际显示为0022,最左表的八进制值由特殊含义,先忽略),普通用户的掩码为022

设置掩码:

umask 027

umask

umask在shell命令行上的设置,只对当前会话有效,若要对所有的会话有效,需设置在环境文件中。


Umask查看掩码

touch u_file1创建文件和目录

mkdir u_dir1

ls -ld u_*查看


rw-r--r--. 1 root root 0 9月 17 04:11 u_file1 --权限为644

drwxr-xr-x. 2 root root 4096 9月17 04:11 u_fir1 --权限为755



umask 077 设置掩码为077

touch u_file1创建文件和目录

mkdir u_dir1

ls -ld u*查看

rw-------. 1 root root 0 9月 17 04:15 u_file1

drwx------. 2 root root 4096 9月 17 04:15 u_file2



7.链接文件

软链接 ---又称符号链接

链接文件,指向源文件,再由源文件,找到文件的磁盘空间,读写数据,相当于windows的快捷方式

删除源文件,则软链接不可用

格式: ln -s 源文件 链接文件

ln -s f1 s1 创建软链接,ln -sf f2 s1 强制替换向的文件

注意:使用软连接时,源文件用相对路径时,是相对于目的文件的现对路径,不是当前文件的相对路径。


硬链接

链接文件,通过源文件,直接指向文件的磁盘空间,相当于一块磁盘空间,两个文件名,2个文件没有主次之分。


删除源文件,硬链接仍可用

ln f1 h1 ---创建硬链接

ls -l ---第二大项的数字,表示硬链接数

ls -i ---显示文件的inode编号(可认为是文件编号),编号相同的是同一对硬链接

目录文件有2个硬链接数,多一个子目录多一个链接数。

硬链接不能跨越文件系统

查找相同inum的文件:

find / -inum xxx

8.文件的状态有3种:

访问(Access):显示文件内容

修改(Modify):文件内容变化

更改(Change):文件的属主、组别,权限变化,但文件内容未变。


查看文件3种状态改变的最近时间,使用stat 命令

stat 文件名

相关推荐

实战派 | Java项目中玩转Redis6.0客户端缓存

铺垫首先介绍一下今天要使用到的工具Lettuce,它是一个可伸缩线程安全的redis客户端。多个线程可以共享同一个RedisConnection,利用nio框架Netty来高效地管理多个连接。放眼望向...

轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)

1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到...

Redis与本地缓存联手:多级缓存架构的奥秘

多级缓存(如Redis+本地缓存)是一种在系统架构中广泛应用的提高系统性能和响应速度的技术手段,它综合利用了不同类型缓存的优势,以下为你详细介绍:基本概念本地缓存:指的是在应用程序所在的服务器内...

腾讯云国际站:腾讯云服务器如何配置Redis缓存?

本文由【云老大】TG@yunlaoda360撰写一、安装Redis使用包管理器安装(推荐)在CentOS系统中,可以通过yum包管理器安装Redis:sudoyumupdate-...

Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?

你是否在开发互联网大厂后端项目时,遇到过系统响应速度慢的问题?当高并发请求涌入,数据库压力剧增,响应时间拉长,用户体验直线下降。相信不少后端开发同行都被这个问题困扰过。其实,通过在SpringBo...

【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案

在我们使用redis时,也会存在一些问题,导致请求直接打到数据库上,导致数据库挂掉。下面我们来说说这些问题及解决方案。1、缓存穿透1.1场景一个请求进来后,先去redis进行查找,redis存在,则...

Spring boot 整合Redis缓存你了解多少

在前一篇里面讲到了Redis缓存击穿、缓存穿透、缓存雪崩这三者区别,接下来我们讲解Springboot整合Redis中的一些知识点:之前遇到过,有的了四五年,甚至更长时间的后端Java开发,并且...

揭秘!Redis 缓存与数据库一致性问题的终极解决方案

在现代软件开发中,Redis作为一款高性能的缓存数据库,被广泛应用于提升系统的响应速度和吞吐量。然而,缓存与数据库之间的数据一致性问题,一直是开发者们面临的一大挑战。本文将深入探讨Redis缓存...

高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局

一、什么是缓存穿透?缓存穿透是指查询一个根本不存在的数据,导致请求直接穿透缓存层到达数据库,可能压垮数据库的现象。在高并发场景下,这尤其危险。典型场景:恶意攻击:故意查询不存在的ID(如负数或超大数值...

Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决

缓存穿透菜小弟:我先问问什么是缓存穿透?我听说是缓存查不到,直接去查数据库了。表哥:没错。缓存穿透是指查询一个缓存中不存在且数据库中也不存在的数据,导致每次请求都直接访问数据库的行为。这种行为会让缓存...

Redis中缓存穿透问题与解决方法

缓存穿透问题概述在Redis作为缓存使用时,缓存穿透是常见问题。正常查询流程是先从Redis缓存获取数据,若有则直接使用;若没有则去数据库查询,查到后存入缓存。但当请求的数据在缓存和数据库中都...

Redis客户端缓存的几种实现方式

前言:Redis作为当今最流行的内存数据库和缓存系统,被广泛应用于各类应用场景。然而,即使Redis本身性能卓越,在高并发场景下,应用于Redis服务器之间的网络通信仍可能成为性能瓶颈。所以客户端缓存...

Nginx合集-常用功能指导

1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx./nginx#指定配置文件启动nginx./nginx-c/usr/local/nginx/conf/n...

腾讯云国际站:腾讯云怎么提升服务器速度?

本文由【云老大】TG@yunlaoda360撰写升级服务器规格选择更高性能的CPU、内存和带宽,以提供更好的处理能力和网络性能。优化网络配置调整网络接口卡(NIC)驱动,优化TCP/IP参数...

雷霆一击服务器管理员教程

本文转载莱卡云游戏服务器雷霆一击管理员教程(搜索莱卡云面版可搜到)首先你需要给服务器设置管理员密码,默认是空的管理员密码在启动页面进行设置设置完成后你需要重启服务器才可生效加入游戏后,点击键盘左上角E...

取消回复欢迎 发表评论: