linux 用户和组权限

1.修改文件属主和属组的命令chown

chown命令只有管理员可以使用:change owner)命令用于设置文件所有者和文件关联组的命令。
#chown USERNAME file,…
#chown USERNAME:GROUPNAME file,…
#chown USERNAME.GROUPNAME file,…
-R : 处理指定目录以及其子目录下的所有文件

[root@localhost ~]# ll
total 4
-rw-r--r--. 1 root root    0 Nov  5 22:39 abc
-rw-------. 1 root root 1175 Sep  8 19:41 anaconda-ks.cfg
[root@localhost ~]# chown lgl10  abc
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 lgl10 root    0 Nov  5 22:39 abc
-rw-------. 1 root  root 1175 Sep  8 19:41 anaconda-ks.cfg
[root@localhost ~]# chown .lgl10 abc
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 lgl10 lgl10    0 Nov  5 22:39 abc
-rw-------. 1 root  root  1175 Sep  8 19:41 anaconda-ks.cfg

2.遮罩码

root用户创建的文件默认权限是 644, 即属主:读、写;属组:只读;其他:只读;
目录的默认权限是755,即属主:读、写和执行;属组:读和执行;其他:读和执行;
文件最终的权限为:
666-umask
目录最终的权限为:
777-umask
文件默认是不能具有执行权限

[root@localhost ~]# touch def
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 lgl10 lgl10    0 Nov  5 22:39 abc
-rw-------. 1 root  root  1175 Sep  8 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root  root     0 Nov  5 22:44 def
[root@localhost ~]# mkdir hehe
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 lgl10 lgl10    0 Nov  5 22:39 abc
-rw-------. 1 root  root  1175 Sep  8 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root  root     0 Nov  5 22:44 def
drwxr-xr-x. 2 root  root     6 Nov  5 22:45 hehe
[root@localhost ~]# umask ---root 用户的遮罩码
0022
[qn@localhost ~]$umask ---普通用户的遮罩码
0002
[root@localhost ~]# umask  033
[root@localhost ~]# mkdir xixi
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 lgl10 lgl10    0 Nov  5 22:39 abc
-rw-------. 1 root  root  1175 Sep  8 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root  root     0 Nov  5 22:44 def
drwxr-xr-x. 2 root  root     6 Nov  5 22:45 hehe
drwxr--r--. 2 root  root     6 Nov  5 22:51 xixi

3.特殊权限

SUID 是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属 主的权限
chmod u+s file
chmod u-s file
如果file本身原来就有执行权限,则SUID显示为s,否则显示为S

[root@localhost ~]# chmod u+s abc
[root@localhost ~]# ll
total 4
-rwSr--r--. 1 lgl10 lgl10    0 Nov  5 22:39 abc
-rw-------. 1 root  root  1175 Sep  8 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root  root     0 Nov  5 22:44 def
drwxr-xr-x. 2 root  root     6 Nov  5 22:45 hehe
drwxr--r--. 2 root  root     6 Nov  5 22:51 xixi
[root@localhost ~]# chmod u-s abc
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 lgl10 lgl10    0 Nov  5 22:39 abc
-rw-------. 1 root  root  1175 Sep  8 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root  root     0 Nov  5 22:44 def
drwxr-xr-x. 2 root  root     6 Nov  5 22:45 hehe
drwxr--r--. 2 root  root     6 Nov  5 22:51 xixi

SGID的目录的属组
chmod g+s DIR
chmod g-s DIR
如果file本身原来就有执行权限,则SGID显示为s,否则显示为S

[root@localhost ~]# ll /usr/bin/vi
-rwxr-xr-x. 1 655 root 1416744 Jul 23  2019 /usr/bin/vi
[root@localhost ~]# chmod 655 /usr/bin/vi
[root@localhost ~]# ll /usr/bin/vi
-rw-r-xr-x. 1 655 root 1416744 Jul 23  2019 /usr/bin/vi
[root@localhost ~]# chmod g+s def
[root@localhost ~]# ll def
-rw-r-Sr--. 1 root  root     0 Nov  5 22:44 def
[root@localhost ~]# chmod g-s def
[root@localhost ~]# ll
-rw-r--r--. 1 root  root     0 Nov  5 22:44 def

Sticky(1) #在一个公共目录,每个人都能创建文件,删除自己的文件,但是不能删除别人创建的文件
chmod o+t DIR
chmod o-t DIR
#果DIR本身原来就有执行权限,则Sticky显示为t,否则显示为T

4755 #UID,文件权限为755
2755 #有SGID,文件权限为755
1755 #有Sticky,文件权限为755
这里前面的4、2、1分别表示SUID、SGID、Sticky

4.文件系统访问控制列表facl

facl作用:
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
命令:setfacl

语法格式

setfacl [options] [user:perm|group:perm] FILE

常用选项:
-m:授权
u:指定用户
g:指定组

[root@localhost ~]# su - lgl10
[lgl10@localhost ~]$ cd /123
[lgl10@localhost 123]$ ll
total 0
[lgl10@localhost 123]$ pwd
/123
[lgl10@localhost 123]$ rm -f 123
[lgl10@localhost 123]$ ll
total 0

[lgl10@localhost tmp]$ getfacl abc
#file: abc
#owner: root
#group: root
user::rw-
user:lgl10:rw-
group::r--
mask::rw-
other::r--

5.sudo

权限委派
经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

语法
-V 显示版本编号
-h 会显示版本编号及指令的使用方式说明
-l 显示出自己(执行 sudo 的使用者)的权限
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b 将要执行的指令放在背景执行
-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

[root@localhost ~]# visudo

##Sudoers allows particular users to run various commands as
##the root user, without needing the root password.
##
##Examples are provided at the bottom of the file for collections
##of related commands, which can then be delegated out to particular
##users or groups.
##
##This file must be edited with the 'visudo' command.

#Host Aliases
#Groups of machines. You may prefer to use hostnames (perhaps using
#wildcards for entire domains) or IP addresses instead.
#Host_Alias     FILESERVERS = fs1, fs2
#Host_Alias     MAILSERVERS = smtp, smtp2

##User Aliases
##These aren't often necessary, as you can use regular groups
##(ie, from files, LDAP, NIS, etc) in this file - just use %groupname
##rather than USERALIAS
#User_Alias ADMINS = jsmith, mikem


##Command Aliases
"/etc/sudoers.tmp" 120L, 4328C
##The COMMANDS section may have other options added to it.
##
##Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

6.管理命令

w #当前登录到系统的用户有哪些,以及其正在做什么

[root@localhost ~]# w
 01:00:45 up 30 min,  2 users,  load average: 0.00, 0.00, 0.04
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                00:31   29:16   0.01s  0.01s -bash
root     pts/0    192.168.110.1    00:31    2.00s  0.03s  0.02s 

sleep #睡眠,写脚本为防止上一个命令没执行完下一命令就开始执行时可以加上sleep #
//表示停顿#秒后再执行后面的命令
sleep
s:秒,默认
m:分
h:小时
d:天
last #显示/var/log/wtmp文件,显示用户登录历史及系统重启历史
-n # //显示最近#次的相关信息
lastb //显示/var/log/btmp文件,显示用户错误的登录尝试
-n # //显示最近#次的相关信息
lastlog //显示每个用户最近一次成功登录信息
-u username //显示特定用户最近的登录信息
basename //显示路径基名

[root@localhost ~]# sleep 6 
[root@localhost ~]# sleep 6m
[root@localhost ~]# sleep 6h
[root@localhost ~]# sleep 6d

[root@localhost ~]# last
root     pts/1        192.168.110.1    Fri Nov  6 01:02   still logged in
root     pts/0        192.168.110.1    Fri Nov  6 00:31   still logged in
root     tty1                          Fri Nov  6 00:31   still logged in
reboot   system boot  4.18.0-193.el8.x Fri Nov  6 00:30   still running
root     pts/1        192.168.110.1    Thu Nov  5 23:12 - 00:28  (01:16)
root     pts/0        192.168.110.1    Thu Nov  5 22:06 - 00:28  (02:22)
root     tty1                          Thu Nov  5 22:06 - 00:28  (02:22)
reboot   system boot  4.18.0-193.el8.x Thu Nov  5 22:05 - 00:28  (02:23)
root     tty1                          Tue Sep  8 20:59 - 20:59  (00:00)
reboot   system boot  4.18.0-193.el8.x Tue Sep  8 20:58 - 20:59  (00:00)
root     tty1                          Tue Sep  8 19:45 - 19:47  (00:02)
reboot   system boot  4.18.0-193.el8.x Tue Sep  8 19:44 - 19:47  (00:03)

wtmp begins Tue Sep  8 19:44:40 2020
[root@localhost ~]# last -n 2
root     pts/1        192.168.110.1    Fri Nov  6 01:02   still logged in
root     pts/0        192.168.110.1    Fri Nov  6 00:31   still logged in

wtmp begins Tue Sep  8 19:44:40 2020
[root@localhost ~]# last -2
root     pts/1        192.168.110.1    Fri Nov  6 01:02   still logged in
[root@localhost ~]# lastb
root     pts/1                         Thu Nov  5 23:21 - 23:21  (00:00)
lgl10    ssh:notty    192.168.110.1    Thu Nov  5 23:12 - 23:12  (00:00)
lgl10    ssh:notty    192.168.110.1    Thu Nov  5 23:12 - 23:12  (00:00)

btmp begins Thu Nov  5 23:12:08 2020
[root@localhost ~]# lastb -1
root     pts/1                         Thu Nov  5 23:21 - 23:21  (00:00)

btmp begins Thu Nov  5 23:12:08 2020
[root@localhost ~]# lastlog
Username         Port     From             Latest
root             pts/1    192.168.110.1    Fri Nov  6 01:02:09 +0800 2020
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
shutdown                                   **Never logged in**
halt                                       **Never logged in**
mail                                       **Never logged in**
operator                                   **Never logged in**
games                                      **Never logged in**
ftp                                        **Never logged in**
nobody                                     **Never logged in**
dbus                                       **Never logged in**
systemd-coredump                           **Never logged in**
systemd-resolve                            **Never logged in**
tss                                        **Never logged in**
polkitd                                    **Never logged in**
unbound                                    **Never logged in**
sssd                                       **Never logged in**
sshd                                       **Never logged in**
rngd                                       **Never logged in**
lgl10            pts/1                     Thu Nov  5 23:27:43 +0800 2020
root     pts/0        192.168.110.1    Fri Nov  6 00:31   still logged in

wtmp begins Tue Sep  8 19:44:40 2020

[root@localhost ~]# lastlog -u root
Username         Port     From             Latest
root             pts/1    192.168.110.1    Fri Nov  6 01:02:09 +0800 2020
[root@localhost ~]# tty
/dev/pts/0

[root@localhost ~]# ps -elf| head
F S UID          PID    PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root           1       0  0  80   0 - 44756 do_epo 19:11 ?        00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
1 S root           2       0  0  80   0 -     0 -      19:11 ?        00:00:00 [kthreadd]
1 I root           3       2  0  60 -20 -     0 -      19:11 ?        00:00:00 [rcu_gp]
1 I root           4       2  0  60 -20 -     0 -      19:11 ?        00:00:00 [rcu_par_gp]
1 I root           6       2  0  60 -20 -     0 -      19:11 ?        00:00:00 [kworker/0:0H-kblockd]
1 I root           8       2  0  60 -20 -     0 -      19:11 ?        00:00:00 [mm_percpu_wq]
1 S root           9       2  0  80   0 -     0 -      19:11 ?        00:00:00 [ksoftirqd/0]
1 R root          10       2  0  80   0 -     0 -      19:11 ?        00:00:00 [rcu_sched]
1 S root          11       2  0 -40   - -     0 -      19:11 ?        00:00:00 [migration/0]
[root@localhost ~]# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.6 179024 13416 ?        Ss   19:11   0:02 /usr/lib/syst
root           2  0.0  0.0      0     0 ?        S    19:11   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   19:11   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   19:11   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   19:11   0:00 [kworker/0:0H
root           8  0.0  0.0      0     0 ?        I<   19:11   0:00 [mm_percpu_wq
root           9  0.0  0.0      0     0 ?        S    19:11   0:00 [ksoftirqd/0]
root          10  0.0  0.0      0     0 ?        R    19:11   0:00 [rcu_sched]
root          11  0.0  0.0      0     0 ?        S    19:11   0:00 [migration/0]
root          12  0.0  0.0      0     0 ?        S    19:11   0:00 [watchdog/0]
root          13  0.0  0.0      0     0 ?        S    19:11   0:00 [cpuhp/0]

过滤
[root@localhost ~]# ps -elf|grep vi
4 S root         896       1  0  80   0 - 21281 x64_sy 19:12 ?        00:00:00 /usr/bin/VGAuthService -s
0 R root        1389    1274  0  80   0 -  3027 -      20:19 pts/0    00:00:00 grep --color=auto vi

[root@localhost ~]# ps -ef |grep vi
root         896       1  0 19:12 ?        00:00:00 /usr/bin/VGAuthService -s
root        1392    1274  0 20:20 pts/0    00:00:00 grep --color=auto vi
[root@localhost ~]# ps -o pid,comm,ni
    PID COMMAND          NI
   1274 bash              0
   1393 ps                0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值