Linux账号与权限管理

管理用户账号

用户账号

主要包括超级用户、普通用户和程序用户

超级用户:root

​ 对本机拥有最高的管理权限,只有当进行系统管理、维护任务时,才建议使用root登录系统。

普通用户:需由root或其他管理员用户创建

​ 权限受到一定的限制,一般只在用户自己的宿主目录中拥有完整权限。

程序用户:在安装Linux系统及部分应用程序时添加的低权限用户

​ 一般不允许登录到系统,仅用于维护系统或某个程序的正常运行。

UID号

用于用户的身份标记,原则上每个用户的UID是唯一的。

用户账户文件

用户的账号、密码等信息均保存在对应的配置文件中,直接修改文件可对用户账号进行管理。

主要包括:/etc/passwd和/etc/shadow

[root@localhost ~]# head -3 /etc/passwd   //查看/etc/passwd前三行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

passwd文件的每一行内容中包含了七个用“:”分割的配置字段:

  • 第1字段:账号名称
  • 第2字段:经过加密的用户密码
  • 第3字段:UID
  • 第4字段:GID
  • 第5字段:用户全名
  • 第6字段:宿主目录,即用户默认工作目录
  • 第7字段:登录shell等信息
[root@localhost ~]# head -3 /etc/shadow       //查看/etc/shadow前三行
root:$6$2blL5fn1ANXM/V9p$D5uB7RkzCaB.FP.72rCaFqt/8a9E2h0uTyjyGaSi5xL25HeQwqrc0f7Bu7DhyIFAsGXZVx/fBRAGsWxtcPYRL0::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::

shadow文件的每一行内容包含了九个用“:“分割的配置字段:

  • 第1字段:用户名称
  • 第2字段:MD5加密的密码,当为”*“或”!!“时表示此用户不能登录到系统。
  • 第3字段:上次修改密码的时间止至今的相隔天数
  • 第4字段:密码的最短有效天数
  • 第5字段:密码的最长有效天数
  • 第6字段:提前多少天警告用户口令将过期
  • 第7字段:密码过期多少天后禁用此用户
  • 第8字段:账号失效时间
  • 第9字段:保留字段,目前没有特定用途

useradd命令

用于添加用户

useradd [选项] username

  • -u:指定UID
  • -d:指定家目录
  • -e:指定账户失效时间
  • -M:不建立家目录
  • -s:指定用户登录的shell
[root@localhost ~]# useradd -d /home/linuxuser1 -s /sbin/nologin linuxuser1  //创建linuxuser1用户,家目录为/home/linuxuser1,shell为nologin
[root@localhost ~]# tail -1 /etc/passwd
linuxuser1:x:1000:1000::/home/linuxuser1:/sbin/nologin
[root@localhost ~]# tail -1 /etc/shadow
linuxuser1:!!:18201:0:99999:7:::
[root@localhost ~]# cd /home/linuxuser1/
[root@localhost linuxuser1]# ls -al
total 12
drwx------. 2 linuxuser1 linuxuser1  62 Nov  1 10:24 .
drwxr-xr-x. 3 root       root        24 Nov  1 10:24 ..
-rw-r--r--. 1 linuxuser1 linuxuser1  18 Oct 30  2018 .bash_logout
-rw-r--r--. 1 linuxuser1 linuxuser1 193 Oct 30  2018 .bash_profile
-rw-r--r--. 1 linuxuser1 linuxuser1 231 Oct 30  2018 .bashrc

在家目录中的隐藏文件.bash_logout、.bash_profile、.bashrc都是用户账号的初始配置文件,.bash_profile中的命令将在用户每次登录时执行;.bashrc中的命令会在每次加载/bin/bash程序时执行;.bash_logout中的命令将在用户退出登录时执行。

passwd命令

用于为用户修改密码,root用户有权管理其他账户的密码,普通用户只能修改自己的密码。

用法:passwd username

  • -d:清空指定用户的密码
  • -l:锁定用户账户
  • -S:查看账户的状态
  • -u:解锁用户账户
[root@localhost linuxuser1]# passwd linuxuser1  //修改linuxuser1密码
Changing password for user linuxuser1.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully. 
[root@localhost linuxuser1]# passwd -l linuxuser1  //锁定linuxuser1
Locking password for user linuxuser1.
passwd: Success
[root@localhost linuxuser1]# passwd -S linuxuser1  //查看状态
linuxuser1 LK 2019-10-31 0 99999 7 -1 (Password locked.)
[root@localhost linuxuser1]# passwd -u linuxuser1  //解锁linuxuser1
Unlocking password for user linuxuser1.
passwd: Success
[root@localhost linuxuser1]# passwd -S linuxuser1
linuxuser1 PS 2019-10-31 0 99999 7 -1 (Password set, SHA512 crypt.)

usermod命令

用于修改用户账号属性。

  • -u:修改UID
  • -d:修改用户家目录
  • -e:修改账户失效时间
  • -s:指定用户登录的shell
  • -l:更改用户账号的登录名称
  • -L:锁定用户
  • -U:解锁用户
[root@localhost linuxuser1]# usermod -L linuxuser1  //锁定用户
[root@localhost linuxuser1]# passwd -S linuxuser1
linuxuser1 LK 2019-10-31 0 99999 7 -1 (Password locked.)
[root@localhost linuxuser1]# usermod -U linuxuser1  //解锁用户
[root@localhost linuxuser1]# passwd -S linuxuser1
linuxuser1 PS 2019-10-31 0 99999 7 -1 (Password set, SHA512 crypt.)

userdel命令

用于删除用户。

[root@localhost ~]# ls /home/
linuxuser1
[root@localhost ~]# userdel -r linuxuser1   //-r参数删除用户家目录
[root@localhost ~]# ls /home/
[root@localhost ~]# 						//linuxuser1家目录已删除

管理组账号

组账号文件

有两个,分别是/etc/group和/etc/gshadow。

[root@localhost ~]# head -3 /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
[root@localhost ~]# head -3 /etc/gshadow
root:::
bin:::
daemon:::

groupadd命令

用于添加组账号,-g指定GID。

[root@localhost ~]# groupadd class1    //添加class1组
[root@localhost ~]# tail -1 /etc/group
class1:x:1000:

gpasswd命令

本来用于设置组账号的密码,但用得极少,更多地用来管理组账号的用户成员。

  • -a:添加用户
  • -d:删除用户
[root@localhost ~]# useradd amy			//新增amy用户
[root@localhost ~]# gpasswd -a amy class1	//amy用户添加到组class1
Adding user amy to group class1
[root@localhost ~]# groups amy
amy : amy class1

groupdel命令

用于删除组账号。

[root@localhost ~]# groupdel class1
[root@localhost ~]# grep 'class1'  /etc/group //在/etc/group文件中查找‘class1’
[root@localhost ~]# 

查询账号信息

id命令

用于查询用户的UID、GID等标识信息。

[root@localhost ~]# id amy
uid=1000(amy) gid=1001(amy) groups=1001(amy)

groups命令

用于查看用户属于哪些组。

[root@localhost ~]# groups amy
amy : amy
[root@localhost ~]# groups root
root : root

finger命令

用于查询用户的登录属性等信息,包括登录名称、完整名称、宿主目录、登录shell等。

[root@localhost ~]# finger root
Login: root           			Name: root
Directory: /root                    	Shell: /bin/bash
On since Fri Nov  1 09:53 (EDT) on pts/0 from 192.168.218.1
   1 second idle
No mail.
No Plan.
[root@localhost ~]# finger amy
Login: amy            			Name: 
Directory: /home/amy                	Shell: /bin/bash
Never logged in.
No mail.
No Plan.

w命令

用于查询当前主机用户的登录情况,列出登录账户名称、所在终端、登录时间、来源地点等信息。

[root@localhost ~]# w
 11:03:24 up  1:15,  1 user,  load average: 0.04, 0.04, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.218.1    09:53    4.00s  0.24s  0.01s w

文件的权限及归属

在Linux系统中文件有着两个属性:”权限”和“归属”。

访问权限包括:读取、写入、可执行

归属包括:属主、属组

查看文件的权限以及归属

[root@localhost ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 883 Nov  1 10:53 /etc/passwd

ls命令的输出信息中,第三、四字段的数据分别表示文件的属主、属组,第一字段表示文件的访问权限。

权限字段:

  • 第1个字符:表示该文件类型,d是目录,b是块设备文件,c是字符设备文件,“-”是普通文件,l是链接文件
  • 第2-4个字符:属主用户的权限
  • 第5-7个字符:属组内用户的权限
  • 第8-10个字符:其他任何用户的权限
  • 第11个字符:与selinux有关

chmod命令

用于设置文件权限,有两种形式:字符形式和数字形式。

数字形式:

​ r -> 4 w -> 2 x -> 1

​ 采用累加数字形式读写权限为“6=4+2->r+w”,故权限可以用777、664这样的数字表示,第一个数字就是属主的权限,第二个数字就是属组的权限,第三个数字就是其他用户的权限。

[root@localhost ~]# cd /home/amy/
[root@localhost amy]# touch 1.txt
[root@localhost amy]# ls -l 
total 0
-rw-r--r--. 1 root root 0 Nov  1 11:28 1.txt
[root@localhost amy]# chmod 744 1.txt    //为属主添加执行权限
[root@localhost amy]# ls -l 
total 0
-rwxr--r--. 1 root root 0 Nov  1 11:28 1.txt

chown命令

用于设置文件归属,可以只设置属主或属组,也可以同时设置。

命令格式:

chown 属主 [:[属组]] 文件…

目录的权限及归属

与Linux系统的文件属性相同,目录也有两个属性:权限和归属。文件的访问权限主要针对的是文件内容,访问权限则是针对目录的内容。

目录的归属也分为属主和属组,分别拥有该目的用户账号和组账号。

chmod命令设置目录权限,用法与设置文件权限相同

[root@localhost home]# mkdir abc
[root@localhost home]# ls -al 
total 0
drwxr-xr-x.  4 root root  28 Nov  1 20:25 .
dr-xr-xr-x. 17 root root 224 Oct 30 07:19 ..
drwxr-xr-x.  2 root root   6 Nov  1 20:25 abc
drwx------.  2 amy  amy   75 Nov  1 11:28 amy

chown命令设置目录属性,用法与设置文件权限相同

[root@localhost home]# ls -al
total 0
drwxr-xr-x.  4 root root  28 Nov  1 20:25 .
dr-xr-xr-x. 17 root root 224 Oct 30 07:19 ..
drwxr-xr-x.  2 root root   6 Nov  1 20:25 abc
drwx------.  2 amy  amy   75 Nov  1 11:28 amy
[root@localhost home]# chown amy abc   //修改abc文件夹的属主
[root@localhost home]# ls -al
total 0
drwxr-xr-x.  4 root root  28 Nov  1 20:25 .
dr-xr-xr-x. 17 root root 224 Oct 30 07:19 ..
drwxr-xr-x.  2 amy  root   6 Nov  1 20:25 abc
drwx------.  2 amy  amy   75 Nov  1 11:28 amy

30 07:19 …
drwxr-xr-x. 2 root root 6 Nov 1 20:25 abc
drwx------. 2 amy amy 75 Nov 1 11:28 amy
[root@localhost home]# chown amy abc //修改abc文件夹的属主
[root@localhost home]# ls -al
total 0
drwxr-xr-x. 4 root root 28 Nov 1 20:25 .
dr-xr-xr-x. 17 root root 224 Oct 30 07:19 …
drwxr-xr-x. 2 amy root 6 Nov 1 20:25 abc
drwx------. 2 amy amy 75 Nov 1 11:28 amy


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值