Linux用户及权限管理
在Linux系统里面,用户是系统使用者的身份。在企业里员工的人员的变动,以及级别的改动都会使系统中使用者的身份和权限发生改变。所以我们需要去理解用户的定义,如何去管理用户。有些文件需要或者功按企业的实际规定会对使用者有差别不对等的限制,就需要运维工作人员去处理。下面会详细介绍用户的定义及用户管理。
一、Linux用户文件
1./etc/passwd用户账号文件
使用vim 编辑器打开passw文件
[root@localhost ~]vim /etc/passwd
2./etc/shadow用户密码文件
操作:[root@localhost ~]vim /etc/shadow
二、Linux用户管理文件
1.添加新用户:
[root@localhost ~]useradd Bob
2.修改用户密码
[root@localhost ~]passwd Bob
修改用户的密码需要两次输入以进行确认。密码是保证系统安全的一个重要措施,在设置密码时,不要使用过于简单的密码。Linux中输入密码的时候,没有任何字符提示,这有别于Windows系统有“*”或其它符号提示。
3.删除用户:
userdel命令可删除用户,只有超级用户root才能使用此命令,例如要删除用户bob:
[root@localhost ~]userdel Bob //删除用户bob
[root@localhost ~]ls /home/ //查看home日录
[root@localhost ~]userdel -r Alice //删除Alice,同时删除其属主目录
[root@localhost ~]ls /home/ //查看home日录
4.切换用户:
[root@localhost ~]sudo -i -u username
用来切换到另一个用户的身份。
三、用户组文件
Linux用户组文件是/etc/group文件。/etc/group文件中每个组占用一行,每行有4个字段
各字段之间用“:”隔开,格式为:
组名:组密码:用户组标识(GID):组成员列表
组名:是用户组所在系统的标识。
组密码:用户组的密码,由于安全原因,相应内容已转到gshadow文件中,在此用“X
表示。一般不设组密码。
用户组标识(GID):组ID,在数字在系统内必须唯一
组成员列表:组内的成员,多个成员之间用“,”隔开。
1.添加用户组
groupadd,添加新用户组,其命令格式为:
groupadd 用户组名
并创建用户marry和jerry例如,创建一个新的用户组students,
[root@localhost ~]# groupadd students
[root@localhost ~]# useradd marry
root@localhost ~]# useradd jerry
2.修改组成员
gpasswd,修改组内成员,命令格式为:
gpasswd [选项]用户名 组名
例如,将用户mary、jerry添加到组student,命令如下:
root@192 ~]# groupadd student
[root@192 ~]# gpasswd -a bob student
Adding user bob to group student
root@,192 ~]# gpasswd -a marry student
Adding user marry to group student
3.将用户jerry从组student中删除,命令如下:
[root@localhost~]# gpasswd -d bob student //-d选项表示将用户从组内删除
[root@localhost~]# tail -3 /etc/group
四、权限管理
1.文件和目录权限:
使用 `ls -l` 命令查看文件或目录的权限。
访问权限规定了3种访问文件或目录的方式:读(r)、写(w)、执行(x)。u表示文件所有者、g表示同组用户、o表示其它用户、a表示所有用户,+表示增加权限、-表示减掉权限、=表示赋予权限。
chmod命令的格式为:
chmod [ugoa][+-=][rwxugo]文件名或目录
2.修改权限:
- 使用 `chmod` 命令来修改文件或目录的权限。
- 例如,`chmod u+x filename` 表示给文件所有者(u,即用户)添加执行权限。
//对sd文件的文件所有者添加执行权限
root@localhost ~]# chmod u+x sd
root@localhost ~]# chmod o-rw sd //对others赋予文件读写的权限
//需要对u、g、o一次性进行权限设置,可将其用“,”隔开
[root@localhost ~]# chmod u=rwx,g=u,o=r sd //对文件所有者赋予rwx权限,对文件所有者同组用户赋予文件所有者相同权限,对于其他用户赋予权限
3.数字表示法修改权限
如果文件sd的权限是“rw-r--r-”,分别表示了u、g、o三类用户的权限。其中所有者权限是“rw-”,同组用户的权限是“…-””,其它用户的权限是“--”。我们将rwx看成二进制数,如果有则用1表示,没有则用0表示,那么“rw-r--r--”则可以表示成为:“110 100 100”。这一串二进制数中每三位数一组,共三组,分别表示了三类用户的权限。将二进制串每三位一组转化为八进制数,就得到“644”。那么文件sd的权限用数字形式表示就是644。方法二:对于rwx用户权限,r可以表示成4,w可以表示成2,x可以表示成1,那么对于文件sd权限rw-r----;文件所有者的权限是4+2=6,同组用户的权限是4,其他用户的权限是4,这样我们也可以得到“644”。
要修改文件sd的权限为“rw- rw-r--”,即将文件权限设置为664,则可以用如下命令来修改:
root@localhost ~# chmod 664 sd
Linux系统中,文件的默认最高权限666,目录的默认最高权限777。
4.所有者和所属组:
每个文件和目录都有所有者和所属组。
`chown` 命令用于修改文件或目录的所有者,`chgrp` 命令用于修改所属组。
五、特权用户
1.超级用户(root):
root 用户拥有系统的最高权限,可以执行任何操作。
在需要进行系统级别配置或安装软件时,可能需要使用 root 用户权限。
2.sudo:
允许普通用户以超级用户的权限执行特定命令。
添加用户到 `sudoers` 文件后,可以使用 `sudo` 命令获取临时的超级用户权限。
示例
创建用户:
sudo adduser alice
删除用户:
sudo deluser bob
修改文件权限:
chmod u+x script.sh
切换用户:
su - alice
通过理解和正确使用这些命令和概念,可以有效地管理Linux系统中的用户和权限,确保系统的安全性和完整性。