即时焦点:Linux用户及权限详解

2023-01-06 17:19:43 来源:51CTO博客

3_4 Linux用户及权限详解


(相关资料图)

用户、组、权限

安全上下文(security context):

权限:r,w,x

文件:

r:可读,可以使用类似cat等命令查看文件内容

w: 可写,可以编辑或者删除此文件

x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行

目录:

r: 可以对此目录执行ls以列出内部所有文件

w: 可以在此目录创建文件

x: 可以使用cd切换进此目录,也可以使用ls -l 查看内部文件的详细信息

rwx:

r--:只读

r-x:读和执行

---:无权限

0 000 ---:无权限

1 001 --x:执行

2 010 -w-:写

3 011 -wx:写和执行

4 100 r--:只读

5 101 r-x:读和执行

6 110 rw-:读写

7 111 rwx:读写执行

755:rwxr-xr-x

用户:UID(id标识用户)、/etc/passwd(用户信息库,存储用户对应id)

组:GID、/etc/group

解析:名称解析

影子口令:

用户:/etc/shadow (存放密码)

组:/etc/gshadow

用户类别:

管理员:id为0

普通用户:1-65535

系统用户:1-499,用来运行后台进程,不允许登录系统

一般用户:500-60000

用户类别:

管理员组:

普通组:

系统组:

一般组:

用户类别(分法2):

基本组:

私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组

附加组、额外组:默认组以外的其它组

查看passwd文件:

cat /etc/passwd

用whatis passwd可以查看passwd在man文档有几个章节

七个字段:

一:account,登录名

二:password,密码占位符

三:UID

四:GID

五:comment,用户注释信息

六:HOME DIR,家目录

七:shell,用户的默认shell

cat /etc/shells:查看用户合法shell

cat /etc/shadow:查看shadow文件,可以用man 5 shadow

一:登录名

二:encrypted password:加密的密码。。两个叹号表示锁定,不能登录。。写入文件前会加入随机生成的杂质,再生成密文。防止密码系统猜到密码

三:密码上次修改时间

四:密码最少使用时间

五:密码最长使用期限

六:还有多久过期

七:密码过期延长时间,不改不让使用。这几天没登陆,需要用管理员解锁

八:密码有效天数。过期无法登录

九:保留字段

加密方法:

对称加密:加密和解密使用同一个密码

公钥加密:每个密码都成对出现,一个为私钥(secret key),一个为公钥(public key)。。时间比对称慢三个数量级以上,多用于密钥交换

单向加密,散列加密:也叫指纹加密,提取数据特征码(每个数据有个唯一的特征码,类似人的指纹,不可逆)。常用于数据完整性校验

1、雪崩效应(初始输入数据一点点改变,特征码结果变化很大)

2、定长输出

MD5:message Digest(5是版本号),128位定长输出

SHA1:Secure Hash Algorithm,160位定长输出。还有SHA1 256和512位定长输出

添加用户:useradd(用which useradd)。adduser,软连接到useradd,本质上一样

useradd USERNAME

管理员改其它用户密码:

passwd USERNAME

为什么添加用户会主动添加一些属性:

cd /etc/default 然后cat useradd

cat /etc/group

添加组:groupadd GROUPNAME

04_01用户管理命令详解

用户管理命令:

useradd、userdel、usermod、passwd、chsh、chfn、finger、id、chage

useradd [options] USERNAME

-u UID(大于等于500,其它用户未使用,默认/etc/passwd里最后一个用户id号加一。。一般情况下与组id相同))

-g GID(基本组。可用组名或者组id,指定前组要先存在)

-G ,...(附加组)

-c “COMMENT” 注释信息

-d /path/to/somedirectory 指定家目录 如:useradd -c “Tony Blare” -d /home/blare user4

-s 指定shell(目录。。。此shell一定存在于/etc/shells文件里)

-m -k 强行创建家目录并复制skel文件

-M 不给用户创建家目录

-r:添加系统用户

/etc/login.defs 设置用户信息

/etc/shells:指定了当前系统可用的安全shell

环境变量:

PATH

HISTSIZE

SHELL

查看此用户用什么shell:echo $SHELL

userdel

userdel [options] USERNAME (默认不删除家目录)

-r 同时删除用户的家目录

id 查看用户的账号属性信息

id [options] [USERNAME] 不加用户,默认当前用户

-u

-g

-G

-n

finger 查看用户账号信息

finger [options] USERNAME

修改用户账号信息:

usermod

-u 改用户id

-g GID 改基本组

-G 改附加组。会覆盖之前的附加组

-a -G 一起使用,追加附加组

-c 注释信息

-d 改家目录。改后无法访问之前家目录中的文件

-d -m 移动此前文件至新家目录中

-s 改shell

-l 改用户名

-L 锁定账号

-U 解锁账号

chsh 改用户默认shell

chsh USERNAME

chfn 改注释信息

chfn USERNAME

密码管理

passwd [USERNAME] 管理员才可指定用户

--stdin 从标准输入读取 如echo “Redhat” | passwd user --stdin

-l 锁定账号

-u 解锁账号

-d 删除密码。(红帽禁止空密码用户登录)

-n 密码最短使用期限 -x -w -i

pwck 检查用户账号完整性

chage

-d 最近一次的修改时间

-E 过期时间

-I 非活动时间

-m 最短使用期限

-M 最长使用期限

-w 警告时间

组管理命令:

groupadd、groupdel、groupmod、gpasswd

groupadd 创建组

-d 指定id。默认上一个组往下加一

-r 添加为系统组

groupmod 改组信息

-g GID

-n GRPNAME改组名

groupdel 删除组

gpasswd 给组加密码

newgrp 临时登录更改用户基本组。可用exit退出

加用户 可直接改passwd shadow group三个文件

权限管理:

chown、chgrp、chmod、umask

04_02权限及权限管理

权限管理

r:读

w:写

x:可执行

三类用户:

u:属主

g: 属组

o: 其它用户

chown:改变文件属主。(只有管理员可以使用此命令)

# chown USERNAME file,...

-R 修改目录及其内部文件的属主

--reference=/path/to/somefile [-R] file,... 参考。把后面的文件的属主属组都 改为和第一个一样

# chown [USERNAME] :GRPNAME 可用此命令同时改属主数组。不加用户时可只改属组

chgrp:

#chgrp GRPNAME file,...

-R

--reference=/path/to/somefile

chmod 修改文件的权限

修改三类用户观的权限:

chmod MODE file,... 三位数字,少了默认前面补0

-R 修改目录及其内部文件的权限

--reference=/path/to/somefile [-R]

修改某类用户或某些类用户权限:

u,g,o,a(all)

chmod 用户类别=MODE chmod g=rw[-] 没给出的可用省略

chmod go=r

chmod g=rx,o= file

修改某类用户某位或某些位权限:

u,g,o,a(all)

chmod 用户类别+|- MODE file,...

chmod u+x,g-x file

chmod [a]+wx file

练习:

1、新建一个没有家目录的用户openstack

2、复制/etc/skel为/home/openstack

3、改变/home/openstack及其内部文件的属主属组均为openstack

4、/home/openstack及其内部文件,属组和其它用户没有任何访问权限

su - openstack

ls -l /etc/shadow

权限400 :

权限设置对管理员没有用

普通用户为啥能改密码?ls -l `which passwd` 属主有个s权限

bc:计算器 q退出

scal=2:保留两位小数

openssl passwd 可用生成加密密码

whatis passwd 查看有sslpasswd

man sslpasswd

openssl passwd -1(这是一) -salt "12345678’(八位)

umask :遮罩码(一般用户默认002,root022)

创建文件:666-umask 默认不能有执行权限,如果算得结果有执行权限,则将其权限加1:

创建目录 777-umask

站在用户登录的加偶来说,shell的类型:

登录式shell:

正常通过某终端登录

su - USERNAME

su -l USERNAME

非登录式shell:

su USERNAME

图形终端下打开命令窗口

自动执行的shell脚本

bash的配置文件:

全局配置

/etc/profile,/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

标签: 内部文件 可以使用 使用期限

上一篇:今热点:基于MFC的学生成绩管理系统
下一篇:世界视讯!程序:三子棋游戏