DAY07

7 篇文章 0 订阅

用户、组

多用户多任务

linux管理模式私有模式:每一个用户对应一个和用户同名的组

公有模式

用户类型(65535个用户)

管理员:只有一个 root 0

普通用户:redhat 1-60000

系统用户: 系统安装自动创建 1-200 201-999

一般用户:手动添加 1000-60000

useradd(用户添加命令)

useradd用户名 /usr/sbin/useradd/

cat/etc/passwd用户配置信息

xiao2:x:1001:1001::/home/xiao2:/bin/bash
用户名:密码占位符:UID(唯一,用来标记用户):GID:注释,描述字段:用户家目录:shell字段/bin/bash     /sbin/nologin
​
usermod  【optin...】 【选项参数】 用户名                  修改                                              -l    修改用户登录名称  #usermod   -l  newxiao1  xiao1     把xiaao1改为newxiao1
-u    更改用户UID    #usermod    -u  1111  newxiao1  #usermod   new1xiao1  -u  1111
-g    更改用户的基本组    #usermod  -g   redhat   newxiao1
-G     更改用户的附加组   #groupadd g1  #usermod -G   g1  newxiao1
-c    注释信息   #usermod  -c   1892823231   newxiao1
-d   家目录    
-s    更改shell字段(可交互式shell,非交互式shell)
    #usermod -s /sbin/nologin newxiao1
 eg:(多次修改)
 usermod  -l  newname  -u  1234  -g  1000  -c  dashazi  name

例 [root@www ~] xiao1 (只能是管理员,一次只能添加一个用户)(用户的家目录在你的时候自动生成)

  grep ’^用户名‘ /etc/passwd
[root@www ~]# grep '^xiao1' /etc/passwd
xiao1:x:1001:1001::/home/xiao1:/bin/bash
(快速查看创建的用户是否存在)
或[root@www ~]# id xiao1
uid=1001(xiao1) gid=1001(xiao1) groups=1001(xiao1)
(id  用户名)
删除用户  userdel -r 用户名  (删除用户以及创建用户相关的所有文件)
[root@www ~]# userdel -r xiao1
​
​

(id 用户名)

passwd 用户名 (设置用户密码)

-d  删除用户名
-l   锁定用户密码
-u  解锁用户密码

[root@www ~]# cat user | chpasswd

echo redhat : 12345 |chpasswd

更改多个用户密码

passwd -d 用户名 (删除用户密码)

(-d 删除用户密码)

管理员 :可以指定用户名更改系统用户的密码不需要输入之前的密码,不严格匹配密码等级设置

普通用户 :不可以指定用户名,只能跟改自己的密码,需要输入之前的密码,严格匹配密码等级设置

echo mima | paawd --stdin 用户名

组类别

管理组:root

普通组

系统组

一般组

主组,,基本组,私有组,用户的默认组

附加组,额外组 ( 用户默认组之外的组)

groupadd 组名

cat /etc/group 组配置文件

grep ’^组名‘ /etc/group

xiao2:x:1001:
组名:组密码占位符:GID:组中用户名
groupmod【optin...】【选项参数】  组名
-n   修改组名    #groupmod  -n  grp1(改后组名)   g1(改前)
-g   修改组id    #groupmod  -g  2222   g1
​

2.4删除组

groupdel 组名

2.5设置组密码

gpasswd 组名

-r  删除组密码
-a  把指定用户加入组   #usermod  -G  g1  redhat  == #gpasswd  -a  redhat  g1
-M  指定多个用户加入组(制定新的组成员列表)  #gpasswd -M 
user1,user2,user3   g1
-d   将指定用户从组中移除  #gpasswd  -d user1  g1
-A   指定组长(可以在组中添加成员或删除一个组用户)   
#gpasswd  -A  user2  g1
-R  锁定组(用户知道组密码也不能验证登录)
​

2.6 登录新组

newgrp 组名

练习题

1.新建组,shengchan,caiwu,jishu

#groupadd shengchan
#groupadd caiwu
#groupadd jishu

2.新建用户要求如下:

* wjx 是shengchan组的附加用户

* liuy 是caiwu组的附加用户

* zxx 是jishu组的附加用户

* 新建admin用户,此用户不属于以上提到的三个部门,以上用户密码设置为redhat

#useradd wjx
#usermod -G shengchan  wjx   == #useradd -G shengchan  wjx
#useradd -G caiwu liuy
#useradd zxx
#gpasswd -a zxx jishu 
#useradd admin
(1)#passwd wjx
(2)#echo redhat | passwd --stdin  liuy
(3)#echo zxx:redhat | chpasswd
(4)#vim file
wjx:redhat
liuy:redhat
zxx:redhat
admin:redhat
#cat file | chpasswd 

3.实验

创建学习组1,学习组2 ;他们的组gid分别为1111,2222,添加成员并将uid为1088,

和uid为1066的成员为两组的组长,其中一组组长有一个‘外号’laoda。

不同学习组成员进入其他组需要密码才能进入(设置密码);即使密码泄露也不希望组之外的成员进入。

添加组
#groupadd std1 
#groupmod -g 1111 std1
​
#groupadd -g 2222 std2
创建用户
#useradd user1
#useradd -u 1088 user2 
把用户加入组
#usermod -G std1  user1
#gpasswd -a user2 std1
#gpasswd -A user2  std1
​
#useradd da1
#useradd -u 1066 da2
#gpasswd -M  da1,da2  std2
#gpasswd -A d2 std2
​
#usermod  -c laoda  user2
组密码设置
#gpasswd  std1
#gpasswd std2
#gpasswd -R std1
#gpasswd -R  std2

不允许用户远程登录

usermod -s /sbin/nologin u1

passwd -d u1

passwd -l u1

破解密码

关机-->开机-->鼠标进入启动界面-->第一个引导菜单-->e --->找到inuxi这一行在行尾添加rd.break--->ctrl -x---->mount -o remount,rw /sysroot --->chroot /sysroot--> passwd root -->设置密码--确认密码--->

touch /.autorelabel--->exitr--->exit(等待)

/etc/shadow 用户密码文件

用户名:加密密码:最后—修改密码的天数(从1970年1月1号开始):密码生效最短时间:最长时间:警告时间:延长时间:精确过期时间(1970):保留字段

/etc/gshadow 组密码信息

组名:组密码:组长:组成成员

/etc/defoult/useradd用户创建默认加载文件

参数含义
GR0UP=100这个选项用于建立用户的默认组,也就是说,在添加每个用户时,用户的初始组就是 GID 为 100 的这个用户组。但 CentOS 并不是这样的,而是在添加用户时会自动建立和用户名相同的组作为此用户的初始组。也就是说这个选项并不会生效。 Linux 中默认用户组有两种机制:一种是私有用户组机制,系统会创建一个和用户名相同的用户组作为用户的初始组;另一种是公共用户组机制,系统用 GID 是 100 的用户组作为所有新建用户的初始组。目前我们采用的是私有用户组机制。
HOME=/home指的是用户主目录的默认位置,所有新建用户的主目录默认都在 /home/下。
INACTIVE=-1指的是密码过期后的宽限天数,也就是 /etc/shadow 文件的第七个字段。这里默认值是 -1,代表所有新建立的用户密码永远不会失效。
EXPIRE=表示账号过期时间,也就是 /etc/shadow 文件的第八个字段。默认值是空,代表所有新建用户没有失效时间,永久有效。
SHELL=/bin/bash表示所有新建立的用户默认 Shell 都是 /bin/bash。
SKEL=/etc/skel在创建一个新用户后,你会发现,该用户主目录并不是空目录,而是有 .bash_profile、.bashrc 等文件,这些文件都是从 /etc/skel 目录中自动复制过来的。因此,更改 /etc/skel 目录下的内容就可以改变新建用户默认主目录中的配置文件信息。
CREATE_MAIL_SPOOL=yes指的是给新建用户建立邮箱,默认是创建。也就是说,对于所有的新建用户,系统都会新建一个邮箱,放在 /var/spool/mail/ 目录下,和用户名相同。

/etc/login.defs 登陆用户默认匹配的配置文件

注:配置文件中的#表示注释 
 MAIL_DIR    /var/spool/mail   \#创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
 PASS_MAX_DAYS  99999    \#密码最大有效期
 PASS_MIN_DAYS  0    \#两次修改密码的最小间隔时间
 PASS_MIN_LEN  5      \#密码最小长度,对于root无效
 PASS_WARN_AGE  7   \#密码过期前多少天开始提示
​
 #创建用户时不指定UID的话自动UID的范围
 UID_MIN          500\#用户ID的最小值
 UID_MAX         60000  \#用户ID的最大值
​
 #自动组ID的范围
 GID_MIN          500\#组ID的最小值
 GID_MAX         60000    \#组ID的最大值
​
USERDEL_CMD  /usr/sbin/userdel_local  \#当删除用户的时候执行的脚本
CREATE_HOME   yes     \#使用useradd的时候是够创建用户目录
USERGROUPS_ENAB yes    \#用MD5加密密码
​
​

键=值

键 值

3.权限

3.1系统中的权限是在文件中标识

/。 

 

3.2权限两种描述方式

字符形式:r w x

数值形式:r=4 w=2 x=1

 

3.3目录文件的最高权限值 777

权限过滤值(权限掩码)umask 022

755

文本文件的最高权限值666

权限过滤值(权限掩码)umask 022

644

6 6 6

rw-rw-rw-

0 3 3

--- -wx-wx

6 4 4

rw-r--r--

3.4 权限字符含义

文件文件 : r read 读取文件内容(cat tac more less tail grep)

w write 编辑文件内容(vim > cat <<EOF >file)

x excute 解释运行文件的内容(命令文件)

目录文件 r is

w

x cd (r-x)(rwx)

3.5linux中文件权限匹配方式

可执行文件进程的所属身份是发起者身份,

判断进程发起者身份是否是目标文件的所属用户,是,匹配目标文件所属用户的权限;

不是,判断进程发起者身份是否是目标文件的所属用户,是,匹配目标文件组权限,

不是则直接匹配目标文件其他用户的权限;

3.6更改文件的权限

chmod 权限 文件名

chmod o+权限 文件名 (组成员外其他用户)

chmod g+权限 文件名 (组成员)

[root@www ~]# chmod +x d1
[root@www ~]# ll d1
-rwxr-xr-x. 1 root root 0 Dec  3 15:03 d1

chmod   ugo=rwx            FILE1         //   u    user   a    group   o   other  a all
chmod  a=rwx   FILE1
chmod -x  FILE1
chmod   u=rwx,g+w,o-r    file   
chmod  777 DIRNAME
chmod  7  DIRNAME  == chmod  007 DIRNAME
​
​
chmod  u=7  FILENAME  --错误
注:普通用户修改权限,用户只能更改属于当前用户文件的权限
​
chown   更改文件所属用户
[root@www ~]# ll d1
-rwxr-xr-x. 1 root root 0 Dec  3 15:03 d1
[root@www ~]# chown baiyiwei d1
[root@www ~]# ll d1
-rwxr-xr-x. 1 baiyiwei root 0 Dec  3 15:03 
​
chown   用户名  FILE ...
chown   用户名:组名   FILE...
例[root@www ~]# chown zhangsan:zhangsan  /var/tmp/fstab(/var/tmp/fstab的拥有者是zhangsan所属组是zhangsan)
​
chgrp   更改文件所属组
chgrp   组名   FILE...

[root@www ~]# chmod o+x /root

[root@www ~]# chmod o+w /root

[root@www ~]# chmod o+r /root

如果没有执行权限(x)可能无法显示文件具体信息

有执行权限(x)

[root@www ~]# chmod o+x /root 
[root@www ~]# chmod o+w /root
[root@www ~]# chmod o+r /root
[root@www ~]# su baiyiwei
[baiyiwei@www root]$ ll /root
total 16
-rw-r--r--. 1 root root    0 Nov 21 21:08 aaaa
-rw-------. 1 root root 1276 Nov 19 12:30 anaconda-ks.cfg
-rwxr-xr-x. 1 root root    0 Dec  3 15:03 d1
drwxr-xr-x. 2 root root    6 Nov 23 20:06 dd{1...3}
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Desktop
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Documents
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Downloads
-rw-r--r--. 1 root root    0 Nov 23 18:48 file
-rw-r--r--. 1 root root 1613 Nov 19 14:11 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 Nov 23 18:35 mak.lnk
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Music
drwxr-xr-x. 3 root root   17 Nov 23 20:26 newd1
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Pictures
drwxr-xr-x. 2 root root 4096 Nov 24 00:39 pub
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Public
drwxr-xr-x. 2 root root    6 Nov 23 22:37 susroot}
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Templates
drwxr-xr-x. 3 root root 4096 Nov 24 00:39 test
drwxr-xr-x. 2 root root    6 Nov 19 17:06 Videos
drwxr-xr-x. 2 root root    6 Nov 21 22:05 wsx
[baiyiwei@www root]$ 


无执行权限

[root@www ~]# chmod o-x /root
[root@www ~]# su baiyiwei
[baiyiwei@www root]$ ll /root
ls: cannot access '/root/anaconda-ks.cfg': Permission denied
ls: cannot access '/root/initial-setup-ks.cfg': Permission denied
ls: cannot access '/root/Desktop': Permission denied
ls: cannot access '/root/Downloads': Permission denied
ls: cannot access '/root/Templates': Permission denied
ls: cannot access '/root/Public': Permission denied
ls: cannot access '/root/Documents': Permission denied
ls: cannot access '/root/Music': Permission denied
ls: cannot access '/root/Pictures': Permission denied
ls: cannot access '/root/Videos': Permission denied
ls: cannot access '/root/aaaa': Permission denied
ls: cannot access '/root/wsx': Permission denied
ls: cannot access '/root/mak.lnk': Permission denied
ls: cannot access '/root/file': Permission denied
ls: cannot access '/root/dd{1...3}': Permission denied
ls: cannot access '/root/newd1': Permission denied
ls: cannot access '/root/susroot}': Permission denied
ls: cannot access '/root/test': Permission denied
ls: cannot access '/root/pub': Permission denied
ls: cannot access '/root/d1': Permission denied
total 0
-????????? ? ? ? ?            ? aaaa
-????????? ? ? ? ?            ? anaconda-ks.cfg
-????????? ? ? ? ?            ? d1
d????????? ? ? ? ?            ? dd{1...3}
d????????? ? ? ? ?            ? Desktop
d????????? ? ? ? ?            ? Documents
d????????? ? ? ? ?            ? Downloads
-????????? ? ? ? ?            ? file
-????????? ? ? ? ?            ? initial-setup-ks.cfg
d????????? ? ? ? ?            ? mak.lnk
d????????? ? ? ? ?            ? Music
d????????? ? ? ? ?            ? newd1
d????????? ? ? ? ?            ? Pictures
d????????? ? ? ? ?            ? pub
d????????? ? ? ? ?            ? Public
d????????? ? ? ? ?            ? susroot}
d????????? ? ? ? ?            ? Templates
d????????? ? ? ? ?            ? test
d????????? ? ? ? ?            ? Videos
d????????? ? ? ? ?            ? wsx
[baiyiwei@www root]$ 

 

拷贝文件/etc/fstab 到/var/tmp/fstab

配置文件/var/tmp/fstab 的权限 • 文件/var/tmp/fstab 的拥有者是 zhangsan文件/var/tmp/fstab 属于 zhangsan 组 • 文件/var/tmp/fstab 对任何用户不可执行 • 其他用户(当前和将来的)能对文件/var/tmp/fstab 进行读操作

#cp  /etc/fstab   /var/tmp
#useradd zhangsan
#chown zhangsan:zhangsan   /var/tmp/fstab
#chmod a-x /var/tmp/fstab
#chmod o+r /var/tmp/fstab

3.7特殊权限

umask 0022

chmod 4644 file

u+s=4 所属用户的禁锢位suid

仅对可执行文件(命令文件)设置有意义:可执行文件进程的所属身份是执行文件自身的身份
[root@www ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 33544 Dec 14  2019 /usr/bin/passwd
[baiyiwei@www root]$ passwd  //passwd进程的用户身份是root(是执行文件自身的身份)
修改当前用户的密码,更改的是/etc/shadow
​
[root@www ~]# ll /etc/shadow
----------. 1 root root 1727 Dec  3 16:12 /etc/shadow
为什么普通用户可以修改/etc/shadow的密码信息
原因是passwd进程的身份是root,作为root匹配目标文件可以忽略读写权限
​

g+s=2 所属组的禁锢位sgid

对可执行文件(命令文件)设置有意义: 可执行文件进程的所属组身份是执行文件自身的所属组身份 (应用不是很多)
[root@www pub]# ll /usr/bin/touch 
-rwxr-xr-x. 1 root root 96144 Jul 10  2021 /usr/bin/touch
[root@www pub]# chmod g+s /usr/bin/touch
[redhat@www pub]$ touch red2
[redhat@www pub]$ ll
-rw-rw-r--. 1 redhat root   0 Dec  3 16:13 red2
对目录文件设置有意义:在目录下任意用户创建的文件,文件的所属组都是当前目录的所属组
[root@www ~]# mkdir /test
[root@www ~]# chmod 777 /test
[redhat@www ~]$ cd /test
[redhat@www test]$ touch red1
[redhat@www test]$ ll
total 0
-rw-rw-r--. 1 redhat redhat 0 Dec  3 16:19 red1
[root@www ~]# chmod g+s /test                ----对/test 设置sgid
[root@www ~]# ll -d /test
drwxrwsrwx. 2 root root 18 Dec  3 16:19 /test
[redhat@www test]$ touch red2
[redhat@www test]$ ll
total 0
-rw-rw-r--. 1 redhat redhat 0 Dec  3 16:19 red1
-rw-rw-r--. 1 redhat root   0 Dec  3 16:20 red2  ---创建文件的所属组取决于/test目录的所属组

o+t=1 sticky 冒险位

仅对目录文件设置有意义:
o+t在该目录下,用户只能删除自己的文件不能删除别人的文件
注(目录文件对当前用户如果没有写权限,对目录文件只有有写权限,用户可以删除任意用户创建的文件)

3.8扩展权限

./+ .表示没有扩展权限 , +有扩展权限

查看文件的权限列表:getfacl FILENAME

getfacl 文件名

[root@www ~]# getfacl d4
​
# file: d4  文件名
​
# owner: root 所属用户名
​
# group: root所属组名
​
# flags: s--
​
user::rwx
group::r--
other::r--
​
​

设置扩展权限列表:setfacl -m u:用户名:权限 FILENAME

setfacl -m g:组名:权限 FILENAME

删除扩展权限列表:setfacl -x u:用户名: FILENAME

清空扩展列表 : setfacl -b FILENAME

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值