Linux权限

组权限:

groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员
whoami 查看当前登录用户名

/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名

1、/etc/group 解说;

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;

用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,

2、/etc/group 内容具体分析

/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

group_name:passwd:GID:user_list

在/etc/group 中的每条记录分四个字段:

第一字段:用户组名称;

第二字段:用户组密码;

第三字段:GID

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名。

1. 首先了解一个ls -l 文件的每列含义
[root@zhs-pc ~]# ls -l a  
-rw-r--rw-  1 test002 tester 279103  9月  2 13:21 a
下面介绍每列含义:
(1)第一列:文件类型和权限,这部分稍后重点介绍,见后*001。
(2)第二列:文件硬链接数或目录子目录数,如果一个文件不是目录那么这一字段表示,这个文件所具有的硬链接数;如果是一个目录,则这个字段表示该目录所含子目录的个数 (3)第三列:文件的属主,即文件的所有者,有时候我们将一个文件复制给另一用户,要记得将文件的属主也要改变,否则可能会发生文件权限不对的错误。
(4)第四列:文件的属组,即文件的所属组,即在此组里的用户对文件有拥有不同的权限。
(5)第五列:文件的大小,大小以字节显示。
(6)第六列:最近一次文件内容的修改时间。
(7)第七列:文件或者目录名。  
*001  -rw-r--rw- 第一列为第一部分,代表了文件的类型,文件的类型主要有以下几种:
(1)-表示是普通文件
(2)d表示是目录
(3)l表示是软链接文件
(4)b表示是块设备文件,例如硬盘的存储设备等
(5)c表示是字符设备文件,如键盘等
(6)s表示是套接字文件,此主要跟网络程序有关
(7)p表示是管道文件 第二列至第十列为第二部分,这部分一共9列,每三列为一组,共分为三组,由左至右分别代表了属主的权限,属组的权限,其他人的权限 test002(属主)用户对a文件拥有可读(r)可写(w)权限。 tester(属组)组里的用户对a文件拥有可读权限。 既不是test002用户也不属于tester组的用户对文件拥有可读可写权限。

2.详细解释文件和目录的读写执行权限

 知道:  

在linux里面,目录也是一个文件。权限设置方法与普通文件一样。
目录的可执行权限:目录无所谓执行不执行,目录只能否被开启(也称作“遍历”或“搜索”)
对目录的执行权限不仅意味着查看目录下文件名还允许查看文件的其它信息如文件大小、修改时间。

说的再详细些就是这样的
Linux的权限不是很细致,只有RWX三种
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
1、目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入
2、只有执行权限只能进入目录,不能看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。
3、一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写权限,如果目录对用户没有写权限,则该目录下的所有文件都不能被删除,文件所有者除外
4、目录的w位不设置,即使你拥有目录种某文件的w权限也不能写该文件

如果对目录没有执行权限,则无法cd进入这个目录;但是如果你对目录中的文件有操作权限的话,还是可以直接操作目录中的文件的。 

将用户添加到sudoer列表

默认情况下,linux没有将当前用户列入到sudoer列表中(在redhat系列的linux发行版中最为常见),这时如果你使用sudo来执行某些命令的话,就会提示你该用户不再sudoer列表中。这时,我们就需要手工加入了。

1.在命令行下键入:$su ,并输入root账户的密码,切换到root账户,其中的$是命令提示符,不用你敲

2.命令行键入:#vi /etc/sudoers,就会打开sudo的配置文件。

在linux下任何的配置文件都是以文本文件保存,即你可以使用vim来打开sudo的配置文件,但是不建议这么做,因为你visudo是linux提供的修改sudo配置文件的工具,与vim比起来,它会提供更多的提示信息和纠错能力。

3.与用vim编辑文本文件一样,我们搜索root关键字,所以在打开的文件中输入 /root

4.按键盘上的 n 键,会自动跳到下一个root的关键字,一直跳到这句话:

## Allow root to run any commands anywhere
root ALL=(ALL) ALL

这时,继续按n键,光标会出现在root ALL=(ALL) ALL中的root上

5.输入 yyp 并回车,这是vim中的两个命令。yy表示复制当前行,p表示将复制的内容粘贴到下一行,所以输入该命令后原来的文字变为如下:

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
root ALL=(ALL) ALL

6.按 j 键,光标会跳到第二个root ALL=(ALL) ALL这一行上,再按数字0键,让光标回到行首,这时按4下 x 键,删除这一行的root这四个字母。然后按下 i 键,进入插入模式,输入你的用户名,比如我现在的用户名为xin,则我输入xin。输入后原来的文字变为如下:

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
xin ALL=(ALL) ALL

7.按下ESC键(键盘的左上角,在F1的左边)推出插入模式,然后按下 :wq 三个字符退出并保存当前配置文件。

8.现在已经修改完成了,xin这个用户已经加入到了sudoer的列表,你使用xin这个用户执行sudo 命令时已经可以了。

原文地址:https://www.cnblogs.com/thinksasa/p/3295403.html