linux+系统优化基础,Linux入门基础(三):Linux用户及权限基础
用户基础
用户和组
每个用户都拥有一个userid
每个用户都属于一个主组,属于一个或多个附属组
每个组拥有一个groupid
每个进程以一个用户身份运行,受该用户可访问资源限制
每个可登陆用户拥有一个指定的shell
用户
userid为32位,从0开始,为了和老式系统兼容,用户id限制在60000以下
用户分为三种
-root用户(id为0的用户)
-系统用户(id为1~499的用户)
-普通用户(500以上)
系统中的文件都有一个所属用户及所属组
使用id命令可以显示当前用户的信息
使用passwd命令可以修改当前用户密码
相关文件
/etc/passwd 保存用户信息
/etc/shadow 保存用户密码(加密的)
/etc/group 保存组信息
查看登录的用户
命令whoami显示当前用户
命令who显示有哪些用户已经登陆系统
命令w显示有哪些用户已经登陆并且在干什么
创建一个用户
命令useradd用来创建一个用户
-d 家目录
-s 登陆shell
-u userid
-g 主组
-G 附属组(最多31个,用逗号分隔)
例如
useradd -u 600 -g group1 user1
这个命令会执行以下操作 :
在/etc/passwd中添加用户信息
如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中
为用户建立以个新的家目录/home/用户名
将/etc/skel中的文件复制到用户家目录中
建立一个与用户用户名相同的组,新建用户默认属于这个同名组
修改用户信息
命令usermod用来修改用户信息 -l 新用户名
-u 新userid
-d 用户家目录位置
-g 用户所属主组
-G 用户所属附属组
-L 锁定用户使其不能登录
-U 解除锁定
例如
usermod -u 700 user1
删除用户信息
命令userdel用以删除指定用户:
例如
#删除指定用户,保留用户家目录
userdel user1
#删除指定用户,同时删除用户家目录
userdel -r user1
组
几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类,管理用户
一般来件,我们使用部门,职能或地域的分类方式来创建使用组
每个组都有一个组id
组信息保存在/etc/group中
每个用户都拥有一个主组,同时还可以拥有最多31个附属组
创建组
命令groupadd用来创建组
例如
groupadd group1
修改组
命令groupmod用来修改组
例如
#修改组名
groupmod -n group2 group1
#修改组id
groupmod -g 601 600
删除组
命令groupdel用来删除组
例如
groupdel group2
权限机制
权限是操作系统用来限制对资源访问的机制
每个进程都以某个用户的身份运行,所以进程的权限和该用户的权限一样
文件权限
文件拥有三种权限 :
权限
对文件的影响
对目录的影响
r (读取)
可读取文件内容
可列出目录内容
w (写入)
可修改文件内容
可在目录中创建删除文件
x (执行)
可以作为命令执行
可访问目录内容
目录不许拥有x (执行权限) , 否则无法查看其内容
UGO模型
Linux权限基于UGO模型进行控制
U代表User , G代表Group , O代表Other
每一个文件的权限基于UGO进行设置
权限三个一组(rwx),对应UGO分别进行设置,总共9个 例如 rwxrwxrwx
每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件的所属用户或组的使用O权限
修改文件所属用户和所属组
命令chown用以改变文件的所属用户
例如
#chown 用户名 文件名/文件夹
chown user1 /var/www/aaa
#-R 递归修改目录下所有文件
命令chgrp用以修改文件的所属组
例如
#chgrp 组名 文件名/文件夹
chgrp group1 /var/www/aaa
#-R 递归修改目录下所有文件
修改权限
命令chmod用以修改文件的权限 chmod 模式 文件
模式为如下格式 :
u,g,o分别代表用户,组和其他
a可以代指ugo
+,- 代表假如或删除对应的权限
r,w,x 代表三种权限
模式示例 :
#所属用户加入读写权限
chmod u+rw fileName
#所属组删除执行权限
chmod g-x fileName
#所属组和其他加入执行权限
chmod go+x fileName
#ugo都删除执行权限
chmod a-x fileName
chmod 也支持数字方式修改权限,分别由三个数字表示 -r = 4 (2^2) -w = 2 (2^1) -x = 1 (2^0) 使用数字表示权限时,每组权限分别对应数字之和 rw=4+2=6 rwx=4+2+1=7 r-x=4+1=5 所以,使用数字表示ugo权限使用如下方式表示: chmod 660 fileName == rw-rw---- chmod 775 fileName == rwxrwxr-x
扩展权限
默认权限
每一个终端都拥有一个umask属性,来确定新建文件 , 文件夹的默认权限
目录的默认权限:777-umask
文件的默认权限:666-umask
一般对于普通用户默认的umask是002,root用户的默认是022
新建文件的权限是:666-002=664
新建目录的权限是:777-002=775
命令umask用以查看 , 设置umask值
#查看
umask
#设置
umask 022
特殊权限
除普通权限外,还有三个特殊权限:
权限
对文件的影响
对目录的影响
suid
以文件的所属用户身份执行
无
sgid
以文件的所属组身份执行
在该目录中创建的任意新文件的所属组与该目录的所属组相同
sticky
无
对目录拥有写入权限的用户可仅可以删除其拥有的文件,无法删除其他用户所拥有的文件
设置特殊权限
设置suid:
chmod u+s fileName
即rwsrwxrwx
设置sgid:
chmod g+s fileName
即rwxrwsrwx
设置sticky:
chmod o+t fileName
即rwxrwxrwt
与普通权限一样,特殊权限也可以使用数字方式表示
- SUID = 4
- SGID = 2
- Sticky = 1
所以可以通过一下命令 设置
chmod 4755 fileName
即rwsrwxrwx
linux+系统优化基础,Linux入门基础(三):Linux用户及权限基础相关推荐
- 【Linux 性能优化系列】Linux 性能优化 -- CPU 性能篇(三) Linux 软中断
[Linux 性能优化系列]Linux 性能优化 -- CPU 性能篇(三) Linux 软中断 [1]相关概念 [1.1]中断 中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力:为了减少 ...
- 视频教程-零基础JS入门系列课程(2)之JS语法基础精讲-JavaScript
零基础JS入门系列课程(2)之JS语法基础精讲 螺钉课堂讲师,擅长Vue.React.ReactNative.NodeJS等前端框架及技术 邓老师 ¥59.00 立即订阅 扫码下载「CSDN程序员学院 ...
- Linux中的python、mysql安装以及用户与权限
一.软连接和硬链接 命令: ln -s 被连接的文件源 连接文件(快捷方式名称) 注意: 1.没有 -s 选项建立的是一个硬连接文件,两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接. ...
- it招聘上说熟悉linux系统,运维入门:细说Linux,做IT必看
原标题:运维入门:细说Linux,做IT必看 Linux进程和系统.任务管理 一.基本概念 程序:一组指令的集合 进程:程序的具体实现,执行程序的具体过程 子进程调用:fork-and-exec流程: ...
- 零基础数据挖掘入门系列(三) - 数据清洗和转换技巧
思维导图:零基础入门数据挖掘的学习路径 1. 写在前面 零基础入门数据挖掘是记录自己在Datawhale举办的数据挖掘专题学习中的所学和所想, 该系列笔记使用理论结合实践的方式,整理数据挖掘相关知识, ...
- Linux服务器安全配置实例(二)用户账户权限配置
没有绝对的安全 在上一篇文章<linux服务器安全配置实例(一)>中介绍了我对ssh服务的一些常用的安全配置和性能优化. 其实ssh服务是我们进入服务器的一扇大门,这扇大门是提供正常人使用 ...
- Linux命令:MySQL系列之十--MySQL用户和权限管理,mysql管理员密码重置
MySQL用户账号包括:用户名@主机名 用户名:16个字符以内 主机:主机有以下几种表现方式 主机名: mysql IP地址: 172.16.90.111 网络地址:172.16.0.0/255.25 ...
- linux用户名和密码6,Linux系统中(CentOS 7)的用户和权限管理
用户和组 用户信息文件 /etc/passwd (1 2 3 4 5 6 7) root:x:0:0:root:/root:/bin/bash 用户信息,以 : 分割字段 daemon:x:2:2:d ...
- centos 7 php目录权限设置密码,Linux系统中(CentOS 7)的用户和权限管理
用户和组 用户信息文件 /etc/passwd (1 2 3 4 5 6 7) root:x:0:0:root:/root:/bin/bash 用户信息,以 : 分割字段 daemon:x:2:2:d ...
最新文章
- 火狐浏览器允许ajax,解决火狐浏览器发送jquery的ajax请求无效的问题
- Deep Learning | 深度学习介绍与基本概念
- VMware虚拟机三种网络模式(桥接、NAT、仅主机)的区别
- TikTok跨境出海:Tiktok怎么月入几十W?
- JavaScript中 var reEmail=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; //邮箱检测
- static和不完全类型的一个例子
- 一文彻底搞懂静态库和动态库,显示链接和隐式链接
- nagios监控服务器的搭建
- spring boot——MockMvc的用法 (SpringBoot 1.5.18)下测试通过
- 宜家邮件系统正遭网络攻击
- Windows下JNI的使用教程
- python的shutil模块
- STL STL的不同实现版本
- html实现2048小游戏,html+css+js适合前端小白的实战全解(超详细)——2048小游戏(二)...
- python连接FTP服务器
- ubuntu20.04 wps安装流程及问题解决
- 恶意样本分析手册——理论篇
- 解密-大象跳转如何实现微信中点击链接直接跳到默认浏览器(不是在微信内置浏览器打开)
- 车牌识别EasyPR--开发详解
- Android设置来电号码归属地
热门文章
- 将当前的head推送到远程_Git 通俗易懂系列 三、远程仓库和标签
- 使用java向ftp上传多张图片_ftp免费空间,利用ftp工具定时连接ftp免费空间教程及java配置...
- 华为新系统鸿蒙能互通吗,「连接」万物的鸿蒙,能拯救华为手机吗?
- 怎么关闭默认使用腾讯视频播放视频文件
- mysql too many connections_mysql too many connections 解决方法
- vuex 的模块化+命名空间
- composer 设置版本号_Composer依赖管理 – PHP的利器
- Spring bean 不被 GC 的真正原因
- Spring Cloud —— RocketMQ 的消息类型
- Java并发编程实战————售票问题