🍤:好好复习,不整花里胡哨的了。
说到用户组权限,可以想像成windows操作系统一样,同样都是基于用户身份来控制对资源的访问,每个用户账户都有唯一的用户名与密码,只是个别细节方面存在一些差异。
系统用户文件
系统文件路径:
/etc/passwd 用户信息文件
/etc/shadow 用户密码文件
1、创建用户
格式如下:
useradd [选项] 用户名
-u 指定用户的uid
-g 指定用户的基本组
-G 指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的
-c 指定描述
-d 指定家目录
-M 不建立家目录
-s 指定shell
-e 指定用户过期时间, 日期
-f 指定用户过期时间, 天数
2、修改用户权限
针对已有用户修改属性(和创建用户相同),格式如下:
usermod [选项] 用户名
-u 指定用户的uid
-g 指定用户的基本组
-G 指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的
-c 指定描述
-d 指定家目录
-M 不建立家目录
-s 指定shell
-e 指定用户过期时间, 日期
-f 指定用户过期时间, 天数
3、设置密码
格式如下:
passwd [选项] 用户名
选项如下:
-l 锁定
-u 解锁
-d 清空
例:无交互创建密码(适用于脚本)
echo "密码" | passwd --stdin 用户名
4、删除用户
userdel [选项] 用户名
-r 删除宿主目录
5、文件内容详解
以/etc/passwd用户信息文件、/etc/shadow用户密码文件为例,以“冒号”为分隔符。
使用命令查看root用户
head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:GID:描述信息:家目录:登录shell
使用命令查看zhangsan用户密码文件
tail -1 /etc/shadow
zhangsan:1nPiR1mec91adasdasw222:18463:0:99999:7:::
1)用户名
2)加密后的密码
3)上一次密码修改时间(单位是天,是距离1970年1月1日 多少天)
4)密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改
5)密码最大生存周期 单位:天,密码使用的最长时间
6)密码到期前几天开始警告
7)密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天
8)账户过期时间
9)保留列
6、查看用户ID
id 用户名
系统组文件
与用户文件一样都是以冒号分隔。
head -1 /etc/group
root :x:0:
组名:密码占位符:GID:用户列表
1、创建组
格式如下:
groupadd [选项] 组名
选项如下:
-g 指定gid
2、修改组
格式如下:
groupmod [选项] 组名
3、删除组
格式如下:
groupdel 组名
4、管理组成员
添加成员到组
gpasswd -a 用户名 组名
删除组内成员
gpasswd -d 用户名 组名
批量添加成员到组
gpasswd -M 用户1,用户2 组名
系统文件权限
文件权限可用数字表示
可读可写可执行rwx421
[root@localhost ~]# ll test.txt
-rw-r--r--. 1 root root 0 8月 21 18:27 test.txt
第一栏代表这个文件的类型与权限 。
第一个字符代表这个文件是“目录、文件或链接文件等等”: [ d ]则是目录,例如上表文件名为“.config”的那一行; [ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行; [ l ]则表示为链接文件(link file); [ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备); [ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备) 。 接下来的rwx权限字符,以三个为一组: 第一组为“文件拥有者可具备的权限”; 第二组为“加入此群组之帐号的权限”; 第三组为“非本人且没有加入本群组之其他帐号的权限。
第二栏表示有多少文件名链接到此节点。
第三栏表示这个文件(或目录)的“拥有者账号”。
第四栏表示这个文件的所属群组。
第五栏表示这个文件的容量大小,默认单位是Bytes(字节)。
第六栏表示这个文件的创建日期或者是最近修改日期。
第七栏为这个文件的文件名。
系统文件权限属组
1、修改文件的属组
chgrp 组名 文件或目录名
2、修改文件归属者
下面命令可以只设置属主也可以同时设置属组。
格式如下:
chown 属主[:[属组]] 文件或目录名
例:如果只想设置属组可以执行下面命令(单独设置属主就不需要加冒号了)。
chown :属组 文件或目录名
3、修改文件权限
格式如下:
chmod [ugoa][+-=][rwx] 文件或目录
例1:设置文件属主拥有全部权限,属组可读,其他人没有任何权限。
[root@localhost ~]# chmod 740 test.txt
[root@localhost ~]# ll -d test.txt
-rwxr-----. 1 root root 0 8月 21 18:27 test.txt
例2:根据例1的权限,同组成员添加可执行权限。
[root@localhost ~]# chmod g+x test.txt
[root@localhost ~]# ll -d test.txt
-rwxr-x---. 1 root root 0 8月 21 18:27 test.txt
4、文件acl
(1)查看acl
getfacl 文件名
(2)设置acl
格式如下:
setfacl [选项] 文件名
选项如下:
-m u:用户名:rwx 文件名 单独赋予zhangsan权限
-x u:用户名 删除acl条目
-b 清空acl
(3)查看文件隐藏文件
lsattr [文件名]
(4)更改文件隐藏权限
格式如下:
chattr [选项] 文件名
选项如下:
+i 锁定文件
+a 设置文件仅追加
系统文件特殊权限
1、SetUID
当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。
权限数字为4644——前面的4代表suid,后面表示用户组其他人权限。
格式如下:
ls -l /usr/bin/passwd
chmod u-s /usr/bin/passwd 去除s权限
chmod u+s /usr/bin/passwd 添加s权限
2、SetGID
基本与SetUID相同,GID为设置所属组的特殊权限,可针对目录设置。
权限数字为2644——前面的2代表guid,后面表示用户组其他人权限。
格式如下:
ls -l /usr/bin/passwdls -l /usr/bin/locate
chmod g-s /usr/bin/locate 去除g权限
chmod g+s /usr/bin/locate 添加g权限
3、SBIT
粘滞位:只对目录有效,用户不能删除不属于自己的文件。
权限数字为1755——前面的1代表sbit,后面表示用户组其他人权限。
格式如下:
chmod [ugo]+t /目录
版权归原作者 大虾好吃吗 所有, 如有侵权,请联系我们删除。