Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名)。
成都创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为网站设计、网站制作,成都App定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
文件的用户与用户组分为超级管理员,普通用户和系统用户。
1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员。
2)普通用户(管理员添加的),默认它的UID\GID是从500-65535,权限很小,只能操作自己的家目录中文件及子目录(注:nobody它的UID\GID是65534)。
3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UID\GID是1-499。
我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:
创建用户
useradd user1 创建用户user1
useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30
设置用户密码
passwd user1 设置密码,有设置密码的用户不能用
这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题
这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的password requisite
和password sufficient两行注释掉,如下图:
创建用户组
groupadd –g 888 users 创建一个组users,其GID为888
groupadd users 不用g参数,使用默认的组ID
命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
gpasswd –a user1 users 把 user1加入users组
gpasswd –d user1 users 把 user1退出users组
命令groupmod修改组
groupmod –n user2 user1 修改组名user1为user2
groupdel删除组
groupdel users 删除组users
真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。
命令名称:chmod
命令英文原意:change the permissions mode of a file
有两种角色可以执行该命令,一种是 root 用户,另一种就是文件的所有者。
语法:
大括号里的内容表示只能选一个,其中 u 表示该文件的所有者,g 表示所属组,o 表示其他人,a 表示所有角色。
比如,给 abc.txt 文件的所属组加一个写的权限:
也可以同时做多个授权,比如给文件所有者加上执行权限,给其他人去掉写权限:
还可以用数字表示权限。权限的数字表示:
如果一个文件的权限是 rw-r--r--,那么翻译成数字就是 644,反过来,如果要更改文件的权限,可以这样写:
这样文件的权限就改成 rw-r----- 了。
还有一个选项 -R 是递归修改权限,该选项的功能是更改某个目录的权限的同时更改该目录下所有的子目录和文件的权限。
命令名称: chown
英文原意:change owner
语法:chown 用户名 文件
只有管理员账户可以更改文件的所属用户。
例如:
命令名称:chgrp
英文原意:change group
语法:chgrp 组名 文件
例如:
命令名称:umask
使用命令 umask -S 可以查看新建文件或目录的默认权限。
现在显示的是新建目录的默认权限,该目录的所有者的默认权限是 rwx,所属组的默认权限是 rx,其他人的默认权限是 rx。为什么说这是新建目录的默认权限而不是新建文件的默认权限,如果你查看新建文件的权限,会发现是 rw-r--r-- ,与新建目录的权限 rwxr-xr-x 相比,每种角色的权限都少了 x。所以说,只要知道了新建目录的默认权限,再去掉 x 权限,就是新建文件的默认权限。
如果直接执行 umask 命令,会显示一个数字。
这个数字叫做权限掩码,用 777 减去其后三位 022 就得到了每种角色的权限,即 755。翻译成字母就是 rwxr-xr-x 。
若想更改新建目录或文件的默认权限,只需执行 umask 权限掩码 即可。
例如,我想把新建目录的默认权限改成 rwxr-r-- ,翻译成数字就是 744,再用 777 减去 744 就得到了权限掩码 033。
虽然 Linux 系统的目录或文件的默认权限可以修改,但是 Linux 这样分配权限是有一定道理的,最好不要轻易修改。
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
2、在linux命令行下输入shell指令:chmod666/test。
3、键盘按“回车键”运行shell指令,此时会看到test文件夹被设置为了只有读写权限,没有执行权限的状态。