Linux入门-5 用户及权限基础
Linux用户基础
用户限制使用者或进程可以或不可以使用资源,组用来组织管理用户。
- 每个用户拥有一个UserID,OS实际使用的是用户ID,而非用户名
- 每个用户属于一个主组,属于一个或多个附属组
- 每个组拥有一个GroupID
- 每个进程以一个用户身份运行,并受该用户可访问的资源限制
- 每个可登录用户拥有一个指定的shell
用户
- 用户ID为32位,从0开始,但为了和老式系统兼容,用户ID限制在60000以下。
- 用户分为三种:
- root用户(ID为0)
- 系统用户(1-499, 现在为1-999):没有shell,为某些服务而创建,如打印服务
- 普通用户(500以上, 现在为1000以上)
- 系统中的文件都有一个所属用户及所属组
- 使用
id
命令可以显示当前用户的信息(每个用户可以有31个附属组) - 使用
passwd
可以修改当前用户密码
相关文件
- /etc/passwd 保存用户信息
username:x:uid:gid:commit:home:shell
x表示密码,在shadow文件中 - /etc/shadow 保存用户密码
下面是一个加密后的密码,由$
分为三部分,加密方式、sort、加密后的密码
$1$t4BLqkzi$.LDsXR//TU7Ujrhm/HK8F0
- /etc/group 保存组信息
gname:password:gid:users
用户使用组密码加入对应的组,现代操作系统已经不使用组密码,因为一个用户可以属于一个或多个附属组
查看登录的用户
whoami
显示当前用户who
显示已登录用户w
显示已登录用户及工作
Linux中,有一个约定:命令名字越长,显示内容越少,vv。
添加用户
useradd <username>
-d
指定家目录-m
自动创建家目录-s
登录shell-u
userid-g
主组-G
附属组(最多31个,用逗号隔开)
该命令执行以下操作:
- 在/etc/passwd中添加用户信息
- 如果使用
passwd
命令创建密码,则将密码保存在/etc/shadow中 - 为用户建立一个新的家目录/home/username
- 将/etc/skel中的文件复制到用户的家目录
- 建立一个与用户名相同的组,新建用户默认属于这个同名组
修改用户信息
usermod <username>
-l
新用户名-u
新userid-d
家目录-g
主组-G
附属组-L
锁定,使其不能登录-U
解除锁定
删除用户
userdel <username>
不删除家目录
userdel -r <username>
同时删除家目录
组
一般使用部门、职能或地理区域的分类方式来创建使用组。
- 每个组有一个GID
- 组信息保存在/etc/group中
- 每个用户拥有一个主组,和最多31个附属组
创建、修改、删除组
groupadd groupname
groupmod -n newname oldname
groupmod -g newGid oldGid
groupdel groupname
Linux权限机制
权限
权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
r | 可读取文件内容 | 可列出目录内容 |
w | 可修改文件内容 | 可在目录中创建删除文件 |
x | 可以作为命令执行 | 可访问目录内容 |
目录必须拥有x权限,否则无法查看其内容。
UGO
Linux权限基于UGO模型进行控制:
- User, Group, Other
- 每个文件的权限基于UGO进行设置
- 权限三个一个组(rwx),对应UGO分别设置
- 命令
ls -l
可以查看当前目录下文件的详细信息:
drwxr-xr-- 2 username groupname size updatetime filename
修改文件所属用户和组
chown
修改所属用户chown username filename
-R
递归修改目录下所有文件的所属用户
chgrp
修改所属组chgrp username filename
-R
递归修改目录下所有文件的所属组
修改权限
chmod 模式 文件
模式:
- u, g, o
- a表示ugo(all)
- +, -代表添加或删除权限
- r, w, x表示权限
-R
递归
示例:
chmod u+rw linuxcast.net
chmod g-x linuxcast.net
chmod go+r linuxcast.net
chmod a-x linuxcast.net
chmod
支持数字方式修改权限,三个权限分别由三个数字表示:
- r = 4(2^2)
- w = 2(2^1)
- x = 1(2^0)
- - = 0
每组权限分别对应数字之和:
- rw- = 4+2 = 6
- rwx = 4+2+1 = 7
- r-x = 4+1 = 5
- 修改时必须同时修改ugo的权限:
chmod 660 linuxcast.net
(rw-rw----)chmod 775 linuxcast.net
(rwxrwxr-x)
Linux权限扩展
默认权限
- 每个终端都有一个
umask
属性,来确定新建文件、文件夹的默认权限 umask
使用数字方式表示权限,如:022- 目录默认是
777-umask
,文件默认是666-umask
- 普通用户默认
umask=002
,root用户默认umask=022
- i.e. 普通用户:
- 新建目录的权限是:
777-002=775
- 新建文件的权限是:
666-002=664
- 新建目录的权限是:
- 命令
umask
可以查看设置umask值 - umask实际是四位数,一位是特殊权限
特殊权限
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
suid | 以文件的所属用户身份执行 | 无 |
sgid | 以文件所属组身份执行 | 该目录中创建的任意新文件的所属组与该目录的所属组相同 |
sticky | 无 | 有写权限的用户也不能删除目录中的文件,只能被owner和root删除 |
- suid权限的文件,u的权限x变为s,通常为可执行文件设置,比如
/usr/bin/passwd
文件,普通用户以root用户权限执行,将密码写入shadow文件。 - sgid主要用在目录上,使目录中的文件和目录自动继承目录组
- sticky称为粘滞位,写在o的x位置上,假如本来在该位上有x, 则这些特别标志 (suid, sgid, sticky) 显示为小写字母 (s, s, t).否则, 显示为大写字母 (S, S, T)
设置方法:
chmod u+s filename
chmod g+s filename
chmod o+t filename
- 也可以用数字方式,
chmod 4755 filename
- SUID = 4
- SGID = 2
- Sticky = 1
Linux入门-5 用户及权限基础的更多相关文章
- Linux入门(用户操作及权限)
Linux入门之 用户操作及权限 在一个公司里,老板与员工有上下级之分,员工与员工间也有上下级或同级之分.每个级别在公司的职责不同,权限也不同.在Linux操作系统中也一样,不同的用户身份拥有着不 ...
- Linux入门基础(三):Linux用户及权限基础
用户基础 用户和组 每个用户都拥有一个userid 每个用户都属于一个主组,属于一个或多个附属组 每个组拥有一个groupid 每个进程以一个用户身份运行,受该用户可访问资源限制 每个可登陆用户拥有一 ...
- Linux学习笔记14-权限基础
权限基础 权限:操作系统限制对资源访问的机制,一般分为读.写.执行.每个文件都拥有特定权限,通过所属用户及所属组来限制哪些用户.组可以对特定文件进行什么样的操作. 每个进程都是以某个用户的身份运行,进 ...
- 3,linux入门到上手-文件权限管理与配置
linux入门-文件权限管理与配置 一.关于linux的操作命令一般格式如下: 1,一行指令中第一个输入的部分绝对是"指令(command)"或"可可执行文件案(例如批次 ...
- 入门MySQL——用户与权限
前言: 前面几篇文章为大家介绍了各种SQL语法的使用,本篇文章将主要介绍MySQL用户及权限相关知识,如果你不是DBA的话可能平时用的不多,但是了解下也是好处多多. 1.创建用户 官方推荐创建语法为 ...
- Linux文件属性之用户和组基础知识介绍
一.Linux多用户多任务介绍 Linux/Unix 是一个多用户.多任务的操作系统:在讲Linux账号及账号组管理之前,我们先简单了解多用户.多任务操作系统的基本概念. 1.1Linux单用户多任务 ...
- linux ftp 添加用户及权限管理
Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记,顺便配置一下FTP.声明:使用Linux版本release 5.6,并以超级管理员root身份运行. 1.创建用 ...
- Linux --赋予普通用户root 权限
Linux的普通用户在安装一些东西的时候或者执行命令的时候,终端始终会提示权限不够,我们会将这个普通用户赋予root权限,但是,和root还是有区别的,因为只能执行root规定好的一些操作命令. 1. ...
- Linux云计算-04_Linux用户及权限管理
Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登录,而且在系统上启动进程也需要以一个用户身份器运行,用户可以限制某些进程对特定资源的权限控制 ...
随机推荐
- Mac版sublime text右键open in browser 不能识别中文名解决办法
问题描述: Mac下sublime text下打开中文命名的html文件,右键open in browser,浏览器无反应. 解决思路: 要么适应软件,要么改进软件来适应. 1. 将中文名的html ...
- MySQL存储引擎 InnoDB与MyISAM的区别
来源:http://www.jb51.net/article/47597.htm 基本的差别:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行 ...
- 基于Flume做FTP文件实时同步的windows服务。
需求:做一个windows服务,实现从ftp服务器实时下载或者更新文件到本地磁盘. 功能挺简单的.直接写个ftp工具类用定时器跑就能搞定,那我为什么不用呢? 别问,问就是我无聊啊,然后研究一下Flum ...
- linux 将一个服务器上的文件或者文件夹复制到另一台服务器上
使用scp将一个Linux系统中的文件或文件夹复制到另一台Linux服务器上 复制文件或文件夹(目录)命令: 一.复制文件: (1)将本地文件拷贝到远程 scp 文件名 用户名@计算机IP或者计 ...
- HaspMap的新奇用法
HashMap<String, String> map = new HashMap<String,String>(){ private static final long se ...
- Flume1.6.0搭建
下载地址:http://archive.apache.org/dist/flume/ 解压完毕 切换到安装目录下/usr/local/flume/apache-flume-1.6.0-bin/conf ...
- [译]用R语言做挖掘数据《四》
回归 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...
- WordPress主题开发:为文章添加自定义栏目
开启自定义栏目:点击头顶的“显示选项”,勾选“自定义栏目” 然后编辑文章时,即可看见 实验: 定义名称为:play_url ,值为:http://www.xiami.com/widget/635357 ...
- Orchard源码:EventBus&EventHandler
概述 看源码是一件吃力又很爽的事情,昨天还被搞的一头雾水,今天忽然守得云开见月明.明白它设计意图的同时,感觉自己又提升了一步:) Orchard刚开始看往往毫无头绪,建议可以从Orchard.Fram ...
- sql = 和<>遵循的sql-92标准的设置SET ANSI_NULLS ON
说明 SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE. 当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空 ...