[TOC] 目录
目录生成脚本地址:https://www.jianshu.com/p/caa21e6796bd
一、Linux用户管理
- Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,必须先向管理员申请一个账号。
- Linux的用户至少要属于一个组。
添加用户
基本语法
useradd 【选项】 用户名
示例
useradd xiaoming
说明
- 当创建用户成功后,会自动创建和用户同名的家目录。
- 可以通过 -d 参数指定目录
添加新的用户账号,只有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)
- 用户不存在,返回 no such user。
- uid:用户id
- gid:所属组的id
- groups:组名
切换用户
基本语法
su 【-】 用户名
说明
- 从权限高的用户切换到权限低的用户,不需要密码,反之,需要输入密码。
- 当需要返回到原来的用户时,使用 exit 指令。
查看当前用户/登录用户
基本语法
whoami
示例
返回值:root
二、组管理
组的基本介绍
在Linux中的每个用户必须属于一个组,不能独立于组之外,在linux中每个文件有 所有者
、所在组
、其它组
的概念。
1)所有者
2)所在组
3)其它组
4)改变用户所在组
新增组
指令:
groupadd 组名:增加一个新的用户组
-g:指定用户组标识号GID
-o:一般与-g一起使用,表示新用户组的GID可以与已有用户组GID相同
示例:
- groupadd group1:增加一个用户组group1,GID是在当前已有GID最大值上加1
- groupadd -g 101 group1:增加一个用户组group1,并指定其GID为101
删除组
groupdel 组名:组名不存在时会提示错误信息。
修改用户组
在添加用户时,可以指定将用户添加到哪个组,可以用root的权限改变用户所在的组。
usermod -g 用户组 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录
用户和组相关的文件
/etc/passwd:
- 用户的配置文件,记录用户的各种信息
- 每行含义,用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
- wansw:x: 1001: 1001: : /home/wansw: /bin/bash
/etc/shadow
- 口令的配置文件
- 每行含义,登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group
- 组的配置文件,记录Linux包含的组的信息
- 每行含义,组名:组标识号:组内用户列表
查看文件的所有者
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
- 0:确定文件类型。
- d:目录
- - :普通文件
- l:软链接
- c:字符设备【键盘、鼠标等】
- b:块文件【硬盘】
- 1-3:确定文件的所有者拥有的权限—User。
- 4-6:确定所属组的用户拥有的权限–Group。
- 7-9:确定其他用户拥有的权限–Other User。
- 10:
- 第一位是目录:表示 该目录下的子目录数量【包含有隐藏目录数量】。
- 第一位是文件:表示硬链接数。
- 第一个root:所属用户
- 第二个root:文件所在组
- 162:表示文件大小
- 如果是目录,此处显示 4096。
- Jul 6 2018:最后修改时间
rwx权限说明
- 作用到文件上:
- r:可读
- w:可写,只有对该文件所在目录有写权限,才可以对文件进行删除。
- x:可以执行
- 作用到目录:
- r:可读,ls 命令可以查看目录内容
- w:可以修改,目录内新增+删除+重命名目录
- x:可以进入该目录
- 可以用数字表示权限:
- r:4
- w:2
- x:1
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 用户
网友评论