linux 学习基础3

第三章 用户的权限管理

1 一个计算机系统最底层的是硬件 在硬件之上的是内核 ,内核控制硬件做基本操作,在内核之上的是 系统调用 ,所谓系统调用就是将一些功能单一的小程序 ,他没有程序的执行入口 不能单独的执行,由于功能很单一而且离硬件操作很近,在编程上很不方面,因此也就产生了库文件 ,库的调用是将系统调用的程序集中来处理一个问题,库也是不能单独执行没有执行入口,库分两种  一种是动态库(share object).so 一种是静态库 因此进行系统编程的的接口一般有两种 一种是系统调用 二种是库调用 静态库是在程序编译是将库文件直接放入程序中一起编译的因此这样的程序比较大,动态库在程序的编译时是不将整个库文件一起的编译的,只是在程序执行是系统才将动态库放入内存中 ,哪个程序发起的进程要调用时直接调用即可,且他在内存中只有一份!(

2所谓组 就是一组具有特定权限的容器 ,任何加入了这个容器的人 就拥有了某特定的权限。

3默认使用命令useradd 创建一个用户 ,就做了如下几个步骤 1 在 /etc/passwd  /etc/shadow /etc/group 三个文件中增加一行。2 在/home 目录下创建家目录  3将 /etc/skel/ 下的三个隐藏文件复制到家目录下 4 更改用户所有者 所属组 5 更改文件的权限

3.1 先对 /etc/passwd 文件的内容进行分析

hbash:x:498:498::/home/hbash:/bin/bash ;第一字段用户名 第二字段 密码 第三字段 所属者 第四字段所属组

第五字段 注释信息 第六字段 家目录 第七字段 默认shell ;

3.2 对 /etc/shadow 文件的内容进行分析

root:$6$7pfir5Ysj:16983:0:99999:7::: 第一字段 用户名 第二字段密码 第三字段 上次修改密码的时间距离1970年1月1号所间隔的时间 第四字段 密码最短使用时间 第五字段 密码最长使用时间 第六字段密码到期提醒时间 第七字段密码宽限时间(此时间表示密码已到期但是还可以继续使用 每次登陆前提示必须修改密码才能使用)第八字段表示密码距离1970年1月1号多少天后上锁。

3.3 /etc/group 文件内容进行分析

linux:x:3004:  第一字段 组名  第二字段 组密码 第三字段组id 第四字段 组成员 明细

此时要注意两个文件 一个是/etc/default/useradd 表示创建用户时所定义的默认用户属性;一个是 /etc/login.defs 定义了 创建用户后默认用户密码相关的属性

3.4用户的类别 根据id号来区分

id 为 0 系统管理员 1-499 系统用户 500+ 普通用户

3.4 创建用户 useradd

useradd -u 创建用户并制定其uid

-g 创建用户并指定其基本组,此时的基本组要存在

-G 创建用户并指定其附加组 ,此时的附加组要存在

-c commmond 创建用户并指定其注释信息

-s 创建用户并制定其shell  注意此处的shell 一定是其完整的shell 路径 如 /bin/bash

-d 创建用户时指定其家目录

-m 创建用户是默认创建家目录 并将/etc/skel/三个隐藏文件复制到家目录下

-M 创建用户是不创建家目录

-r  创建系统用户

3.5 修改用户信息

usermod -u  修改uid

-g 修改其基本组 如修改了其基本组将从原来的基本组里面退出

-G 修改其附加组 如修改了其附加组 将从原先的附加组里面退出 要不退出 必须和-a 一起使用

-s 修改其shell信息

-c 修改其注释信息

-d 修改其家目录 修改了家目录 其原先家目录的东西不会自动复制过去 因此此时一般和-m 一起使用

-l 修改用户的名字

-L 锁定用户账号

-U 解锁用户账号

userdel 删除用户信息

-r 删除用户信息时 连其家目录一起删除

3.6 chsh 修改用户的shell

3.7chfg 修改注释信息

3.8 passwd 命令

passwd user 指定其密码

-d  user1 删除其密码

-u 解锁其账号

-l 锁定其账号

-n 指定其最短使用时间

-x 指定其最长使用时间

-e 指定其到期时间

passwd --stdin 从标准输入中 接收密码

3.9 chage 命令

-E 修改到期时间

-I 修改非活动时间

-m 修改最短使用时间

-M 修改最长使用时间

-w 修改警告时间

-d 修改最后一次登陆时间

3.10 创建用户组 groupadd -g 指定gid

-r 创建其系统组

3.11 修改用户组信息 groupmod -g 修改其gid

-n 修改组名

3.12 删除用户组信息  groupdel

newgrp 临时切换组 命令

newgrp 组名 (注意此命令只修改当前用户,不能指定用户)切换组,如果切换的是其附加组里面的组 则不需要密码,

**用户创建文件的所属组就是创建该文件的用户的所属的基本组 !***所以需要将用户切换到不同的组来保持文件的也有不同的所属组

退出该临时切换的组命令为 exit命令

umask 遮罩码 默认管理员为022 一般用户为002 当创建文件时候是666-遮罩码

当创建目录的时候是777-遮罩码

也就是说管理员在创建文件时其权限为644 =rw-r--r--

在创建目录时其权限为755=rwxr-xr-x

普通用户在创建目录是其权限为775 =rwxrwxr-x

在创建文件时其权限为664=rw-rwr--

注意在创建文件时如果设置的遮罩码在666-遮罩码后如果文件具有执行权限时会默认减一 如 umask=023 在创建文件时644 rw-r--r--

在创建目录时754 rwxr-xr--

时间: 2024-07-30 20:29:27

linux 学习基础3的相关文章

新手必看,Linux学习基础

Linux学习基础 1.什么是Linux? 准确的说,是指Linux的kernel(系统的核心程序),其内核版权属于Linus Torvalds,在GPL(GNU General Public License)版权协议下发行, 任何人都可以自由的复制(copy), 修改(change), 套装分发(distribute),销售,但是不可以在分发时加入任何限制, 而且所有原码必须是公开的,所以任何人都可以无偿取得所有执行文件和原代码. 对于Linux用户和系统管理员来说,Linux是指包含Linu

Linux学习——基础篇

学习Linux之前,需要首先了解计算机的基础知识.1.二进制.十进制相互转换.156转换为二进制的方法:逐一减去2的次幂方法.(需要自己提前记住:`27=128:26=64;25=32;24=16;23=8;22=4;21=2;2`0=1 )``` 156-128是否够减,如果够,则二进制数值为:128+....156-128剩余28,28-32不够,28-16够减,剩余12.则二进制数为:128+16+...12可以拆分为:8+4那么156转换为二进制数为:128+16+8+4.二进制为2`7

linux 学习基础1

一 linux基础知识 1.1 ls 显示当前目录或者文件 ls -l 查看文件的详细信息 ls -ld 查看目录的详细信息 -rw-r--r--.  1 root root    969 2月  22 2013 yum.conf 第一个字段:文件类型 :linux中文件的类型有如下几类 1 - 二进制文件 d 目录 c 字符设备文件 b块设备文件(block),p (pipe)管道文件,s (scoket)套接字文件,l 链接文件. 第二字符 rw-r--r-- 9个字符每三个一组表示 所有者

linux学习基础篇01--硬件基础

最近看马哥的linux运维视频,虽然我是我做软件测试的,但是最近也对运维方面的东西很感兴趣,因为以前总是写写测试框架代码,谢谢自动化测试代码.发现自己懂得东西很少.我的目标是成为一个测试架构师,可是只是会写写代码的话,永远也达不到这个目标.测试架构师需要在各个计算机领域都有一定深度的了解.所以前一段时间学习mysql调优后,现在开始看马哥的linux视频.学习一下运维的知识.这里有一个很诧异的地方就是,运维需要会的东西是很多的,而且要很深.为什么国内运维人员的工资缺普遍还不如我们测试呢.这是个问

Linux学习基础知识

1.Linux如何分盘? 1.Linux对硬盘类型分的比较细.如果硬盘是IDE硬盘,那么它使用/dev/hdxy x表示第几块硬盘(从小写的a开始):y表示这个磁盘的第几个分区. dev/hdb2,其含义是第二个磁盘的第二个分区. 如果硬盘是SCSI硬盘,那么分区就表示为/dev/sdxy,其含义与IDE硬盘相同. 2.分区和挂载点? 在windows中,要访问一个分区直接访问代表该分区即可,但是在Linux分区 不可以通过/dev/hdxy或/dev/sdxy的方式访问分区,必须通过挂载点的名

Linux学习——————基础篇

一.linux试用 1.使用man或者info查询 2.超级简单的文本编辑器:nano 3.sync:数据同步写入磁盘,将内存中的数据写入磁盘 3.惯用的关机命令:shutdown /sbin/shutdown[-t秒] [-arkhncfF] 时间[警告信息]    普通用户shutdown需要root权限 二.文件权限 以root身份登录linux,执行ls -al 会出现一大堆东西 第一列代表文件的类型与权限 第一个字符代表这个文件是目录,文件或者链接文件 d为目录 -为文件 l链接文件

Linux 学习基础命令——9.24

第一节课:Linux的基本命令用法与man手册的使用 1:ls 列出文件列表 -a列出所有的目录(包含隐藏文件) -d列出目录本身,而不列出目录内的数据 例:ls -ld /home -h列出文件的容量 例:[[email protected] /]# ls -hld /etc/                drwxr-xr-x. 135 root root 8.0K Sep 27 07:23 /etc/ 单纯的使用ls -h [[email protected] /]# ls -h     

Linux学习--基础知识

1.Linux系统安装(网上教程太多,自行百度) 2.图形界面:GNOME与KDE 3.X window与命令行 Ctrl+Alt+F1~6:命令行 F7:图形界面:startx进入图形界面(tty7没有其他窗口软件正在运行,必须安装x window系统,要有窗口管理员) /etc/inittab:这个文件可以修改进入系统的默认方式(level 0:关机:level 3:纯命令:level 5:含有图形界面:level 6:重启) 4.常用命令:(建议大家经常使用man和info来帮助自己) l

linux学习——基础命令

$代表是linux下普通用户,#为root用户,使用su -root命令并正确输入root用户的密码后,可以切换到root用户. rm 删除:创建目录 mkdir 目录名:mkdir -p 目录名/目录名,-p 父目录不存在时创建父目录 pwd 显示当前目录绝对路径 clear 清屏 复制:cp 文件名 目录名,普通复制文件:cp 文件名 目录名/文件名,移动文件并重命名:cp -r 目录名 目录名,复制目录 查看:ll 目录名,查看其下文件,ll -a 目录名,可以查看到隐藏文件:ll -h