一、用户基础操作
1.1用户基本概念
Linux用户分为三类
第一类:管理员
- uid=0用户
- 默认root的uid是0,所以root是管理员。
- 系统默认创建的
- 权限非常高,可以执行任意操作
第二类:系统用户
- uid是1-500
通常无法登录系统,而且也没有用户家目录 系统用户的作用是用来运行一个特定的程序第三类:普通用户:
- uid>500
- 普通用户都是在系统创建完成后,新创建的用户。
- 普通用户权限非常低,通常只能在自己的家目录下进行操作
家目录
家目录就是一个文件夹第一类:管理员就是root,root的家目录是/root第二类:系统用户没有家目录第三类:普通用户的家目录在/home,和用户同名的目录是家目录,例如tom的家目录 /home/tomjerry的家目录 /home/jerry
1.2 相关的配置文件
/etc/passwd/etc/shadow/etc/group/set/skel
/etc/passwd文件内容说明
[root@localhost bob]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/sync这个文件中,每行是一个用户每行信息都是用冒号分割的七段第一段:用户名第二段:密码或者密码占位符第三段:是用户的uid第四段:是用户的gid - gid就是用户所在的组的id第五段:是用户的描述信息 - 可以没有第六段:用户的家目录第七段:用户的shell类型 - shell类型决定用户是否可以登录系统可以登录系统的shell类型:/bin/bash 和 /bin/sh
/etc/shadow文件内容说明
文件中存储密码root:$6$okQwHhDlIacvHetw$QyPhGs8aTeY1d5oSoz5N0::0:99999:7:::bin:*:18353:0:99999:7:::daemon:*:18353:0:99999:7:::adm:*:18353:0:99999:7:::lp:*:18353:0:99999:7:::
/etc/group文件
记录用户组
1.3 相关命令
1.3.1 查看用户是否存在
[root@localhost bob]# id tomuid=0(root) gid=0(root) groups=0(root)[root@localhost bob]# id tom99id: tom99: no such user
1.3.2 新建用户
useradd [选项] 用户名-o:通常和-u一块使用,实现uid的复用-u X:指定用户的uid-g X:指定用户的gid-s /bin/bash:指定用户的shell类型-d /home/aaaa:指定用户的家目录-r:创建一个系统用户-M:不创建用户家目录
1.3.3 删除用户
userdel [选项] 用户名-r:删除用户的时候,将用户的家目录一块删除
1.3.4 修改密码
修改自己的密码
passwd
修改别人的密码【只有root可以修改别人的密码】
passwd 用户名
1.3.5 创建用户组
groupadd 用户组名
二、权限基础操作
2.1 权限基础概念
权限的类别
r(4):读权限w(2):写权限x(1):执行权限-(0):无任何权限
权限的对象
u:属主用户g:属组用户:o:其他用户:a:全部用户
控制权限
+:在原来的权限基础上,增加新的权限-:在原来的权限基础上,减掉某个授权=:直接设置最终权限
文件的权限可以通过 ls -l 进行查看
-rw-r--r--第一位:表示的是文件的类型-:表示这个文件是一般文件d:表示这个文件是目录文件第二位-第四位:表示的是文件的属主具有的权限第五位-第七位:表示的是文件的属组用户具有权限第八位-第十位:表示的是文件的其他用户具有权限
2.2 权限管理命令
chmod
修改权限
格式:chmod [选项] 权限 文件
选项:-R:递归修改目录和目录下的子文件的权限
例如:给属主用户去掉写权限
chmod u-w 文件名
用数值的方式表示文件的权限
-rw-r--r-- 644-r--rw-r-- 464--w-r--r-x 245-rw----r-- 604--w--w--w- 222-rwx-----x 701-rwxrwxrwx 777---------- 000
chown
修改文件的属主和属组
格式:chown [选项] 属主:属组 文件名
三、特殊权限
suid(4):任何用户执行程序的时候,都是以文件的属主的身份来运行sgid(2):任何用户执行程序的时候,都是以文件的属组的身份来运行sticky(1)
设置suid的方法:
chmod u+s 文件chmod u-s 文件
四、用户授权
方法1:su
方法2:sudo
su命令
可以实现用户身份的切换存在两个问题1:无法控制控制用户可以执行的命令2:会导致root泄露
sudo命令
sudo可以为用户进行授权,可以明确指定用户可以进行的操作有哪些
打开sudo的配置文件对用户进行授权
jerry ALL=(root) /sbin/useradd,/usr/bin/touch
jerry是用户名ALL=(root) 授权用户可以以root身份去执行命令/sbin/useradd 可以以root身份执行的命令列表
在普通用户的会话中可以查看授权信息,需要输入自己的密码,时效为5分钟。
sudo - l
普通用户使用授权进行操作的时候,必须前面加上sudo
sudo useradd tom
五、补充:手动生成密码
格式: openssl passwd -1 -salt 'suiji' 123
可以将这个生成的密码直接写在/etc/passwd中的密码占位符的位置就可以使用了
也可以在创建用户时这样使用
[root@zuiyoujie ~]# useradd aaa -p `openssl passwd -1 -salt 'suiji' aaa`[root@zuiyoujie ~]# useradd bbb -p $(openssl passwd -1 -salt 'suiji' bbb)
六、手动创建用户
1. /etc/passwd写一行2. 创建家目录 - 复制 /etc/skel - 修改目录的属主和属组3. /etc/shadow写一行4. /etc/group写一行