Linux的账户管理与ACL权限设置

2020-04-26  本文已影响0人  放下梧菲

1、Linux账户与用户组

1、用户标志符:UID和GID

UID:user id 用户id
GID:group id 用户组id (不要随便乱改,会造成系统资源错乱

2、用户账号

/etc/passwd 里面存有账号
/etc/shadow 存有密码

passwd文件中,的第一列是账号。第二列是密码,但是我们只能看一个x,存在了shadow里,需要管理员权限才能看得到。第三列就是UID。0使系统管理员,1-200是系统账号,201-999是用户有系统账号需求使用的UID,1000-60000是一般用户。
第四列就是GID。
第五列是用户信息说明栏。一般没什么太大用途。
第六列是家目录。
第七列是shell。用户登录得到的与系统内核沟通shell。

/etc/shadow文件则比较简单,第一列是名称,第二列是密码,用了编码手段的。其他的都是日期。

3、用户组

/etc/group 存放的就是我们的用户。每一行就是一个用户组。
第一列就是组名,第二列是密码,X,放在了/etc/gshadow里,第三列就是GID,第四列是用户组支持的账户名称,在新版中初始状态是空白的。

2、账户管理

1、新建与删除用户:useradd、相关配置文件、passwd、usermod、userdel

-c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
-d<登入目录>  指定用户登入时的起始目录。
-D  变更预设值.
-e<有效期限>  指定帐号的有效期限。
-f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
-g<群组>  指定用户所属的群组。
-G<群组>  指定用户所属的附加群组。
-m  自动建立用户的登入目录。
-M  不要自动建立用户的登入目录。
-n  取消建立以用户名称为名的群组.
-r  建立系统帐号。
-s<shell>   指定用户登入后所使用的shell。
-u<uid>  指定用户ID。


建立了一个新账户,立马在home里建立了一个新的文件。这只是个普通账户。



建立了一个系统账户,在home里没有新建一个家目录。
到现在为止,只是建立了个账户,但是没有设置密码,如果要设置密码的话,分两种情况,root修改和用户自己修改。


很简单的操作,即使再简单也能通过。注意root改别人的密码需要在后面加上用户名。


自己改自己的密码无需加上用户名,但是简单的密码就无法通过了。

2、用户功能

前面介绍的都是root的命令。下面就介绍一下,如果当你是一个一般用户的时候,你也可以用的一些功能。

3、新增与删除用户组

groupadd [-g gid ] [-r] group
参数说明:
-g:指定新建工作组的 id;
-r:创建系统工作组,系统工作组的组ID小于 500;


删除用户组,一定要确定没有用户使用该用户组作为初始用户组才能够删除。

-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

从结果中可以看出来已经jiang1已经拿到了控制权

3、ACL的使用

ACL就是 Access Control List,可以针对单一用户,单一文件或目录来进行r,w,x的设置。

1、getfacl、setfacl

针对一个特定用户组 g:用户组:权限


针对一个文件的有效权限设置: m:权限
用户或用户组所设置的权限必须在mask的权限范围里才能生效。


4、用户身份切换

-f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
-m -p 或 --preserve-environment 执行 su 时不改变环境变数
-c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者

很简单也很实用的功能 可以看出创建者是jiang而不是root
上一篇下一篇

猜你喜欢

热点阅读