04linux用户及权限机制
linux系统基础知识

linux系统基础知识Linux系统基础知识Linux是一种自由和开放源代码的类Unix操作系统,它是由Linus Torvalds在1991年首次发布的。
Linux系统具有高度的可定制性和灵活性,因此在服务器、超级计算机、移动设备等领域得到了广泛的应用。
本文将介绍Linux系统的基础知识,包括Linux的发行版、文件系统、用户和权限、命令行和图形界面等方面。
一、Linux的发行版Linux系统有许多不同的发行版,每个发行版都有自己的特点和用途。
常见的Linux发行版有Ubuntu、Debian、Fedora、CentOS、Red Hat等。
这些发行版都是基于Linux内核开发的,但它们的软件包管理、安装方式、默认桌面环境等方面有所不同。
选择适合自己的Linux发行版可以提高工作效率和使用体验。
二、文件系统Linux系统的文件系统采用树形结构,根目录为/。
在根目录下有许多子目录,如bin、etc、home、usr等。
其中,/bin目录存放系统命令,/etc目录存放系统配置文件,/home目录存放用户的主目录,/usr目录存放系统软件和库文件等。
Linux系统支持多种文件系统,如ext4、NTFS、FAT32等。
文件系统的选择取决于使用场景和需求。
三、用户和权限Linux系统是一个多用户系统,每个用户都有自己的用户名和密码。
用户可以通过命令行或图形界面登录系统,并执行各种操作。
Linux 系统采用权限控制机制,每个文件和目录都有自己的权限。
权限分为读、写、执行三种,分别对应数字4、2、1。
文件和目录的权限可以通过chmod命令进行修改。
Linux系统还有超级用户root,拥有系统的最高权限,可以执行任何操作。
四、命令行Linux系统的命令行界面是其最基本的界面,也是最强大的界面。
通过命令行可以执行各种操作,如创建文件、修改权限、安装软件等。
Linux系统的命令行界面有许多命令,如ls、cd、mkdir、rm、chmod等。
如何在Linux终端中进行用户认证和授权

如何在Linux终端中进行用户认证和授权在Linux终端中进行用户认证和授权是系统管理和安全管理的重要任务之一。
用户认证是验证用户身份的过程,而用户授权是确定用户对系统资源的访问权限。
本文将介绍在Linux终端中进行用户认证和授权的方法和技巧。
一、用户认证用户认证是验证用户身份的过程,确保只有合法用户能够访问系统。
Linux提供了多种用户认证方式。
1. 用户名和密码认证最常见的用户认证方式是使用用户名和密码。
在Linux中,每个用户都有一个唯一的用户名和对应的密码,登录时需要输入正确的用户名和密码才能访问系统。
通常,密码是经过加密的,存储在/etc/shadow 文件中。
为了保证安全性,应采取一些措施加强密码策略,如设置密码复杂度要求、定期更换密码、禁止使用容易被猜到的密码等。
2. SSH密钥认证SSH密钥认证是一种更安全的用户认证方式。
它使用公钥加密和私钥解密的方式进行身份验证。
用户生成一对密钥,将公钥保存在服务器上,而私钥则保存在本地。
在登录时,系统会要求用户提供私钥进行身份验证。
使用SSH密钥认证可以避免密码被破解的风险,提高系统的安全性。
同时,还可以方便地进行无密码登录。
二、用户授权用户授权是确定用户对系统资源的访问权限,只有被授权的用户才能使用系统的功能和资源。
Linux提供了多种用户授权的机制。
1. 用户组管理Linux中的用户可以分组,用户组可以方便地管理和授权系统资源。
用户组是一组具有相同权限和特权的用户的集合。
通过将用户添加到不同的用户组中,可以为用户分配不同的访问权限。
管理员可以使用命令如`usermod`和`useradd`来管理用户组。
2. 文件和目录权限Linux操作系统采用了基于权限的访问控制机制,通过设置文件和目录的权限来限制用户对资源的访问。
每个文件和目录都有所有者、所属组和其他用户的权限设置。
权限分为读(r)、写(w)和执行(x)三种。
管理员可以使用命令如`chmod`、`chown`和`chgrp`来设置文件和目录的权限。
linux创建用户并赋予用户操作文件夹权限

linux创建⽤户并赋予⽤户操作⽂件夹权限1. 创建⽤户
root⽤户登陆
cd /home 切换到home⽬录
ls查看现有⽤户
useradd xxx 添加⽤户名
passwd xxx 为⽤户添加密码
2.给⽤户赋予操作某⽂件夹的权限
在root⽤户登录的情况,赋予opt⽬录给liuhai这个⽤户权限⽰例代码:
# 将⽬录/opt 及其下⾯的所有⽂件、⼦⽬录的owner⽤户改成 liuhai
chown -R liuhai:liuhai /opt
#给⽬录opt设置权限
chmod 760 /opt
备注:
r表⽰可读--4分,w表⽰可写--2分,x表⽰可执⾏1分
d rwx rwx r-x
⽂件夹所有者群组其他⼈
【⽂件或⽂件夹】【owner权限】【group权限】【others权限】
【⽂件是-,⽂件夹是d】【r/w/x相加】【r/w/x相加】【r/w/x相加】
d rwx rwx rwx =777 表⽰⽬录的操作权限
- rwx rwx rwx =777 表⽰⽂件的操作权限
Linux档案的基本权限就有九个,分别是owner/group/others三种⾝份各有⾃⼰的read/write/execute权限。
青蛙学Linux—用户、组、权限和文件属性

青蛙学Linux—⽤户、组、权限和⽂件属性1、⽤户和组1.1、⽤户⾓⾊在Linux下有以下三种⾓⾊⽤户:1. 超级⽤户:拥有对系统的最⾼管理权限的⽤户,默认⽤户名为root。
需要注意的是,与Windows下的超级管理员Administrator不同,root⽤户在Linux下拥有最⾼的权限,你可以使⽤root⽤户运⾏rm –rf /*命令删除整个系统,⽽Administrator⽤户不允许删除系统⽂件(其实Windows下的最⾼权限⽤户为System,只是Windows限制了使⽤System⽤户登录的⾏为)。
2. 普通⽤户:只能操作⾃⼰⽬录下的⽂件或者经过授权的⽂件,能够登录操作系统。
3. 虚拟⽤户:也叫伪⽤户,⽆法登录操作系统。
这类⽤户的存在主要是为了系统管理的⽅便,满⾜相应的系统进程对于⽂件属主(即权限)的要求。
这类⽤户指向的shell为/sbin/nologin,使⽤该shell的⽤户⽆法登录系统且⽆法通过su命令切换到该⽤户。
1.2、⽤户和组之间的关系在Linux系统下,当⼀个⽤户被创建时,系统将创建⼀个与⽤户同名的组,该⽤户为该组中的唯⼀⽤户。
当然,⼀个⽤户也可以加⼊其他的组。
⽤户和组具有以下⼏种关系:⼀对⼀:即⼀个⽤户可以存在⼀个组中,同时也是该组中的唯⼀成员⼀对多:即⼀个⽤户可以存在多个⽤户组中,那么此⽤户具有多个组的共同权限多对⼀:多个⽤户可以存在⼀个组中,这些⽤户具有和组相同的权限多对多:多个⽤户可以存在多个组中,其实就是上⾯三个对应关系的扩展1.3、⽤户和组的相关配置⽂件1.3.1、/etc/passwd该⽂件是系统的⽤户配置⽂件,是⽤户管理中最重要的⼀个⽂件。
记录了系统中每个⽤户的基本属性,对所有⽤户可读,但只有root⽤户可写。
以下来分析下该⽂件的内容(仅截取⽂件的⼀部分):⽂件中的每⾏内容以冒号分隔,每个字段表⽰的具体含义如下:①:⽤户名②:密码,但是⽤户真正的密码不是保存在这⾥,⽽是在另外⼀个⽂件③:UID,⽤户ID④:GID,⽤户所属的组的ID⑤:⽤户注释⑥:⽤户家⽬录⑦:⽤户的默认shell1.3.2、/etc/shadow该⽂件可以称为/etc/passwd的影⼦⽂件,存储的就是经过加密的⽤户密码。
Linux系统中账号及权限管理

Linux系统中账号及权限管理⽬录前⾔作为⼀个多⽤户、多服务的服务器操作系统,Linux提供了严格的权限管理机制,主要从⽤户⾝份、⽂件权限两⽅⾯对资源访问进⾏限制。
本⽂将分别介绍Linux系统中⽤户和组账号的管理、⽂件权限和归属的管理、⽂件和⽬录的权限管理、⽂件和⽬录的归属挂你的相关知识,帮助⼤家解决问题。
⼀.管理⽤户账号和组账号1.1⽤户账号和组账号概述Linux基于⽤户⾝份对资源访问进⾏控制●⽤户帐号:①.超级⽤户:root⽤户是 Linux系统中默认的超级⽤户账号,对主机拥有最⾼的权限,类似于 Windows系统中的Administrator⽤户。
只有当进⾏系统管理、维护任务时,才建议使⽤root⽤户登录系统,⽇常事务处理建议只使⽤普通⽤户账号。
②.普通⽤户:普通⽤户账号需要由root⽤户或其他管理员⽤户创建,拥有的权限受到⼀定限制,⼀般只在⽤户⾃⼰的宿主⽬录中拥有完整权限。
③.程序⽤户:在安装 Linux系统及部分应⽤程序时,会添加⼀些特定的低权限⽤户账号,这些⽤户⼀般不允许登录到系统,⽽仅⽤于维持系统或某个程序的正常运⾏,如bin、 daemon、ftp、mail等。
●组帐号:①.基本组(私有组):基本组(私有组):基本组账号只有⼀个,⼀般为创建⽤户时指定的组。
在/etc/passwd⽂件中第4字段记录的即为该⽤户的基本组 GID号。
②.附加组(公共组):⽤户除了基本组以外,额外添加指定的组。
●UID和GID:UID (User lDentity,⽤户标识号):Linux系统中的每⼀个⽤户账号都有⼀个数字形式的⾝份标记,称为UID,对于系统核⼼来说,UID作为区分⽤户的基本依据,原则上每个⽤户的UID号应该是唯⼀的。
root⽤户账号的UID号为固定值0.⽽程序⽤户账号的UID号默认在1-499之间,500-60000的UID号默认分配给普通⽤户账号使⽤。
GID (Group lDentify,组标识号):与UID相类似,每⼀个组账号也有⼀个数字形式的⾝份标记,称为GID。
Linux-权限管理(文件权限)

Linux-权限管理(⽂件权限)Linux - 权限管理(⽂件权限)⼀:基本权限1.基本权限介绍基本权限类型类型全拼释义权限位r read可读4w write可写2x execute可执⾏1权限的归属归属字母属主u属组g其他⽤户o2.设置权限修改属主、属组# 修改⽂件:1.txt的属主为:darker 属组为:human[root@localhost ~]# chown darker.human 1.txt# 修改⽂件:1.txt的属主为:darker[root@localhost ~]# chown darker 1.txt# 修改⽂件:1.txt的属组为:human[root@localhost ~]# chown .human 1.txt# 递归修改⽬录:file1的属主为:darker 属组为:human[root@localhost ~]# chown -R darker.human file1修改u、g、o对应的权限# 加减法# 修改⽂件:1.txt的权限为:属主为u 属组为w[root@localhost ~]# chmod u+x,g-w 1.txt# 赋值法# 修改⽂件:1.txt的权限为:所有⽤户为rwx[root@localhost ~]# chmod a=rwx 1.txt# 修改⽂件:1.txt的权限为:-[root@localhost ~]# chmod a=- 1.txt# 修改⽂件:1.txt的权限为:属主属组为rw 其他⽤户为r[root@localhost ~]# chmod ug=rw,o=r 1.txt# 数字# 修改⽂件:1.txt的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 7771.txt# 递归修改⽬录:file1的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 777 file1注意:把某⼀个⾮属主⽤户添加到⽂件的属组⾥,他就拥有了该组的权限,⽽不再是其他⼈权限对⽂件/⽬录的意义⽂件:ls -l ⽂件名权限释义r可以cat读取⽂件内容w可以修改⽂件x 可以执⾏⽂件代码,如果该⽂件的代码是编译好的结果那么只有x权限即可执⾏但如果该⽂件的代码是⼀个解释型的脚本程序则需要配合r权限才可执⾏⽬录:ls -dl ⽂件名权限释义r可以ls浏览⽂件下的内容w可以在⽬录下创建新⽂件or⽬录x 可以执⾏⽬录下的程序,除了对⽬录有执⾏权限外,还要对程序⽂件有执⾏权限才⾏可以正常cd切换到⽬录下涉及到多层⽬录如/a/b/c,需要对每⼀级都有x权限才可以正常⾛到下⼀级对⽂件夹的操作(不操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件夹有r或w权限权限释义r可以浏览w可以创建、删除、移动⼦⽂件和⼦⽬录对⽂件的操作(操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件有r或w权限权限释义r可以读取⽂件内容w可以修改⽂件内容注意点:vim修改的原理是将原⽂件删掉,然后再将内容的内容覆盖写⼊了新⽂件,新⽂件名重命名为原⽂件名验证vim修改的原理# (root⽤户)切换到/usr/local⽬录[root@localhost local]# cd /usr/local# (root⽤户)递归创建test01/dir1⽬录[root@localhost local]# mkdir -p test01/dir1# (root⽤户)递归修改⽬录test01权限为733[root@localhost local]# chmod -R 733 test01# (root⽤户)在test01⽬录下创建1.txt并写⼊内容“123”[root@localhost local]# echo "123" > test01/1.txt# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt123# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:其他⽤户只有(r)读的权限[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 root root 4 Nov 2510:02 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:02:58.471562017 -0500Modify: 2020-11-2510:02:58.471562017 -0500Change: 2020-11-2510:02:58.471562017 -0500Birth: -# 切换到其他⽤户/⽤其他⽤户登录PS C:\Users\Darker> ssh darker@192.168.50.101darker@192.168.50.101's password:[darker@localhost ~]$ whoamidarker# (普通⽤户)⽤vim打开/usr/local/test01⽬录下的1.txt[darker@localhost ~]$ vim /usr/local/test01/1.txt123~~~"/usr/local/test01/1.txt" [readonly] 1L, 4C 1,1 All # [readonly] 只读# 按i进⼊插⼊模式-- INSERT -- W10: Warning: Changing a readonly file# (普通⽤户)修改1.txt的内容,强制保存并退出456Esc:wq!# 回到原来的root⽤户的窗⼝# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt456# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:属主和属主变了[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 darker darker 4 Nov 2510:21 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 1000/ darker) Gid: ( 1000/ darker)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:30:54.822530748 -0500Modify: 2020-11-2510:21:17.823541511 -0500Change: 2020-11-2510:21:17.824541511 -0500Birth: -结论vim修改⽂件时:会将原⽂件删除,⽣成新的⽂件,属主和主组会变成修改的那个⽤户和⽤户所在的组⼆:特殊权限权限权限位SUID4SGID2权限权限位SBIT1SUID1.疑问普通⽤户既不是root也不属于root组,因此它对/etc/shadow⽂件没有任何权限(全是---)# 查看/etc/shadow信息[darker@localhost ~]# ll /etc/shadow----------. 1 root root 970 Nov 2407:29 /etc/shadow但是:普通⽤户为何可以⽤passwd直接修改密码?并且修改的是/etc/shadow⽂件,如何实现的?[darker@localhost ~]$ ll `which passwd`-rwsr-xr-x. 1 root root 27832 Jun 102014 /usr/bin/passwd这⾥可以看到,本应为rwx的第三个x变成了s,这就是s权限2.s权限的特殊之处SUID权限仅对⼆进制可执⾏⽂件有效(对⽬录⽆效)如果执⾏者对于该⼆进制可执⾏⽂件具有x的权限,执⾏者将具有该⽂件的所有者的权限本权限仅在执⾏该⼆进制可执⾏⽂件的过程中有效3.权限设定的⽅法字母表⽰法chmod u+s 可执⾏⽂件 # 给属主添加s权限chmod u-s 可执⾏⽂件 # 删除属主的s权限数字表⽰法(第1位4表⽰SUID,后3位表⽰普通权限 rwx)chmod 4755可执⾏⽂件 # 添加SUID权限到⼆进制可执⾏⽂件chmod 0xxx ... # 可以删除⽂件的SUID(但是⽆法删除⽬录的SUID)4.实例# (root⽤户)查看which cat[root@localhost ~]# ll `which cat`-rwxr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:没有权限(普通⽤户虽然是r-x,但是⽆法直接查看)[darker@localhost local]$ cat /etc/shadowcat: /etc/shadow: Permission denied# (root⽤户)修改 which cat 权限[root@localhost ~]# chmod u+s `which cat` # 或者 chmod 4755 `which cat`#(root⽤户)再次查看which cat[root@localhost ~]# ll `which cat`-rwsr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:有权限了[darker@localhost local]$ cat /etc/shadowroot:$6$Jvw3z/jmU1ASO4P1$vpTJ5OGEtfBOmIpjyK55k87iQPHXCC3.kKOFW9jkyslqC2DMdN7SZdT/zYRfmQ4hBAQXG6CQ4kKdRQ8eFqChf.::0:99999:7::: bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::adm:*:16659:0:99999:7:::lp:*:16659:0:99999:7:::...5.上例的⼯作原理环境前提:Linux中有1个⼆进制程序:cat,属组属组都是rootLinux中有⼀个系统⽂件:/etc/shadow,属组属组是: root:root有⼀个普通⽤户:darker普通⽤户:darker 属于其他⽤户,对⼆进制程序:cat 有执⾏(x)的权限普通⽤户:darker 对系统⽂件:/etc/shadow 没有任何权限默认情况下:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程该进程的属主属组是该程序的发起者:darker,也就是: darker:darkercat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:darker:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主属组不匹配,所以被拒绝访问了:Permission denied给⼆进制程序:cat 设置SUID之后:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程执⾏者对于该⼆进制可执⾏⽂件具有 x 的权限,执⾏者将拥有该⽂件的属组的权限该进程属主是程序的发起者:darker,属组是cat原来的:root,属主属组就是:darker:rootcat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:root:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主匹配,可以正常访问SGID1.权限设定的⽅法字母表⽰法chmod g+s ⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod g-s ⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限数字表⽰法(第1位2表⽰SGID,后3位表⽰普通权限 rwx)chmod 2755⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod 0755⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限chmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰[root@localhost ~]# ll 1.txt-rwxr-sr-x. 1 root root 3243 Nov 2515:411.txt3.SGID相关说明作⽤在⼆进制可执⾏⽂件上时:执⾏有SGID权限的程序时,该⽤户将继承该程序的属组权限作⽤在⽬录上时:该⽬录下所有⽤户新建的⽂件都会⾃动继承该⽬录的属组当⼀个⽤户对某⼀⽬录有写和执⾏权限时,该⽤户就可以在该⽬录下建⽴⽂件如果该⽬录同时⽤SGID修饰,则该⽤户在这个⽬录下建⽴的⽂件都是属于这个⽬录的属组4.实例# (root⽤户)切换到/usr/loca/⽬录并创建⽬录:test02[root@localhost ~]# cd /usr/local[root@localhost local]# mkdir test02# (root⽤户)查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-xr-x. 2 root root 6 Nov 2514:19 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:1.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/1.txt[root@localhost local]# ll /usr/local/test02/1.txt-rw-r--r--. 1 root root 0 Nov 2514:19 /usr/local/test02/1.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:2.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/2.txt[darker@localhost ~]$ ll /usr/local/test02/2.txt-rw-rw-r--. 1 darker darker 0 Nov 2514:20 /usr/local/test02/2.txt# (root⽤户)修改⽬录:test02 的权限[root@localhost local]# chmod 2773 test02# (root⽤户)再次查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-sr-x. 2 root root 6 Nov 2514:20 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:3.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/3.txt[root@localhost local]# ll /usr/local/test02/3.txt-rw-r--r--. 1 root root 0 Nov 2514:21 /usr/local/test02/3.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:4.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/4.txt[darker@localhost ~]$ ll /usr/local/test02/4.txt-rw-rw-r--. 1 darker root 0 Nov 2514:21 /usr/local/test02/4.txtSBITSBIT 是the restricted deletion flag or sticky bit的简称,有时也称为Sticky,粘滞位SBIT 与 SUID 和 SGID 的关系并不⼤1.权限设定的⽅法字母表⽰法chmod o+t ⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod o-t ⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Sticky数字表⽰法(第1位1表⽰添加Sticky位,后3位表⽰普通权限 rwx)chmod 1755⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod 0755⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Stickychmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰⽂件other位有x权限,并且⽤t代替了,表⽰被设置了Sticky如果other位没有x权限,会显⽰为⼤写T,表⽰有故障(权限⽆效)[root@localhost local]# ls -dl test03drwxr-xr-t. 2 root root 18 Nov 2514:34 dir013.相关说明对于⼀个多⼈可写的⽬录,如果设置了sticky,则每个⽤户仅能删除和改名⾃⼰的⽂件/⽬录只能作⽤在⽬录上,普通⽂件设置⽆意义,⽽且会被Linux内核忽略⽤户在设置 Sticky 权限的⽬录下新建的⽬录不会⾃动继承Sticky权限4.实例# (root⽤户)切换到 /usr/loca/⽬录[root@localhost ~]# cd /usr/local# (root⽤户)递归创建test03⽬录及2个⼦⽬录dir1和dir2[root@localhost local]# mkdir -p test03/dir{1,2}# (root⽤户)创建2个⽤户:user01、user02[root@localhost local]# useradd user01[root@localhost local]# useradd user02# (root⽤户)分别设置dir1和dir2的属主属组为user01和user02[root@localhost local]# chown -R user01:user01 test03/dir1[root@localhost local]# chown -R user02:user02 test03/dir2# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxr-xr-x. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# (root⽤户)修改⽬录:test03 的权限[root@localhost local]# chmod 1777 test03# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxrwxrwt. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# 切换到普通⽤户:user01[root@localhost local]# su - user01# !测试(普通⽤户)切换到test03⽬录[user01@localhost ~]$ cd /usr/local/test03# !测试(普通⽤户)查看当前⽬录下的信息[user01@localhost test03]$ lltotal 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# !测试(普通⽤户)⽤户user01将dir1重命名为dir11[user01@localhost test03]$ mv dir1 dir11# !测试(普通⽤户)⽤户user01将dir2重命名为dir22[user01@localhost test03]$ mv dir2 dir22mv: cannot move ‘dir2’ to ‘dir22’: Operation not permitted# !测试(普通⽤户)⽤户user01在dir11⽬录中创建⽂件:1.txt[user01@localhost test03]$ touch dir11/1.txt# !测试(普通⽤户)⽤户user01在dir2⽬录中创建⽂件:2.txt[user01@localhost test03]$ touch dir2/2.txttouch: cannot touch ‘dir2/2.txt’: Permission denied5.注意点SBIT ⽬前只对⽬录有效,⽤来阻⽌⾮⽂件的所有者删除⽂件:⽐较常见的例⼦就是/tmp⽬录权限信息中最后⼀位t表⽰该⽬录被设置了 SBIT 权限SBIT 对⽬录的作⽤是:当⽤户在该⽬录下创建新⽂件或⽬录时,仅有⾃⼰和 root 才有权⼒删除,主要作⽤于⼀个共享的⽂件夹(⽬录)三:chattr引⾔你是否遇到过⽂件或⽬录具有可读写权限,但是使⽤root⽤户删除、修改时提⽰"Operation not permitted"的情况?可能是由chattr设置了⽂件的隐藏保护权限导致通过chattr命令修改⽂件或⽬录属性能够提⾼系统的安全性与chmod命令相⽐,chmod只是改变⽂件的读写、执⾏权限,更底层的属性控制是由chattr命令改变的。
第七讲 Linux用户及文件权限管理

– – – – 建立新的文件与目录 删除已经存在的文件与目录(不管该文件是属于谁的) 重命名已经存在的文件或目录 移动该目录内的文件、目录位置
执行权限(x)表示允许你在目录中查找,并能用 cd命令将工作目录切换到该目录
UID与GID
用户与用户组的标识号
用户与群组
一个用户可以从属于多个群组 一个群组可以拥有多个用户 root用户是超级管理员
用户与用户组
Linux用户身份与用户组记录的文件 /ect/passwd:所有系统帐号、一般用户以及root的 相关信息 /ect/shadow:密码记录 /ect/group:用户组名
语法: chmod [-R] xyz 文件 其中xyz分别为三组rwx属性组合或其数值和
改变文件权限-数字法
用于改变或设置文件或目录的访问权限。 格式:chmod[选项]num 文件或目录名 说明:只有文件属主或超级用户root才有权用chmod改变 文件或目录的访问权限 选项:
用户和权限(2)
用户组
Linux下,每个文件又属于一个用户组;当创建 一个文件或目录时,系统会赋予它一个用户组 关系,chgrp命令可以改变文件的组关系
访问权限
Linux系统中的每个文件和目录都有访问权限, 用它来确定谁可以通过何种方式对文件和目录 进行访问和操作
访问权限
Linux系统中规定了3种不同类型的用户:
文件扩展名
Linux中的后缀没有意义
.sh、.Z、.tar.gz、.zip、.tgz、.html、.php、.pl
文件名规则
文件名是文件的唯一标识符。Linux中文件名遵循以下约定:
第三章Linux用户和权限管理

chmod是Linux下设置linux文件权限的命令,后面的数字 表示不同用户或用户组的linxu权限,一般是三个数字: 第一个数字表示文件所有者的文件权限 第二个数字表示与文件所有者同属一个用户组的其他用户 的文件权限 第三个数字表示其它用户组的文件权限。
linux文件权限分为三种:读(r=4),写(w=2),执行 (x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可 读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。 rwx=7(即二进制111-----十进制7) rw-=6(二进制110-----十进制6) r-x=5(二进制101--------十进制5) -wx=3(二进制011-------十进制3) 774的权限为111 111 101 即rwxrwxr-- 表示此文件夹的所 有者和所有者所属的组有可读可写可执行的权限,而其他 用户只有可读的权限
第三章 Linux用户和权限管理
软件工程学院
大纲
•用户和群组 •权限 •Samba权限配置
【问题的提出】
Geecy软件开发公司即将开始在Linux 系统上进行两个项目的开发。开发人 员David和Peter组成一个小组,负责A 项目的开发;开发人员Jack和Mike组 成另一个小组,负责B项目的开发。
引言
如何管理用户? 如何管理用户分组?
用户及权限
文件“/etc/passwd”以行为单位保存用户的 信息。每行以冒号分隔为7个数据域。每个 数据域的含义是:
a) 用户名。用户登录系统需要使用。 b) 密 码 。 但 由 于 在 安 装 系 统 时 候 使 用 了 影 子 (Shadow)密码的策略(请参考“1.2.4 进入安装 过程”),因此此域都只显示一个特定的字符 “ x” 。 真 正 的 密 码 被 加 密 后 存 放 在 影 子 文 件 “/etc/shadow”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户的管理
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请 一个账号,然后以该账号的身份进入系统。每个用户账号都拥有一个唯一的用户名和口令,同时系统会为每个用户 账号分配一个用户 ID(uid)来标识用户。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主 目录。
根据用户 ID 的不同, 在 Linux 系统中,用户可分为以下 3 种类型。 (1) root 用户:又称为超级用户, ID 为 0,拥有最高权限。 (2)系统用户:又称为虚拟用户、伪用户或假用户,不具有登录Linux 系统的能力,但却是系统运行不可缺少的 用户,一般 ID 为 1~499,本书中使用的Centos7 为 1~999。 (3)普通用户: ID 为 500 以上, Centos7 为 1000 以上。可以登录Linux 系统,但是使用的权限有限,由管 理员创建。
用户配置文件
2./etc/shadow 文件 /etc/shadow 与/etc/passwd 文件是互补的,由于/etc/passwd 文件所有用户都可以访问,为保证安全, 将密码和其他/etc/passwd 文件不能包括的信息(如有效期限)单独保存在/etc/shadow 中,此文件只有 root 用户有权查看。例如,用 user 用户查看该文件时,会出现提示“Permission denied(权限不足)”。 [user@localhost Desktop]$ cat /etc/shadow cat: /etc/shadow: Permission denied 3./etc/group 文件 /etc/group 文件是用户组的配置文件,可以直观看出用户组中包括哪些用户。每个用户组是一条记录,每个 记录包含 4 个字段,字段之间通过“:”分隔,具体内容如下。 [root@localhost Desktop]# cat /etc/group root:x:0:myu user:x:1001: user1:x:1002: myuser:x:1003: myGroup:x:1004:
课程目标
• 理解:Linux “一切都是文件”的特点 • 通过分析Linux系统,加深对操作系统的理解 • 熟悉并掌握利用Linux内核的基本功能,为以后在内核逻辑上解决问题打下基
础(例如:高性能双机热备) • 提高专业素养、锻炼实践动手能力
1
用户的管理
2
用户组的管理
3
文件权利管理
4
文件属性控制
目录
用户管理的常用命令包括: useradd、 passwd、 usermod、 userdel。 useradd 用来添加用户, passwd 修改用户口令, usermod 修改用户信息, userdel 删除用户。
用户的管理
1.添加用户 添加用户就是在系统中创建一个新账号,并为新账号分配用户 ID、用户组、主目 录和登录 Shell 等资源。通过 useradd 命令添加用户。 useradd 的命令格式为: useradd [option] username username 表示新账号的登录名。 2.修改用户口令 用户账号刚创建时没有口令,被系统锁定无法使用,必须为其指定口令后才可以使用,即使是空口令。使用 passwd 命令指定和修改用户口令。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口 令。 passwd 的命令格式为: passwd [option] [username] 其中, option 选项可以缺省,主要对/etc/shadow 文件的字段产生影响,username 参数也可以缺省,没 有指定该参数时,表示修改当前用户的口令; 如果指定了该参数,则表示修改指定用户的口令,只有 root 用户才有修改指定用户口令的权限。
用户配置文件
与用户相关的系统配置文件主要有 /etc/passwd、/etc/shadow、/etc/group。 /etc/passwd 文件保存 用户信息, /etc/shadow 文件保存加密的用户密码, /etc/group 文件保存用户组信息。
1./etc/passwd 文件 系统中所有的用户信息都会记录到/etc/passwd 文件中,是系统识别用户的一个文件。当用户登录时,系统 首先查阅 /etc/passwd 文件。假设用户名为 user, 则 会在/etc/passwd 文件中查看是否有该账号,然后确定 user 的 uid,通过 uid 确认用户和身份。在/etc/passwd 文件中,每一行都表示一个用户的信息。每行有 7 个 字段,字段之间通过“:”分隔。例如: [root@localhost ot:/root:/bin/bash user:x:1001:1001::/home/user:/bin/bash
用户的管理
3.修改用户信息 修改用户信息就是更改用户的属性,如用户 ID、主目录、用户所在组、登录 Shell等。通过 usermod 命令 修改用户信息。 usermod 的命令格式为: usermod [option] username username 表示用户名。 4.删除用户 如果一个用户账号不再使用,可以从系统中删除。删除用户就是删除与用户有关的系统配置文件中的记录(如 /etc/passwd)。通过 userdel 命令删除用户。 userdel 的命令格式为: userdel [option] username 其中, option 选项最常用的参数是-r,表示同时删除用户的主目录。 username 表示要删除的用户。例如,删除用户 user2,执行如下命令。 [root@localhost Desktop]# userdel -r user2 此时再查看/etc/passwd 文件中的信息,将不会找到与 user2 有关的信息行。
用户组的管理
用户组是具有相同特征用户的集合,每个用户都有一个用户组,方便系统集中管理一个用户组中的所有用户。 用户组的管理主要包括用户组的添加、修改和删除。常用命令有: groupadd、 groupmod、groupdel。
1.添加用户组 使用 groupadd 命令增加新的用户组。 groupadd 的命令格式为: groupadd [option] group group 表示用户组的组名。 2.修改用户组信息 使用 groupmod 命令修改用户组的属性。 groupmod 的命令格式为: groupmod [option] group group 表示需要修改属性的用户组的名称。 3.删除用户组 使用 groupdel 命令删除用户组。 groupdel 命令的格式为: groupdel group group 表示要删除的用户组的名称。