linux用户和权限详解
1.用户组说明
在使用useradd命令创建用户的时侯可以用-g 和-G 指定用户所属组和附属组。
基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。在创建文件时,文件的所属组就是用户的基本组。
附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
用户不论为与基本组中还是附加组中,就会拥有该组的权限。一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
##将user的加到隶属组group1usermod -G group1 user##将user的主要组改为group2usermod -g group2 user2.赋予用户sudo权限
linux下直接运行sudo命令,会提示类似:
xxxis not in the sudoers file. This incident will be reported.
这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决:
进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)
编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。
然后就行了。
3.777,644,755等用户权限说明

读取写入执行权限
444 r–r–r–600 rw——-644 rw-r–r–666 rw-rw-rw-700 rwx——744 rwxr–r–755 rwxr-xr-x777 rwxrwxrwx
三位数字代表9位的权限,分成3部分,第一部分3位表示所有者的权限,第二部分3位表示同组用户权限,第三部分3位表示其他用户权限,r代表读取权限等于4,w代表写入权限等于2,x代表执行权限等于1。
比如777,第一位7等于4+2+1,所以就是rwx,所有者有读取、写入、执行的权限,第二位7也是4+2+1,rwx,同组用户具有读取、写入、执行权限,第三位7,代表其他用户有读取、写入、执行的权限。
比如744,第一位7等于4+2+1,rwx,所有者具有读取、写入、执行权限,第二位4等于4+0+0,r–,同组用户只有读取权限、第三位4,也是r–,其他用户只有读取权限。
Linux系统下经常遇到文件或者文件夹的权限问题,或者是因为文件夹所属的用户问题而没有访问的权限。根据我自己遇到的情况,对这类问题做一个小结。
在命令行使用命令“ll”或者“ls -a”,可以查看文件或者文件的权限:
-rw-r--r--. 1 root root 6 Nov 9 16:42 a.txt
其中“-rw-r--r--”表示权限,一共有十个字符。
第一个字符,如果是“-”则表示是文件,如果是“d”则表示是目录(directory)。
后面9个字符每3个字符又作为一个组,则有3组信息(“rw-”、“r--”、“r--”),分别表示所属用户本身具有的权限、所属用户的用户组其他成员的权限、其他用户的权限。
每一组信息如“rw-”,每一个字符都有它自己的特定含义且先后位置是固定的,其中r是读权限、w是写权限、x是可执行权限、-没有对应字符的权限。Linux里面对这些字符设置对应的数值,r是4,w是2,x是1,-是0。上面的“rw-”则是6(=4+2+0),所以最开始a.txt的权限是644,属于root用户组的root用户。
4.修改权限chmod
4.1文件的权限
我想修改文件a.txt的权限为755,则为:
[root@master my]# ll
-rw-r--r--. 1 root root 6 Nov 9 16:42 a.txt #改之前权限是644
[root@master my]# chmod 755 a.txt
[root@master my]# ll
-rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改后权限是755
4.2改文件夹的权限
改之前:
[root@master test1]# ll
drw-r--r--. 2 root root 4096 Nov 9 16:42 my #改之前文件夹my的权限是644
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改之前文件夹my的里面的文件权限是755
4.2.1只改变文件夹本身权限,不改动子文件(夹)
执行命令修改my文件夹权限为600:
[root@master test1]# chmod 600 my/ #修改命令
[root@master test1]# ll
drw-------. 2 root root 4096 Nov 9 16:42 my #改my文件夹之后权限是600
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改my文件夹之后里面的文件权限还是755,没有变化
4.2.2改变文件夹及子目录下所有文件(夹)权限
执行1.2.1步骤之后,my文件夹和里面的文件权限都是不同的。现在递归修改,都改为统一的权限777:
[root@master test1]# chmod -R 777 my/ #修改命令,注意中间是大写的R,不是小写
[root@master test1]# ll
drwxrwxrwx. 2 root root 4096 Nov 9 16:42 my #修改后my文件夹权限是777
[root@master test1]# ll my/
-rwxrwxrwx. 1 root root 6 Nov 9 16:42 a.txt #修改后里面的文件变为了777
5.修改所属用户和用户组chown
这个和修改文件夹的权限是基本相同的,只不过是把chmod命令换成了chown。
5.1修改文件所属用户和用户组
修改a.txt文件所属用户(jay)和用户组(fefjay):
chown jay:fefjay a.txt #修改文件所属用户为jay,所属用户组为fefjay
5.2修改文件夹所属用户和用户组
5.2.1只改文件夹本身所属用户和用户组,不改子文件(夹)
仅修改文件夹my本身所属用户(jay)和用户组(fefjay):
chown jay:fefjay my #修改文件所属用户为jay,所属用户组为fefjay
5.2.2改变文件夹及所有子文件(夹)所属用户和用户组
递归修改文件夹my及包含的所有子文件(夹)的所属用户(jay)和用户组(fefjay):
chown -R jay:fefjay my #修改文件所属用户为jay,所属用户组为fefjay
linux用户和权限详解的更多相关文章
- Linux 用户及权限详解
Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...
- linux初级学习笔记六:linux用户及权限详解!(视频序号:03_4)
本节学习的命令:/etc/passwd,/etc/shadow,/etc/group文件详解 本节学习的技能: 安全上下文 文件与目录的权限管理 影子命令 用户,用户组类别详解 /etc/passwd ...
- Linux 用户和用户组详解
用户分类 超级用户:UID范围 0 root用户:uid=0(root) gid=0(root) groups=0(root) 普通用户:由管理员创建,UID范围(500-65535) --> ...
- linux如何修改权限详解
前言 今日,同事问我,服务器上拷贝过来的tomcat,怎么执行不了./startup.sh.于是,我一想,那肯定是没有权限的问题了.于是使用chmod命令更改了权限后,就可以执行了.项目正常启动.我想 ...
- linux: 用户组, 文件权限详解
一.用户组 linux中每个用户必须属于一个组,不能独立于组外. 每个文件有所有者.所在组.其他组的概念 --所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命 ...
- Linux 文件特殊权限详解[suid/sgid/t]
setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限, 即让普通用户可以以root用户的角色执行程序或命令. setgid( ...
- Linux文件夹权限详解
- 第一个字符代表文件(-).目录(d),链接(l) - 其余字符每3个一组(rwx),读(r).写(w).执行(x) - 第一组rwx:文件所有者的权限是读.写和执行 - 第二组rw-:与文件所有者 ...
- linux学习之路--(六)用户及权限详解
计算机资源 用户 用户的容器,用户组 权限 进程时用户访问计算机的代理,操作文件的时候,文件本身有权限,进程本身也有权限 安全上下文(secure context) 权限: r, w, x 文件: r ...
- 4-1 Linux用户管理命令详解
1. /etc/passwd 格式 用户名:密码:UID:GID:注释:家目录:默认shell useradd [options ] USERNAME -u: UID 要大于等于500, - ...
随机推荐
- android发送短信代码(短信内容超长处理)
一条短信只可容纳70个中文,所以当短信长度超过70个中文字符时程序就要特殊处理了. 有两种方式: 1.通过sendTextMessage()方法依次发送拆分后的短信,该方式有个弊端就是用户会分条收到短 ...
- Entity Framework 同一个上下文中,如何进行对同一个实体进行指定字段更新
转自 http://www.cnblogs.com/flyfish2012/archive/2013/03/13/2957125.html 我在上一篇EF更新指定的字段当中介绍了,如何在EF指定字段进 ...
- centos 6.5 上安装使用upsource
这里应领导的要求,在服务器上装了upsource Upsource的安装和与JetBrains工具的集成 JetBrains的工具一直都是我开发和学习的好帮手,本人工作主要是iOS开发,使用的是App ...
- C语言浮点数存储结构
float类型占四个字节,每个字节占8位,总共32位,其内存结构如下图: 31位为符号位:0表示正数,1表示负数 31~23位:共8位表示指数位,内存存储数据从0~2^8-1=255,由于指数可以是正 ...
- git 生成ssh keys
最近从svn转到gitlab 记录一下如何生成ssh keys 首先下载GitExtensions246SetupComplete.msi并安装,如果已经安装了git,那么安装途中就跳过就行 安装完毕 ...
- ASP.NET MVC做的微信WEBAPP中调用微信JSSDK扫一扫
今天做一个项目,是在微信上用的,微信WEB APP,里面用到了调用手机摄像头扫一扫二维码的功能,记得以前某个项目里写有的,但是找不到之前那个项目源码了,想复制粘贴也复制不了了,只好对着微信的那个开发文 ...
- SQL作业
USE [test] GO /****** Object: StoredProcedure [dbo].[wangchuang] Script Date: 2016/8/25 14:09:24 *** ...
- iOS开发之蓝牙
// // ViewController.m // 13-蓝牙 // // Created by hongqiangli on 2017/7/21. // Copyright © 李洪强. A ...
- 【Kryo】简单地使用Kryo
公司用Kryo,先接触下,简单记录下. 引入包 <dependencies> <dependency> <groupId>com.esotericsoftware& ...
- DIOCP开源项目-DIOCP3的ECHO测试<贴图>
星期六开了测试台测试机子.星期天休息,今天早上来接两个图 开了2个客户端,一个qsl的echo client,一个是楠楠的dbiocp回调客户端.建立13240个连接 今天来后,机子很卡,后来发现是楠 ...