怎么创建账号:linux系统的过户
怎么对权限进行控制:r w x
linux一切以用户为标的
用户:
①管理员root;管理员在系统中是唯一的;
②普通用户;普通用户都是从管理员账户创建的,权限是受到限制的。只有在自己的家目录,普通用户才拥有完整的权限;
③程序用户;维护或者维持某个程序的正常运行;这些用户是不能够登陆系统的;创建系统的时候会默认添加一部分,安装某些第三方软件也会添加程序用户。
如何切换用户:
su - dn 从超级管理员切换到普通用户(不要密码)【完成切换】
su - root 从普通用户切换到超级管理员(要密码)【完整切换】
su dn 不完整切换
echo $PATH 查看当前用户的环境变量
$ exit 登出
修改主机名:
①临时修改 hostname +主机名
②永久修改 法一. hostnamectl set-hostname 888
su [su刷新一下即可生效,无需重启]
reboot
法二 vim /etc/hostname
999
:wq!
reboot
id root
用户账号uid是唯一的,而且是有范围的
Centos6以及之前的版本:root uid都是0
普通用户的uid号从500开始
Centos7的用户号从1000开始
Centos6程序用户:1-499
Centos7程序用户:1-999
UID是0的才是管理员,其他要么就是程序用户,要么就是普通用户
/etc/passwd 保存所有用户信息的文件
root:x:0:0:root:/root:/bin/bash
root 用户名
: 分隔符
x 密码占位符(不是密码)【用户密码保存在/etc/shadow里】
0 用户的uid
0 用户的gid号(组账号)
root 用户全名
/root 用户的家目录
/bin/bash 用户登陆的shell信息 (/bin/bash:可以登录系统的账号)
/sbin/nologin 和 /bin/false 用户禁止登陆系统
/bin/bash 就是管理员和普通账号
/sbin/nologin 和 /bin/false 一般来说都是程序用户
/etc/shadow 用户的帐户信息,保存用户的密码和其他信息
root:$6$u3/b/.LajcTU7.13$VkuaSqemZKK2RGRB0472IYMTUkjFn .i0yoNKba8c.EcRzttYQEjo864i1ThCTu/WgU3Pv9ANs]5ewfL/ 3wuSp/ : :0:99999: 7: : :
第一字段:root 用户名
$6$u3/b/.LajcTU7.13$VkuaSqemZKK2RGRB0472IYMTUkjFn .i0yoNKba8c.EcRzttYQEjo864i1ThCTu/WgU3Pv9ANs]5ewfL/ 3wuSp/ 账号密码。以MD5加密的方式的加密的信息
程序用户一般都是* 不能登录
普通用户一般都是!! 密码为空
* 或者 !! 表示账号不能登陆系统,表示用户的密码为空
第三个字段为空:表示上一次修改密码的时间
19599:从1970年1月1号到最后一次修改密码的那天所间隔的天数
第四个字段: 0 密码的最短有效天数。本次修改完密码之后,必须经过该天数之后才能再次修改密码。默认值 0表示不进行限制,可以随时修改密码
第五个字段:99999 密码的最长有效天数。本次修改完之后,经过该天数之后,必须修改密码。默认值99999表示永久有效,永远不用修改
第六个字段 7 密码过期,7天后会禁用此用户
第七字段 (空格) 账户失效之后,在指定时间内作为保留。为空表示账号永久可用
第八字段 (空格) 保留字段。二次开发的时候可以自定义
怎么创建用户:
useradd fmh
useradd 命令创建用户,会自动为用户创建家目录
-u 指定用户的uid,但是前提是不能被其他用户使用
-d 可以指定用户的家目录位置
-e 指定用户的账户的失效时间 YYY-MM-DD
-g 指定用户的基本组,也可以使用gid,但是对应的gid必须存在,否则会报错
-G 指定用户的附加组,也可以使用gid
-M 不会为用户创建家目录
-s 指定用户登陆的shell
cat /etc/shadow
创建用户一定要创建密码
创建密码:passwd fmh
创建密码:passwd
root用户下,可以改所有用户的密码,包括root自己
普通用户只能自己对自己改
-d 清空用户的密码 (一般不用)
-l 锁定用户 (被锁定的用户将无法登录系统)
-S 查看用户的账号状态 (是否被锁定)
-u 解锁用户
改密码:
① passwd 用户名
② echo 123 | passwd --stin 用户名 (123是新密码)
e
修改用户:usermod
usermod -u 修改用户的uid (未使用的uid)
usermod -d 修改用户的家目录
usermod -e 修改用户的失效时间 YYY-MM-DD
usermod -g 修改基本组,也可以使用gid
usermod -G 修改附加组,也可以使用gid
usermod -S 修改用户的登录shell
usermod -L 锁定用户账户
usermod -U 解锁用户账户
面试:锁定用户让用户无法登录系统的两种方法
答:① passwd -l 用户名 锁定密码 passwd -u 解锁
② usermod -L 用户名 锁定用户 usermod -U 解锁
删除用户:userdel
-r 删除用户时,一并删除用户的家目录
用户组(用的少)
① /etc/group 组账号的基本信息
② /etc/gshadow 组账号的密码信息
groupadd 创建组账号(不会创建用户)
gpasswd 添加或删除组成员
gpasswd -a 给组内添加用户,添加到附加组
gpasswd -d 从组内删除用户,删除的也是附加组 (只能一个一个的删)
gpasswd -M 一次性添加多个组员,组员之间以逗号分隔
查看用户信息 /etc/passwd
查看账户的信息 /etc/shadow
创建用户 useradd
passwd
echo 密码 | passwd --stdin 用户名
usermod 更改用户的信息 (主要就是锁定用户 -U解锁)
passwd -l 锁定用户 -u
userdel -r test 删除用户
/etc/group 查看组账号信息
/etc/gshadow
groupadd 创建组 (不能创建相同的用户)
groupdel 删除组 (先删用户,再删组)
用户名和组名同一个,组是不能删的
gpasswd 添加组成员或者删除组成员 (gpasswd -a test1 dn)
权限设置
权限:
linux的权限只有
r 读,查看文件内容
w 写,① 文件内容新增、修改之后能否保存;② 能否在当前目录创建文件或者目录
x ① 文件内容,相应的代码(有无权限来执行文件中的代码);② 切换目录
↓
文件和目录的权限
八进制赋权方式 r=4 w=2 x=1
chmod 设置文件和目录的权限命令
另一种赋权方式 u g 0 a + - = rwx
u 所有者
g 文件所在的组
o 其他的用户
a 所有人,默认就是a
面试:文件的默认权限是666
目录的默认权限是777
umask 022
文件:666-022=644
目录:777-022=755
面试:创建的文件自带哪些权限?
答:除了没有执行权限,其他要看umask。比如umask是033,那执行权限就是644
总结:文件默认不带执行权限,要想文件有执行权限,必须要后天赋权 chmod
目录必须要有执行权限
无论如何,目录都可以cd
设置目录和文件的归属:chown
改变文件的和目录的所有者和所在组
权限:chmod 777 文件或者目录名
7 所有者
7所在组
7 其他用户
chmod -R aa/bb/cc 只会对最后一个目录以及目录当中的文件生效
r=4
w=2
x=1
八进制数
umask:一般系统默认是022
文件默认权限是 666,目录默认文件是777
666-022=644 文件怎么给,都没有执行权限,需要chmod赋权
777-022=755 目录怎么给都有执行权限
chown改变所有者和所在组
设置目录和文件的归属: chown
改变文件和日录的所有者以及所在组。
所有者和所在组都要已创建。
shown dn:dn 123.sh
dn:dn
所有者和所在组,都会变。
chown dn.dn 123.sh
chown dn 123.sh
只改变所有者
chown :dn 123.sh
只改变所在组
chown .dn 123.sh
如何设置用户登录提示语:
在opt目录下创建脚本脚本文件
rm -rf *
ls
vim test.sh(linux系统中只要是脚本文件都要以.sh结尾)
#!/bin/bash(用户登陆的shell信息 )
echo ""
chmod 777 test.sh(脚本文件要执行必须要给权限)
cat /etc/passwd(查看是否有要创建的用户)
useradd ky00
echo 123 | passwd --stdin ky00(只要用户就要创建密码)
cd /home/ky00(进去用户的家目录)
ls -a
vim .bash_profile(替换她的底层文件)
source .bash_profile(读取底层文件中的代码使其立刻生效)
su - ky00
欢迎你