Linux

Linux用户、组和权限管理

2019-08-01  本文已影响0人  宇宙小神特别萌

[TOC] 目录
目录生成脚本地址:https://www.jianshu.com/p/caa21e6796bd

一、Linux用户管理

添加用户

基本语法

useradd 【选项】 用户名

示例

useradd xiaoming

说明

添加新的用户账号,只有root账户可以操作

-d 目录:指定用户主目录(默认在home下),若此目录不存在可同时使用-m创建主目录

-g 用户组:指定用户所属的用户组

-G 用户组:指定用户所属的附加组

-s shell文件:指定用户登陆使用的shell

例如:

useradd -d /usr/sam -m sam:为登录名sam创建一个主目录/usr/sam

useradd -s /bin/sh -g group -G adm,root sam:创建一个登录用户sam,该用户登录的shell为/bin/sh,属于group用户组,同时属于用户组adm与root,但group是其主组

删除用户

基本语法

userdel 用户名

删除用户账号

-r:最常用的一个选项,用户的主目录被一起删除

示例:

userdel -r sam:删除sam在文件系统中(/etc/password、/etc/shadow、/etc/group),同时删除用户的主目录

修改密码

管理用户的口令,用户账号刚创建时无口令,被系统锁定,无法使用,必须为其指定口令后才能使用,即使是空口令。超级用户可为自己与其他用户指定口令,普通用户只能指定自己的口令

-l:锁定口令

-u:口令解锁

-d:使账号无口令

-f:强迫用户下次登录时修改口令

例如:

passwd:修改当前用户口令,如果是超级用户的话则不需要知道原口令,普通用户修改口令会先询问原口令

passwd sam:超级用户指定用户sam的口令

passwd -d sam:超级用户删除用户sam的口令,使sam下次登录不需要口令

passwd -l sam:超级用户锁定sam,使其无法登陆

查询用户信息

基本语法

id 用户名

示例

id root

说明

uid=0(root) gid=0(root) groups=0(root)

切换用户

基本语法

su 【-】 用户名

说明

查看当前用户/登录用户

基本语法

whoami

示例

返回值:root

二、组管理

组的基本介绍

在Linux中的每个用户必须属于一个组,不能独立于组之外,在linux中每个文件有 所有者所在组其它组 的概念。

1)所有者

2)所在组

3)其它组

4)改变用户所在组

新增组

指令:

groupadd 组名:增加一个新的用户组

-g:指定用户组标识号GID

-o:一般与-g一起使用,表示新用户组的GID可以与已有用户组GID相同

示例:

删除组

groupdel 组名:组名不存在时会提示错误信息。

修改用户组

在添加用户时,可以指定将用户添加到哪个组,可以用root的权限改变用户所在的组。

usermod -g 用户组 用户名

usermod -d 目录名 用户名 改变该用户登录的初始目录

用户和组相关的文件

/etc/passwd:

/etc/shadow

/etc/group

查看文件的所有者

ls -ahl:-rw-r–r– 1 root root 162 Jul 6 2018 1.log

第一个root:所属用户

第二个root:用户所属组

chgrp,采用群组名或群组识别码GID的方式改变文件或目录的所属群组,超级用户使用。被改变的组名必须在/etc/group文件内存在

-c:当发生改变时输出调试信息

-f:不显示错误信息

-R:处理指定目录及其下所有子目录、子文件

-v:运行时显示详细处理信息

例如:

chgrp -v bin log1.log:将log1.log的群组改为bin,并显示详细处理信息

chgrp –reference=log2.log log1.log:改变log1.log群组属性,使之参考log2.log

chgrp -R bin test:改变test下所有目录及其子目录的群组属性为bin

chgrp -R 100 test:根据群组识别码GID改变test群组属性

chgrp polic orange.txt:把文件的所属组改成 polic

chown,改变文件的拥有者与群组,拥有者可用用户名或用户ID、群组可用组名或组ID。chown命令的操作权限一般为系统管理员,系统管理员常将文件拷贝到另一用户目录名下,使之拥有使用该文件的权限

-c:显示更改的部分信息

-f:忽略错误信息

-R:处理指定目录及其下所有子目录、子文件

-v:显示详细处理信息

例如:

chown mail:mail log1.log:改变log1.log的拥有者与所属群组为mail

chown :mail log1.log:改变log1.log的文件群组为mail

chown -R -v root:mail test6:改变test6文件夹及其下所有文件/文件夹的所有者为root,群组为mail,修改时显示处理信息。

三、权限介绍

-rw-r–r– 1 root root 162 Jul 6 2018 1.log

rwx权限说明

chmod,用于改变Linux系统文件或目录的访问权限

-f:错误信息不输出

-c:当发生改变时,报告处理信息

-R:处理执行目录及其子目录下所有文件

-v:运行时显示详细处理信息

<权限范围>+<权限设置>:使权限范围内的目录或文件具有指定权限

<权限范围>-<权限设置>:删除权限范围内的目录或文件的指定权限

<权限范围>=<权限设置>:设置权限范围内的目录或文件的权限为指定的值

权 限 范 围 权 限 代 号
u:目录或文件的当前用户 r:读,代号为4
g:目录或文件的当前群组 w:写,代号为2
o:其他用户或群组 x:执行,代号为1
a:所有用户和群组 -:删除,代号为0
s:特权权限

例如:

chmod a+x log1.log:设定文件log1.log所有用户或群组都有执行权限

chmod ug+x,o-x log1.log:同时设定不同的用户权限

chmod u=x log1.log:撤销用户原有对log1.log的权限并设定为x

chmod -R u+x test4:递归地给test4下所有文件与子目录分配执行权限

chmod 751 file:给file、属主分配读、写、执行权限,给所在组分配读、执行权限,其他用户分配执行权限

chmod tom apple.txt:把 apple.txt 文件 的所有者转给 tom 用户

上一篇 下一篇

猜你喜欢

热点阅读