- 关于权限对于文件的说明
-
r(4):可读,表示可以使用文本查看命令,cat,more,less; -
w(2):表示可以编辑或者删除这个文件; -
x(1):可执行文件在命令提示符下当作命令提交给内核执行;
-
- 关于权限对于目录的说明:
-
r(4):表示可以对这个目录执行ls,用于列出里面的文件; -
w(2):表示可以在这个目录里面创建文件,但是不一定可以删除文件; -
x(1):表示可以使用cd,切换进入这个目录,使用ls -l查看这里面的文件;
-
- 权限: 是对于计算机资源的一种控制策略,用于方便资源的管理,在权限的基础上进一步引入了用户和组的概念,用户是获取资源的标识.组同样也是标识符, 进程是用户操作计算机的代理, 进程以发起人的身份进行, 也是有权限的.称为进程的安全上下文
(secure context),进程以及进程的权限是交给内核进行管理的; - 用户管理
- 用户概念:用户是对于资源获取的一种身份标识;
- 用户使用
UID进行用户名和系统标示符/etc/passwd; - 用户组使用
GID进行管理/etc/group; - 用户使用的默认的
shell也在/etc/passwd,这个文件里面的密码字段是加密存储,使用影子口令/etc/shadow里面; - 用户组也是有密码的
/etc/gshadow里面;
- 用户使用
- 用户的类别:
- 管理员:
UID为0; - 普通用户:
(1-65535)- 系统用户:
1-499:系统用户是用来运行后台进程的,这类用户的关乎系统安全这类用户不需要登陆系统; - 一般用户:
500-60000,一般用户,和系统进程无关的某些进程,这类用户需要登陆系统并且获得资源;
- 系统用户:
- 管理员:
- 用户组的类别:
- 基本组(默认组):用户创建的文件,文件的属主是这个用户,属组是这个用户的私有组(基本组);
- 私有组:在创建用户的过程中,如果没有指定组,那么就会创建一个和用户同名的用户的基本组,也就是这个用户的私有组;
- 附加组:额外组,表示用户默认组以外的其他的组;
- 在进程执行访问某个资源时,首先确定这个进程的属主,并且确定权限,其次确定所访问资源的权限;通常来说进程的属主属组是进程发起者的属主和属组,与这个可执行文件的属主,属组无关,但是文件的权限确定了进程的发起者是否有权限执行这个文件;
- 例如:
tom执行/bin/ls对于这个文件来说属主,属组仍然是root,tom属于其他人身份,但是这个进程的属主和属组仍然是tom与root无关,也就是说/bin/ls是可执行文件,这个可执行文件存在属主和属组,进程的属主是进程打发起者,进程的属组是进程发起者的基本组; -
/etc/passwd-
name:-
This is the user's login name.It should not contain capital letters;
-
-
password:This is either the encrypted user password,an asterisk (*), or the letter 'x'. (See pwconv(8) for an explanation
-
UID:- 表示用户的
UID;
- 表示用户的
-
GID:- 表示用户的基本组
ID号,附加组在/etc/group里面;
- 表示用户的基本组
-
GECOS:- 表示可选字段,用户的一些附加信息,住址.邮箱;
-
HOME DIR:- 表示用户的家目录;
-
SHELL: - 表示用户的默认
shell,多数为/bin/bash,其中/sbin/nologin表示不允许登录,在/etc/shells里面包含了大多数合法的shell;
-
-
/etc/shell: -
/etc/shadow-
login name:表示登录名,It must be a valid account name,which exist on the system; -
encrypted password:表示加密后的密码存放位置;,例如:$6$G3buDlaTjGIocoB0$0ReC23TPiaOIpJQ8RgOEgQ0WsEEFX.wlSEe0OlZWCrflF0vJ2WSo,两个$number$:表示的含义是加密使用的算法;如果为1,表示使用的是MD5加密算法,之后的$G3buDlaTjGIocoB0$,表示的是加盐,也就是一些杂质信息,对于包含这种杂质信息的密码验证过程,首先加入者写杂质信息,然后进行密码的验证;其中!!表示这个用户是被锁定的,也就是不能够被登录; -
date of last password change:表示表示从1970年到最近一次密码修改时间的天数; -
minimum password age:表示密码最小使用期限,也就是两个密码修改时间之间的间隔,0表示不进行限定; -
maximum password age:最长密码使用期限,也就是之后必须进行密码更改; -
password warning period:密码离过期还有多就向用户进行警告; -
password inactivity period:密码非活跃期限,也就是在登录之后,必须进行密码更改; -
account expiration date:表示这个用户的最长使用期限,也就是禁止使用这个用户的; -
reserved field:表示保留的字段;
-
-
/etc/group: - 上面的信息分别是组名,密码占位符号,以及组
ID,以这个组为附加组的用户列表; - 对一用户的添加过程就是在
/etc/passwd,/etc/group,/etc/shadow三个文件里面添加信息 - 如果更改密码,那么密码占位符号就会发生改变
- 对于添加用户的默认的信息来自于
/etc/default目录里面的useradd这个文件的 -
GROUP: -
HOME:表示在这个指定的目录里面创建家目录; -
INACTIVE:密码过期后的宽限时间;-1表示永不过期; -
EXPIRE:表示用户的过期时间;未指定表示永远不过期; -
SHELL:表示默认的SHELL; -
SHELL:指定的是/etc/skel,里面的文件表示的是bash或者其他shell的配置文件; /etc/login.defs:创建用户过程中,密码加密原则,是否创建家目录,是否删除私有组,UID,GID等设定;用户管理类命令
-
useradd:- 用户建立的过程就是在和用户管理相关文件里面写入内容的过程;
-
-u UID:用于手动指定UID,一般用户UID是需要大于500,并且不能够重复,一般来说用户的UID和默认组的GID是相同的,但是由于手动指定的原因可能出现不同的情况,这种用户就会被视为特殊用户,在权限的设定上是会出现不同的; -
-g GID/GIDNAME:可以用于指定基本组ID,前提是这个组必须首先存在,并且只能够有一个; -
-G GID/GIDNAME:用于指定用户的额外组或者附加组,必须存在,可以有多个; -c "COMMAND":表示添加用户的注释信息-d pathToSomeWhere:表示指定用户的家目录,在指定用户家目录的过程中,这个目录必须不存在就会出错;-
-s ShellName:Shell的路径一定是在/etc/shell里面的shell; -
-m:如果用户的家目录不存在,就强制为用户创建家目录; -
-k:需要和-m一起使用,用于将/etc/skel里面的文件复制到用户的家目录里面去; -
-M:不给用户创建家目录,即使/etc/login.defs里面设定用户应该存在家目录,也不进行创建; -
-r:表示用于创建一个系统用户(1-499),对于系统系统用户来说是没有家目录的;
-
pwck: - 用于验证用户和认证信息的完整性
-
userdel [OPTION] USERNAME:用于删除一个用户-
-r:如果在删除用户时,没有指定任何选项,用户的家目录是不会被删除的,用于删除用户以及删除用户的家目录;
-
-
id:- 用于查看哟农户的帐号信息,不见选项,表示查看当前用户的家目录;
-
-u:用于查看用户的UID; -
-g:表示查看用户的GID; -
-G:表示查看用户的附加组; -
-n:表示不用于显示数值,而是显示名称;
-
usermod:- 用于修改用户帐号的某些属性,类似于
useradd,选项也是相同的; -u UID-
-g GID:用于更改用户的基本组,基本组必须存在; -
-G GID:用于更改用户的附加组,这个是存在副作用的,如果用户已经存在附加组,使用这个命令进行了指定,之前的附加组就没有了; -
-a:和大写G一起使用表示追加附加组,而不是删除原来的附加组; -
-c:用于添加注释信息; -
-d:用于修改家目录,对于用于制定了新的家目录,原来目录里面该用户创建的文件,就没有办法进行访问; -
-m:和-d选项使用,可以用于移动原始家目录里面的内容; -
-l:可以用于更改用户的登录名; -
-s:用于更改用户的默认登录shell; -
-e:用于更改用户的过期时间; -
-f:用于指定用户的非活动时间; -
-L:用于锁定用户帐号; -
-U:用于解锁用户帐号;
- 用于修改用户帐号的某些属性,类似于
-
passwd:- 普通用户只能够用于修改自己的密码,管理员可以用来修改其他人的密码;
-
--stdin:表示从标准输入读取密码,echo "passwd" | passwd --stdin username; -
-u:用于解锁用户帐号; -
-n:表示密码最短使用期限; -
-d:用于删除用户的密码;
-
chsh:- 用于更改用户的默认
shell;
- 用于更改用户的默认
-
chfn:- 用于更改
finger,表示的是注释信息
- 用于更改
-
finger:- 用于检索用户信息的程序,可以用于检索远程用户的信息
-
change:- 用于改变用户密码过期时限
-
-b:用于指定密码最近修改时间; -
-m:密码最短使用时间; -
-M:密码最长使用时间; -
-I:非活动时间; -
-E:表示密码过期时间; -
-W:表示密码警告时间;
组管理命令
-
groupadd:-
-g GID:用于添加组,并且指定GID,大于500的ID; -
-r:用于添加系统组,通常是1--499 -
-s:可以用于指定shell;
-
-
groupdel:- 用于删除某个组;
-
groupmod:-
-g GID:用于修改GID; -
-n GIDNAME:用于修改组名;
-
-
gpasswd:- 用于给组添加密码,用于创建文件的属组是用户的基本组,可以方便无关的用户在知道密码的时候进行登录
-
newgrp:- 表示登录到一个一个已经创建的组里面,为了安全需要密码,在登录和自己用户无关的组时,是需要密码的,登录自己的基本组和附加组是不需要密码的,登录这个组成功,用户的基本组就会改变,在使用
exit,用户的基本组就会切换回来;但是在登录到其他组创建的文件的基本组仍然是登录到的组;这个命令适用于临时切换用户的基本组,创建的文件为登录的组,使用exit退出;
- 表示登录到一个一个已经创建的组里面,为了安全需要密码,在登录和自己用户无关的组时,是需要密码的,登录自己的基本组和附加组是不需要密码的,登录这个组成功,用户的基本组就会改变,在使用
- 权限管理
-
chown:chown USERAME file,...- 用于改变文件,目录的属主,只有管理员才有这个权限,如果对于目录进行权限更改,里面文件的权限是不会改变的;
-
-R:用于递归修改里面的文件和目录的权限; -
--reference=/path/to/somefile,表示将文件的所有权改为和somefile一致; -
chown USERNAME:GRPNAME file,....:表示用于修改属主和属组; -
chown USERNAME.GRPNAME file,...:表示同时用于修改属主和属组;
-
chgrp:-
-R:同样表示支持递归进行修改; -
-reference=/path/to/somefile:表示将文件的属组改为和somefile一致;
-
-
chmod:- 用于更改文件的权限,
rwx这三种权限; -
-R:用于实现对于目录以及目录里面的内容进行递归修改; -
--refernece=/path/to/somefile:表示将文件的权限更改为和参考文件一样; - 修改用户的权限:
chmod 777 | 644 FILENAME默认的权限为是从前面补0开始的; - 修改某个或者是某些用户的权限:这里修改权限不可以使用数字,三类用户为
u g o a(表示所有用户权限):chmod 用户类别=权限,多个之间使用,隔开; - 修改某类用户的某为或者是某些权限:
chmod u | g | o | a +| - |r | w | x FILENAME
- 用于更改文件的权限,
-
umask:- 关于文件和目录的默认权限,也就是用户在创建文件和目录时是存在默认权限的,对于
Linux文件是没有执行权限的,在用户创建目录或者文件时,目录时使用777-umask,创建文件时使用666-umask,对于文件来说默认是没有执行权限的,但是对于目录来说是存在执行权限的; - 设定
umask的方式umask 022; - 关于
umask 023的两个题:- 1.文件:
666-023=643,对于这个来说,真实的结果是644,对于文件默认来说是没有执行权限的,如果计算出来存在执行权限,就会默认加1,结果为644; - 2.目录:
777-023=754:这个没有特殊的,权限就是这个;
- 1.文件:
-
umask:默认的配置文件在/etc/bashrc,可以通过这个文件进行更改,虽然可以通过命令的方式进行更改,命令更改的方式在退出当前shell时,就会失效;
- 关于文件和目录的默认权限,也就是用户在创建文件和目录时是存在默认权限的,对于
- 用户登录:
- 用户角度分类:
- 登录式:户通过某终端登陆的, 使用
su – username登陆的, - 非登录式:
su username登陆的属于非登陆式shell, 图形终端中打开的命令窗口, 自动执行的shell脚本;
- 登录式:户通过某终端登陆的, 使用
-
bash的配置文件:- 作用范围:
- 全局配置文件:是对于所有的的用户都生效的配置文件
-
/etc/rpofile, /etc/profile.d/*.sh /etc/bashrc
-
- 个人配置:是对于单个用户生效的,一般是位于用户的家目录底下的;
-
~/.bash_profile, ~/.bashrc
-
- 全局配置文件:是对于所有的的用户都生效的配置文件
- 作用:
-
profile类的文件:- 设定环境变量;
- 运行命令或者脚本;
-
bashrc类环境变量:- 设定本地变量,定义命令别名;
-
- 作用范围:
- 如果全局和个人的配置不一样,以个人的为准,作用范围越小的越有用;
- 登录式
shell读取配置文件的顺序:-
etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc -->/etc/bashrc;
-
- 非登录式
shell读取配置文件:-
~/.bashrc -->/etc/bashrc -->/etc/profile.d/*.sh;
-
- 用户角度分类:
-
su -和su切换的区别就是su -是全切换读取配置文件,使用户自己的配置文件,但是su仅仅读取全局的配置文件进行切换; - 手动添加用户的过程:
- 三个文件分别添加的内容为
- 加密一段密码使用
hive能够登陆 - 这个用户就是可以登陆的
相关文章: