Linux用户和权限
用户和用户组管理
- linux使用用户和组来限制资源的使用。 在linux上运行任何程序或命令都要以一个具体的用户来运行,这个用户的权限决定了相应的程序能访问的资源和能执行的操作。
用户相关命令
- 组是用户的集合,比如我创建一个 dev 组,这个组里的用户有: zhaoy, steve, david等等。
- 添加用户:
useradd -G group1 user1
添加一个用户user1,并指定其附属组为 group1.
该命令需要root权限,所以我先用 su -
切换到root用户。
- 可使用 id 命令来查看用户信息:
注意:uid 是用户的id, gid是用户主组的id,后面的组是用户的附属组,主组和附属组差别不大,用户只能有一个主组但可以有多个附属组。
还有很多其它参数,具体使用请 man useradd
为用户设置密码
用户信息放在 /etc/passwd 文件种,用户的密码信息放在 /etc/shadow 文件中。
修改用户命令: usermod
删除用户命令: userdel
-- 如果删除用户时提示 user1被进程使用,请使用exit 和 logout命令多登出几次。skel目录:新建用户时如果用 ·useradd -m user1· 那么就会为用户创建家目录(又叫主目录),家目录的默认位置为 /home/user1 ,同时会将 /etc/skel 目录下的文件拷贝到家目录下。
组相关命令
- 添加组
groupadd dev
添加一个名为 dev 的组。 - 修改组信息:
groupmod
- 删除组:
groupdel dev
文件的UGO 权限模型
- linux上的一切都是用文件来表示的,文件上附带的信息有:文件的一般权限和特殊权限信息,文件所属的用户U,文件所属的用户组G,文件的隐藏属性,文件大小,文件的创建和修改时间。
文件基本信息
- 运行
ls -al
,会显示类似如下信息:
每一行是一个文件或者目录的信息,每一部分用空格分开,下面以第一条为例解释如下:
第1部分的第一个字符: 文件类型,-表示这是一个文件,d表示这是一个目录,l表示这是一个连接文件,当然还有其它类型。
第1部分的第2到10 个字符:即 rw-r--r-- , 这是该文件的UGO权限信息,下面会细说。
第2部分: 1 表示该文件的连接数,通俗说就是有多少引用指向了该文件。
第3部分:zhaoy 表示该文件的所有者是zhaoy这个用户。
第4部分:zhaoy 表示该文件的所属组是 zhaoy 这个组。
第5部分:675 表示该文件目前的大小是 675 字节(B)。
第6部分:9月 22 12:19 表示该文件被创建和修改的时间。
第7部分:文件名,如果文件名以点开头,说明这是一个隐藏文件,如果你用 `ls -l` ,那么隐藏文件是不会显示出来的,除非你加 `-a` 参数。
r w x 读 写 执行权限
- 文件的读权限:你可以看文件,比如 cat a.txt 可以看里面的内容。
- 文件的写权限:你可以修改删除文件里的内容,但无法删除文件本身。
- 文件的执行权限:可以执行该文件。
- 目录的读权限:可以读取目录下的文件和子目录信息,比如可以用ls 命令列出目录下的文件和目录列表。
- 目录的写权限:可以在目录下增加,删除文件。
- 目录的执行权限:可以进入目录,比如可以执行 cd 进入目录。
G, G, O:文件的所有者,文件所属的组,其它用户和组
- 所以,修改权限就是权限和用户的组合。
- 修改权限的命令命令:
chmod u+rw test.sh
,给test.sh 的所有者添加读写权限。
chmod g-x test.sh
,给test.sh 文件所在的群组取消执行权限。 - 修改文件所属用户
chower user1 file1
- 修改文件所属组
chgrp grp1 file1
默认权限
- 权限还可以用数字表示: r 4, w 2, x 1,比如一个文件的权限是 765,那就表示这个文件上U的权限是 rwx (7=4+2+1), G的权限是 rw-(6=4+2),O的权限是r-x (5=4+1)。
- 当我们新建一个文件或目录的时候,它们上面的权限信息就是来自默认权限。
- 文件的默认权限 = 666 - umask.
- 目录的默认权限 = 777 - umask.
- 运行 umask命令可以查看和设置默认权限 ,umask的值表示要减去的权限:
为什么是4位?因为第一位表示的是特殊权限。
所以文件的默认权限就是 666 - 022 = 644,目录的默认权限是 777 - 022 = 755
特殊权限
- SUID,例子:
chmod u+s file1
针对文件,特别是可执行文件的U上的权限,当设置上是,如果文件可执行文件file1的所有者是userA,但是当前执行file1的用户是userB,如果userB对file1有x权限,那么当userB执行file1时,userB会临时切换位userA,file1就可以执行userA有权执行的操作。 - SGID: 例子:
chmod g+s file1
:针对文件和目录,对文件的作用同SUID,对目录的作用就是:如果目录dir1 的所属组时group1,那么不论是哪个用户在这个目录下新建文件或子目录,这些新建的文件和子目录所属的组都是group1. - sticky: 例子:
chmod o+t dir1
: 针对目录,对目录的作用:除root外的任何用户在目录dir1下增删改文件时,只能修改删除自己创建的文件,无法修改删除不是自己的文件。
隐藏属性
- 列出文件的隐藏属性
lsattr file1
- 修改文件的隐藏属性:
chattr -i -a file1
-i
参数表示这个文件除了root外不允许进行任何操作。-a
表示这个文件内容只能追加,不能删除内容。-i -a
只能由root来设置。
Linux用户和权限的更多相关文章
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- Linux 用户及权限详解
Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...
- Linux用户和权限——管理文件权限的命令
Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...
- Linux用户和权限——权限管理
Linux用户和权限——权限管理 摘要:本文主要介绍了Linux系统中权限的分类,以及对权限的管理. 用户的三种身份 所有者 由于Linux是个多人多工的系统,因此可能常常会有多人同时使用这部主机来进 ...
- Linux用户和权限——管理用户和用户组的命令
Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令. useradd命令 useradd命令可以用来创建新用户. 基本语法 useradd [ ...
- Linux用户和权限——用户和用户组管理
Linux用户和权限——用户和用户组管理 摘要:本文主要介绍了Linux系统中的用户和用户组管理. 用户和用户组 含义 在使用Linux系统时,虽然输入的是自己的用户名和密码,但其实Linux并不认识 ...
- linux用户及权限管理
[文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...
- Linux用户和权限管理看了你就会用啦
前言 只有光头才能变强 回顾前面: 看完这篇Linux基本的操作就会了 没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了.这篇主要将Linux下的用户和权限知识点再整理 ...
- linux用户和权限详解
1.用户组说明 在使用useradd命令创建用户的时侯可以用-g 和-G 指定用户所属组和附属组.基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组 ...
- Linux入门基础(三):Linux用户及权限基础
用户基础 用户和组 每个用户都拥有一个userid 每个用户都属于一个主组,属于一个或多个附属组 每个组拥有一个groupid 每个进程以一个用户身份运行,受该用户可访问资源限制 每个可登陆用户拥有一 ...
随机推荐
- hdu1693插头dp(多回路)
题意:在n*m的矩阵中,有些格子有树,没有树的格子不能到达,找一条或多条回路,吃全然部的树,求有多少中方法. 这题是插头dp,刚刚学习,不是非常熟悉,研究了好几天才明确插头dp的方法,他们老是讲一些什 ...
- java 保存和读取本地json文件
保存数据到本地文件 private void saveDataToFile(String fileName,String data) { BufferedWriter writer = null; F ...
- #上海ORACLE用户组2014在论坛#时刻
#上海ORACLE用户组2014年高峰论坛#精彩瞬间 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNrbWFjbGVhbg==/font/5a6L5L ...
- 采用navicat导出表结构及数据insert声明
旧navicat有一段时间,查找navicat真的很方便,它可以支持各种数据库的. 他一直认为无处不在sql文件比较麻烦,每个表会生成一个sql档,不方便开展进口业务.今天,它已突然发现了一个批次sq ...
- gdal库中设置prj4库全路径的用法
作者:朱金灿 来源:http://blog.csdn.net/clever101 gdal库实现投影转换之类的功能实际上底层都是调用prj4库的功能.如果gdal使用非静态的方式集成prj4库,实际上 ...
- Method for training dynamic random access memory (DRAM) controller timing delays
Timing delays in a double data rate (DDR) dynamic random access memory (DRAM) controller (114, 116) ...
- C#后台调用前台js方法
前台js方法(写在head标签之内) <script type="text/javascript" language="javascript"> f ...
- 中国新超算彻底告别进口CPU 国产芯片已可与国外抗衡
日前,飞腾已经完成FT-2000plus服务器CPU的研制工作,飞腾公司的合作伙伴正在积极研发相应的整机产品.FT-2000plus这款芯片是以FT2000为基础的改进版本,虽然在单核性能上和Inte ...
- 机器学习: Tensor Flow with CNN 做表情识别
我们利用 TensorFlow 构造 CNN 做表情识别,我们用的是FER-2013 这个数据库, 这个数据库一共有 35887 张人脸图像,这里只是做一个简单到仿真实验,为了计算方便,我们用其中到 ...
- scipy —— 丰富的子包(io、cluster)
io,顾名思义,input/output,输入输出接口: 1. io Input and output (scipy.io) - SciPy v0.18.1 Reference Guide wavfi ...