[root@SYL2 ~]# echo 'run123' | passwd --stdin buliangren //设密码
Changing password for user buliangren.
passwd: all authentication tokens updated successfully.
[root@SYL2 ~]# tail /etc/shadow
tom:$6$AWT07jr1LJ4NICve$b9mFSqRNEfsMQttsmF0weIqitnSygAAWhCWB1/JPOcoad3JvrFPlv9IyngBH6oOsn4khPA.8Ph60ZH7RhHhne/:19081:0:99999:7:::
timi:$6$Ol6bKJygBe/rSQAm$m.TyIj2FZT21oNwvlmS/xIxVKuoC6fkF8wAYdahBCBdW54AaZCuldyanQ.yZtqOWeXutpmMZb7UhWWyw9s/5y1:19081:0:99999:7:::
buliangren:$6$Ksm6sr6QFB1s.19J$zOuvZWyEg9QiPi/yVcc4RdPNW3XnVkbPLg29Y9kEnzwtMUU0LFLJ8KZOhniT2eKEEKQGmNZne9CtL92.Gm7tX.:19081:0:99999:7:::
[root@SYL2 ~]# usermod -L buliangren //锁定账号
[root@SYL2 ~]# tail /etc/shadow
buliangren:!$6$Ksm6sr6QFB1s.19J$zOuvZWyEg9QiPi/yVcc4RdPNW3XnVkbPLg29Y9kEnzwtMUU0LFLJ8KZOhniT2eKEEKQGmNZne9CtL92.Gm7tX.:19081:0:99999:7::: //密码前有个!
[root@SYL2 ~]# usermod -U buliangren //解锁账号
[root@SYL2 ~]# tail /etc/shadow
buliangren:$6$Ksm6sr6QFB1s.19J$zOuvZWyEg9QiPi/yVcc4RdPNW3XnVkbPLg29Y9kEnzwtMUU0LFLJ8KZOhniT2eKEEKQGmNZne9CtL92.Gm7tX.:19081:0:99999:7::: //密码前没有!代表解锁
r w x
4 2 1
权限 | 操作对象 | 说明 |
---|---|---|
r | 文件 | 读,可以使用类似cat等命令查看文件内容 |
w | 文件 | 写,可以编辑或删除此文件 |
x | 文件 | 执行,程序文件,脚本文件 |
r | 目录 | 可以对此目录执行ls以列出内部 |
w | 目录 | 可以在此目录中创建文件,也可删除此目录中的文件 |
x | 目录 | 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息必须有 |
进入管理员root写入一个文件
[root@SYL2 ~]# echo 'hello hello' > ~timi/abc
在timi用户查看
[timi@SYL2 ~]$ ll
total 4
-rw-r--r--. 1 root root 12 Mar 30 15:40 abc //可以看出abc的拥有者root可以读写,这个组可以读,timi这个用户只能读也能删(在timi家中)
[timi@SYL2 ~]$ cat abc
hello hello
[timi@SYL2 ~]$ rm -f abc
[timi@SYL2 ~]$ ll
total 0
设置权限,timi权限为空
[root@SYL2 ~]# chmod o= ~timi/abc
[root@SYL2 ~]#
[timi@SYL2 ~]$ ll
total 4
-rw-r-----. 1 root root 12 Mar 30 15:56 abc
[timi@SYL2 ~]$ cat abc //切换账号,不能读,只能删,在timi家中
cat: abc: Permission denied
[timi@SYL2 ~]$ rm -f abc
[timi@SYL2 ~]$ ll
total 0
[timi@SYL2 ~]$
创建在opt目录下,timi用户下时把权限改成r,timi没有删除和写看等权限,权限改为w,timi则没有看和删除。因为创建在目录下的文件属于root这个主和组中
[root@SYL2 ~]# echo 'hello hello' > /opt/abc
[root@SYL2 ~]#
[timi@SYL2 ~]$ cd /opt/
[timi@SYL2 opt]$ ll
total 4
-rw-r--r--. 1 root root 12 Mar 30 16:00 abc
[timi@SYL2 opt]$ cat abc
hello hello
[timi@SYL2 opt]$
[root@SYL2 ~]# chmod o= /opt/abc //权限为空
[root@SYL2 ~]#
[timi@SYL2 opt]$ ll
total 4
-rw-r-----. 1 root root 12 Mar 30 16:00 abc
[timi@SYL2 opt]$ cat abc
cat: abc: Permission denied
[timi@SYL2 opt]$ rm -f abc
rm: cannot remove 'abc': Permission denied
[timi@SYL2 opt]$ ls
abc
[timi@SYL2 opt]$
[root@SYL2 ~]# chmod o=w /opt/abc //权限能写
[root@SYL2 ~]# cat /opt/abc
hello hello
[timi@SYL2 opt]$ echo '666' >> abc
[timi@SYL2 opt]$ rm -f abc
rm: cannot remove 'abc': Permission denied
[timi@SYL2 opt]$
[root@SYL2 ~]# cat /opt/abc
hello hello
666
把脚本中的执行(x)权限给去除,管理员能用,普通用户用不了
[root@SYL2 ~]# ls /usr/bin/ls
/usr/bin/ls
[root@SYL2 ~]# ll /usr/bin/ls
-rwxr-xr-x. 1 root root 143224 Jul 14 2021 /usr/bin/ls
[root@SYL2 ~]# chmod o-x /usr/bin/ls //把其他用户执行权限给去掉
[root@SYL2 ~]# ll /usr/bin/ls
-rwxr-xr--. 1 root root 143224 Jul 14 2021 /usr/bin/ls
[timi@SYL2 opt]$ ll
-bash: /usr/bin/ls: Permission denied
[root@SYL2 ~]# chmod o+x /usr/bin/ls
[root@SYL2 ~]#
[timi@SYL2 opt]$ ll
total 4
-rw-r---w-. 1 root root 16 Mar 30 16:07 abc
[timi@SYL2 opt]$
目录没有执行(x)权限,timi进不去目录中
[timi@SYL2 opt]$ cd qqq/
-bash: cd: qqq/: Permission denied
[timi@SYL2 opt]$
[root@SYL2 ~]# ll /home/
[root@SYL2 ~]# cd /opt/
[root@SYL2 opt]# ls
abc
[root@SYL2 opt]# mkdir qqq //创建一个目录
[root@SYL2 opt]# ll
total 4
-rw-r---w-. 1 root root 16 Mar 30 16:07 abc
drwxr-xr-x. 2 root root 6 Mar 30 16:30 qqq
[root@SYL2 opt]# chmod o=r abc
[root@SYL2 opt]# mv abc qqq/ //把abc移到目录
[root@SYL2 opt]# chmod o=r qqq //设置目录权限只能读
[root@SYL2 opt]#
[timi@SYL2 opt]$ ll qqq/
total 4
-rw-r--r--. 1 root root 16 Mar 30 16:07 abc
[timi@SYL2 opt]$ ll qqq/
ls: cannot access 'qqq/abc': Permission denied
total 0
-????????? ? ? ? ? ? abc
[timi@SYL2 opt]$ ls qqq
ls: cannot access 'qqq/abc': Permission denied
abc
[timi@SYL2 opt]$
[root@SYL2 opt]# chmod o=w qqq //只有写的权限
[root@SYL2 opt]#
[timi@SYL2 opt]$ ll qqq //timi用户看不成,写不成,删不了
ls: cannot open directory 'qqq': Permission denied
[timi@SYL2 opt]$ echo '' >> qqq/999
-bash: qqq/999: Permission denied
[timi@SYL2 opt]$ rm -f qqq/999
rm: cannot remove 'qqq/999': Permission denied
[timi@SYL2 opt]$ ls qqq/
ls: cannot open directory 'qqq/': Permission denied
[timi@SYL2 opt]$
跟执行(x)权限配合
[timi@SYL2 opt]$ cd qqq/
[timi@SYL2 qqq]$
读权限
[root@SYL2 opt]# ll
total 0
drwxr-xr-x. 4 root root 26 Mar 30 16:45 liyun
drwxr-x-w-. 2 root root 17 Mar 30 16:32 qqq
[root@SYL2 opt]# chmod o=rx qqq //设置能读能执行
[root@SYL2 opt]# ll
total 0
drwxr-xr-x. 4 root root 26 Mar 30 16:45 liyun
drwxr-xr-x. 2 root root 17 Mar 30 16:32 qqq
[root@SYL2 opt]#
[timi@SYL2 opt]$ ll qqq
total 4
-rw-r--r--. 1 root root 16 Mar 30 16:07 abc
[timi@SYL2 opt]$ ls qqq/
abc
[timi@SYL2 opt]$ cat qqq/abc
hello hello
666
[timi@SYL2 opt]$
[timi@SYL2 opt]$ ll qqq timi能读
total 4
-rw-r--r--. 1 root root 16 Mar 30 16:07 abc
[timi@SYL2 opt]$ ls qqq/
abc
[timi@SYL2 opt]$ cat qqq/abc
hello hello
666
写权限,能删除,能创建,不能修改
[root@SYL2 opt]# chmod o=wx qqq
[root@SYL2 opt]# ls
liyun qqq
[timi@SYL2 opt]$ ls /qqq
ls: cannot access '/qqq': No such file or directory
[timi@SYL2 opt]$ ls qqq/
ls: cannot open directory 'qqq/': Permission denied
[timi@SYL2 opt]$ echo '360' >> qqq/abc
-bash: qqq/abc: Permission denied
[timi@SYL2 opt]$ touch 555
touch: cannot touch '555': Permission denied
[timi@SYL2 opt]$ touch qqq/555
[timi@SYL2 opt]$ rm -f qqq/abc
[timi@SYL2 opt]$
[root@SYL2 opt]# ll qqq/
total 0
-rw-rw-r--. 1 timi timi 0 Mar 30 16:54 555
[root@SYL2 opt]#
例如文件拥有写的权限—662
[root@SYL2 opt]# cp -r qqq/555 . //移到到当前目录
[root@SYL2 opt]# ls
555 liyun qqq
[root@SYL2 opt]# chmod 660 555 //读写 读写 空
[root@SYL2 opt]# ll
total 0
-rw-rw----. 1 root root 0 Mar 30 17:02 555
drwxr-xr-x. 4 root root 26 Mar 30 16:45 liyun
drwxr-x-wx. 2 root root 17 Mar 30 16:55 qqq
[root@SYL2 opt]#
[timi@SYL2 opt]$ cat 555
cat: 555: Permission denied
[timi@SYL2 opt]$
[root@SYL2 opt]# chown timi liyun //改拥有者直接改
[root@SYL2 opt]# ll
total 0
-rw-rw----. 1 root root 0 Mar 30 17:02 555
drwxr-xr-x. 4 timi root 26 Mar 30 16:45 liyun
drwxr-x-wx. 2 root root 17 Mar 30 16:55 qqq
[root@SYL2 opt]# chown .timi liyun //改组前面加个点
[root@SYL2 opt]# ll
total 0
-rw-rw----. 1 root root 0 Mar 30 17:02 555
drwxr-xr-x. 4 timi timi 26 Mar 30 16:45 liyun
drwxr-x-wx. 2 root root 17 Mar 30 16:55 qqq
[root@SYL2 opt]# chown tom.timi liyun //两个都改用户.用户
[root@SYL2 opt]# ll
total 0
-rw-rw----. 1 root root 0 Mar 30 17:02 555
drwxr-xr-x. 4 tom timi 26 Mar 30 16:45 liyun
drwxr-x-wx. 2 root root 17 Mar 30 16:55 qqq
[root@SYL2 opt]#
加大R后面里面都改属性(主,组)
[root@SYL2 opt]# mkdir -p ddd/{ap,ao/{77,99}}
[root@SYL2 opt]# chown -R tom ddd
[root@SYL2 opt]# ll ddd/
total 0
drwxr-xr-x. 4 tom root 37 Mar 30 17:28 ao
drwxr-xr-x. 2 tom root 6 Mar 30 17:27 ap
[root@SYL2 opt]# ll ddd/ao/
total 0
drwxr-xr-x. 2 tom root 6 Mar 30 17:27 77
drwxr-xr-x. 2 tom root 6 Mar 30 17:27 99
-rw-r--r--. 1 tom root 0 Mar 30 17:28 jjj
[root@SYL2 opt]#
文件 666 最大权限
目录 777 最大权限
[root@SYL2 opt]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 30 17:42 abcd //文件 6 4 4
drwxr-xr-x. 4 tom root 26 Mar 30 17:27 ddd
drwxr-xr-x. 4 tom timi 26 Mar 30 16:45 liyun //目录 755
drw-rw-r-x. 2 tom root 17 Mar 30 16:55 qqq
[root@SYL2 opt]# umask
0022 //遮罩码 文件666-022=644 目录777-022=755
[root@SYL2 opt]#
改遮罩码之前的文件不变
[root@SYL2 opt]# umask 032
[root@SYL2 opt]# umask
0032
[root@SYL2 opt]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 30 17:42 abcd
drwxr-xr-x. 4 tom root 26 Mar 30 17:27 ddd
drwxr-xr-x. 4 tom timi 26 Mar 30 16:45 liyun
drw-rw-r-x. 2 tom root 17 Mar 30 16:55 qqq
[root@SYL2 opt]# rm -rf abcd ddd liyun qqq
[root@SYL2 opt]# touch abc
[root@SYL2 opt]# mkdir xingxing
[root@SYL2 opt]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 30 17:48 abc
drwxr--r-x. 2 root root 6 Mar 30 17:48 xingxing
[root@SYL2 opt]# umask
0032
[root@SYL2 opt]#
前提:进程有属主和属组;文件有属主和属组
任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有可执行权限;
启动为进程后,其进程的属主为发起者,属组为发起者所属的组
进程访问文件时的权限取决于进程的发起者:
用一个用户tom打开属于root账号的文件
进程的发起者是tom,文件的拥有者是root
SUID(4),s/S 运行程序时,这个程序启动的进程的属主是程序文件自身的属主,而不是启动者为属主 ,如果file本身原来就有执行权限,则SUID显示为s,否则显示为S
[root@SYL2 ~]# ll /usr/bin/sleep
-rwxr-xr-x. 1 root root 38296 Jul 14 2021 /usr/bin/sleep
[root@SYL2 ~]# ps -ef|grep sleep
titi 13585 13551 0 19:45 pts/1 00:00:00 sleep 5000
root 13587 1701 0 19:45 pts/2 00:00:00 grep --color=auto sleep
[root@SYL2 ~]#
[root@SYL2 opt]# ll /usr/bin/sleep
-rwxr-xr-x. 1 root root 38296 Jul 14 2021 /usr/bin/sleep
[root@SYL2 opt]# chmod 4755 /usr/bin/sleep //设置suid时file本身原来就有执行权限,则SUID显示为s
[root@SYL2 opt]# ll /usr/bin/sleep
-rwsr-xr-x. 1 root root 38296 Jul 14 2021 /usr/bin/sleep
[root@SYL2 ~]# ps -ef|grep sleep
root 43163 26767 0 19:24 pts/2 00:00:00 sleep 6000
[root@SYL2 opt]# chmod u-x /usr/bin/sleep
[root@SYL2 opt]# ll /usr/bin/sleep //变大写S
-rwSr-xr-x. 1 root root 38296 Jul 14 2021 /usr/bin/sleep
[root@SYL2 ~]# ps -ef|grep sleep
root 43163 26767 0 19:24 pts/2 00:00:00 sleep 6000
[root@SYL2 opt]#
[root@SYL2 opt]# chmod u+x /usr/bin/sleep
[root@SYL2 opt]# ll /usr/bin/sleep
-rwsr-xr-x. 1 root root 38296 Jul 14 2021 /usr/bin/sleep
[root@SYL2 opt]#
SGID(2), s/S 运行程序时,这个程序启动的进程的属组是程序文件自身的属组,而不是启动者所属的基本组
一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件或目录,其所属的组 ,为此设定了SGID的目录的属组
默认情况下创建的目录属于谁,里面所创建的文件就属于当前目录的基本组
[root@SYL2 ~]# mkdir ttt
[root@SYL2 ~]# ll
total 8
-rw-r--r--. 1 root root 88 Mar 1 19:16 1.1.txt
-rw-------. 1 root root 1092 Mar 1 17:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Mar 30 19:50 ttt
[root@SYL2 ~]# cd ttt
[root@SYL2 ttt]# touch 999
[root@SYL2 ttt]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 30 19:50 999
[root@SYL2 ttt]#
[root@SYL2 ~]# chown .timi abc
[root@SYL2 ~]# ll
total 8
-rw-r--r--. 1 root root 88 Mar 1 19:16 1.1.txt
drwxr-xr-x. 2 root timi 6 Mar 30 19:55 abc
-rw-------. 1 root root 1092 Mar 1 17:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root 17 Mar 30 19:50 ttt
[root@SYL2 ~]# cd abc
[root@SYL2 abc]# touch 789
[root@SYL2 abc]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 30 19:56 789
[root@SYL2 abc]#
设置sgid后会继承
[root@SYL2 ~]# chmod 2755 abc
[root@SYL2 ~]# ll
total 8
-rw-r--r--. 1 root root 88 Mar 1 19:16 1.1.txt
drwxr-sr-x. 2 root timi 17 Mar 30 19:56 abc
-rw-------. 1 root root 1092 Mar 1 17:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root 17 Mar 30 19:50 ttt
[root@SYL2 ~]# cd abc
[root@SYL2 abc]# touch 777
[root@SYL2 abc]# ll
total 0
-rw-r--r--. 1 root timi 0 Mar 30 19:59 777
-rw-r--r--. 1 root root 0 Mar 30 19:56 789
[root@SYL2 abc]#
Sticky(1), t/T 在一个公共目录,能自己创建文件,删除自己的文件,但是不能删除别人创建的文件,
[root@SYL2 ~]# mkdir /opt/tmmm
[root@SYL2 ~]# ll /opt/
total 0
drwxr-xr-x. 2 root root 6 Mar 30 20:08 tmmm
[root@SYL2 ~]# chmod 1777 /opt/tmmm
[root@SYL2 ~]# ll /opt/
total 0
drwxrwxrwt. 2 root root 6 Mar 30 20:08 tmmm
[root@SYL2 ~]#
[timi@SYL2 ~]$ cd /opt/tmmm/
[timi@SYL2 tmmm]$ touch abc
[timi@SYL2 tmmm]$ ll
total 0
-rw-rw-r--. 1 timi timi 0 Mar 30 20:10 abc
[timi@SYL2 tmmm]$
[tom@SYL2 ~]$ cd /opt/tmmm/
[tom@SYL2 tmmm]$ ls
abc
[tom@SYL2 tmmm]$ ll
total 0
-rw-rw-r--. 1 timi timi 0 Mar 30 20:10 abc
[tom@SYL2 tmmm]$ rm -f abc //删除不了别人创建的
rm: cannot remove 'abc': Operation not permitted
[tom@SYL2 tmmm]$ ls
abc
[tom@SYL2 tmmm]$ touch 999
[tom@SYL2 tmmm]$ rm -f 999 //自己的可以删,可以创建,覆盖
[tom@SYL2 tmmm]$
[timi@SYL2 tmmm]$ echo 'hghg' > abc //
[timi@SYL2 tmmm]$ cat abc
hghg
[timi@SYL2 tmmm]$ > abc
[timi@SYL2 tmmm]$ cat abc
[timi@SYL2 tmmm]$
4755 //有SUID,文件权限为755
2755 //有SGID,文件权限为755
1755 //有Sticky,文件权限为755
-rw- --- ---.
4 suid s/S 有显示小写s 在前三个权限的中间
2 sgid s/S s 在中间的权限的中间
1 sticky t/T t 在后三个权限的最后一个位置
设置timi目录中能读能写能执行
[root@SYL2 opt]# mkdir runun
[root@SYL2 opt]# ll
total 0
drwxr-xr-x. 2 root root 6 Mar 30 20:21 runun
drwxrwxrwx. 2 root root 17 Mar 30 20:12 tmmm
[root@SYL2 opt]# setfacl -m:timi:rwx runun
setfacl: Option -m: Invalid argument near character 2
[root@SYL2 opt]# setfacl -m u:timi:rwx runun
[root@SYL2 opt]#
[timi@SYL2 runun]$ touch 456
[timi@SYL2 runun]$
[tom@SYL2 runun]$ touch 899
touch: cannot touch '899': Permission denied
[tom@SYL2 runun]$ ll
total 0
-rw-rw-r--. 1 timi timi 0 Mar 30 20:23 456
[tom@SYL2 runun]$
设置Tom用户不能进入opt中
[root@SYL2 opt]# setfacl -m u:tom:--- runun
[root@SYL2 opt]#
[tom@SYL2 ~]$ ll /opt/runun/
ls: cannot open directory '/opt/runun/': Permission denied
[tom@SYL2 ~]$
查看文件/目录是否设置成功
[root@SYL2 opt]# getfacl runun
# file: runun
# owner: root
# group: root
user::rwx
user:tom:r--
user:timi:rwx
group::r-x
mask::rwx
other::r-x
[root@SYL2 opt]#
-x 取消
[root@SYL2 opt]# setfacl -x u:tom runun
[root@SYL2 opt]# ll
total 0
drwxrwxr-x+ 2 root root 17 Mar 30 20:23 runun
drwxrwxrwx. 2 root root 17 Mar 30 20:12 tmmm
[root@SYL2 opt]# getfacl runun
# file: runun
# owner: root
# group: root
user::rwx
user:timi:rwx
group::r-x
mask::rwx
other::r-x
[root@SYL2 opt]#
[tom@SYL2 ~]$ cd /opt/runun
-bash: cd: /opt/runun: Permission denied
[tom@SYL2 ~]$ cd /opt/runun
[tom@SYL2 runun]$
-b Remove all
[root@SYL2 opt]# setfacl -b runun
[root@SYL2 opt]# getfacl runun
# file: runun
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
[root@SYL2 opt]#
sudo的配置文件:/etc/sudoers
[root@SYL2 ~]# ll /etc/sudoers
-r--r-----. 1 root root 4328 Dec 12 13:04 /etc/sudoers
[root@SYL2 ~]#
1.1使用visudo命令进行sudo的配置,每一行就是一个sudo条目,条目格式如下:
2.1别名必须全部而且只能使用大写英文字母的组合,可以使用感叹号取反
别名分类:
用户别名:
主机别名:
Runas别名:
命令别名:
sudo命令语法:sudo [options] COMMAND
-V //显示版本编号
-h //会显示版本编号及指令的使用方式说明
-l //列出当前用户可以使用的所有sudo类命令
-v //因为sudo在第一次执行时或是在N分钟内没有执行(N默认为5)会问密码,这个参数 \
//是重新做一次确认,如果超过N分钟,也会问密码
-k //让认证信息失效,如果不指定-k,默认认证信息在5分钟后失效
-b //将要执行的指令放在后台执行
-u USERNAME //以指定的用户名执行命令,默认为root
编辑用户timi能创建用户
[root@SYL2 ~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
timi ALL=(ALL) /usr/sbin/useradd
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
[timi@SYL2 ~]$ sudo -l
[sudo] password for timi:
Matching Defaults entries for timi on SYL2:
!visiblepw, always_set_home, match_group_by_gid,
always_query_group_plugin, env_reset, env_keep="COLORS
DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS
LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION
LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET
XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User timi may run the following commands on SYL2:
(ALL) /usr/sbin/useradd
[timi@SYL2 ~]$ sudo useradd run111
[timi@SYL2 ~]$
[root@SYL2 ~]# visudo //编辑timi能创建和删除用户
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
timi ALL=(ALL) /usr/sbin/useradd, /usr/sbin/userdel
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
[timi@SYL2 ~]$ sudo userdel -r run111
[timi@SYL2 ~]$ id run111
id: ‘run111’: no such user
[timi@SYL2 ~]$
认证失效 sudo -k
[timi@SYL2 ~]$ sudo -k //把之前认证 失效
[timi@SYL2 ~]$ sudo -l
[sudo] password for timi: 不输入密码
Sorry, try again.
[sudo] password for timi:
Sorry, try again.
[sudo] password for timi:
sudo: 3 incorrect password attempts
[timi@SYL2 ~]$
[timi@SYL2 ~]$ sudo useradd run222
[sudo] password for timi:
Sorry, try again.
[sudo] password for timi: 创建还要输入密码
[timi@SYL2 ~]$ id run222
uid=1003(run222) gid=1003(run222) groups=1003(run222)
[timi@SYL2 ~]$
增加timi创建用户时不用登录密码
[root@SYL2 ~]# visudo
[root@SYL2 ~]#
root ALL=(ALL) ALL
timi ALL=(ALL) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
[timi@SYL2 ~]$ sudo useradd run333
[timi@SYL2 ~]$
[root@SYL2 ~]# sleep 20m;shutdown -h now //休息20分钟后关机
w //显示当前登录到系统的用户有哪些,以及其正在做什么
sleep 睡眠,写脚本为防止上一个命令没执行完下一命令就开始执行时可以加上sleep表示停顿#秒后再执行后面的命令
last 显示/var/log/wtmp文件,显示用户登录历史及系统重启历史
-n 显示最近#次的相关信息
lastb 显示/var/log/btmp文件,显示用户错误的登录尝试
-n 显示最近#次的相关信息
lastlog 显示每个用户最近一次成功登录信息
-u (username) 显示特定用户最近的登录信息
basename //显示路径基名
dirname //显示路径
显示用户登录历史及系统重启历史 last /-n 显示最近#次的相关信息
[root@SYL2 ~]# last -3 //显示最近3次的相关信息
root pts/7 192.168.232.1 Wed Mar 30 20:46 - 20:53 (00:07)
root pts/6 192.168.232.1 Wed Mar 30 20:46 - 20:53 (00:07)
root pts/7 192.168.232.1 Wed Mar 30 19:38 - 19:39 (00:00)
wtmp begins Tue Mar 1 17:09:01 2022
[root@SYL2 ~]# ll /var/log/btmp
-rw-rw----. 1 root utmp 6144 Mar 28 10:02 /var/log/btmp
[root@SYL2 ~]# file /var/log/btmp
/var/log/btmp: dBase III DBT, version number 0, next free block index 6
[root@SYL2 ~]# lastb //显示用户错误的登录尝试
root tty1 Mon Mar 28 10:02 - 10:02 (00:00)
tty1 Wed Mar 2 09:16 - 09:16 (00:00)
root tty1 Tue Mar 1 19:13 - 19:13 (00:00)
root tty1 Tue Mar 1 19:12 - 19:12 (00:00)
tty1 Tue Mar 1 19:12 - 19:12 (00:00)
tty1 Tue Mar 1 17:09 - 17:09 (00:00)
root tty1 Tue Mar 1 17:09 - 17:09 (00:00)
btmp begins Tue Mar 1 17:09:26 2022
[root@SYL2 ~]# lastlog //显示每个用户最近一次成功登录信息
Username Port From Latest
root pts/7 192.168.232.1 Wed Mar 30 20:46:02 +0800 2022
tom pts/4 Wed Mar 30 20:10:42 +0800 2022
timi pts/2 Wed Mar 30 19:21:28 +0800 2022
xing **Never logged in**
run222 **Never logged in**
run333 **Never logged in**
[root@SYL2 ~]#
显示路径基名 basename
[root@SYL2 ~]# basename /a/b/c/d/e // 显示路径基名
e
[root@SYL2 ~]# dirname /a/b/c/d/e
/a/b/c/d
[root@SYL2 ~]# a=/opt/software/wget-1.5.5.tar.bz2
[root@SYL2 ~]# basename $a
wget-1.5.5.tar.bz2
[root@SYL2 ~]# dirname $a //显示路径
/opt/software
[root@SYL2 ~]#
[root@SYL2 ~]# lastlog //显示每个用户最近一次成功登录信息
Username Port From Latest
root pts/7 192.168.232.1 Wed Mar 30 20:46:02 +0800 2022
tom pts/4 Wed Mar 30 20:10:42 +0800 2022
timi pts/2 Wed Mar 30 19:21:28 +0800 2022
xing **Never logged in**
run222 **Never logged in**
run333 **Never logged in**
[root@SYL2 ~]#
显示路径基名 basename
[root@SYL2 ~]# basename /a/b/c/d/e // 显示路径基名
e
[root@SYL2 ~]# dirname /a/b/c/d/e
/a/b/c/d
[root@SYL2 ~]# a=/opt/software/wget-1.5.5.tar.bz2
[root@SYL2 ~]# basename $a
wget-1.5.5.tar.bz2
[root@SYL2 ~]# dirname $a //显示路径
/opt/software
[root@SYL2 ~]#