权限课程
用户权限的配置文件
##/etc/sudoers
权限修改:
r(读取权限):数字值为4
w(写入权限):数字值为2
x(执行权限):数字值为1
-接权限 数字值为0
#####ps -ef #查看进程
Chmod + x +r +w
如何查看那些用户已经登陆在Linux系统
W 查看用户登录
[root@wangyalin-hunan-changsha ~]# w
19:54:30 up 3:34, 3 users, load average: 0.00, 0.01, 0.03
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 19:01 53:18 0.02s 0.02s -bash
root pts/0 192.168.47.1 三19 47:57m 0.13s 0.13s -bash
root pts/1 192.168.47.1 19:01 6.00s 0.03s 0.02s w
#######pts --> 远程终端
[root@wangyalin-hunan-changsha ~]# ps -ef| grep pts
root 8266 1083 0 16:20 ? 00:00:00 sshd: root@pts/0
root 12250 12119 0 20:02 pts/1 00:00:00 grep --color=auto pts
#####/dev 终端设备文件
如何知道用户谁登录过文件 ----》 last 查看最近登录过用户# 可以查看最近的登录时间和用户名字
通过log文件/
#passwd 可以更改密码
Root可以直接改其他用户的密码
普通用户不能改root;只能改造自己的密码
#####root 用户密码忘记了
方法: 重启系统,进入单用户模式修改密码
如何禁止用户登录
- 修改密码
- 登录shell 信息修改为 /sbin/nologin
- #隐藏权限
- A 追加权限
- I 不能追加,不能修改,不能移动,不能删除
- ###chattr 设置隐藏权限
- ###lsattr 查看隐藏权限
###chmod###change mode
- Suid 权限:当某个用户执行有suid 的命令的时候,会
- 以这个命令文件的拥有者执行
- ls -al" 命令将显示当前目录下所有文件和子目录的详细信息,包括隐藏文件和子目录,并以长格式显示
-
####sudo命令##让普通用户去替代root用户
为什么要用sudo而不直接root用户去操作
因为root直接登录是不安全的,使用root用户去执行命令,操作的命令可能没有记录;而是用sudo权限给普通用户去执行命令,linux系统会记录下来的
文件会放在 /var/log
root ALL=(ALL) ALL
第一列:表示用户
第二列:表示当前那些环境可以执行那些命令
第三列:代表当前命令的那些选项可以执行
配置sc用户拥有mkdir命令权限
##命令权限要使用绝对路径配置
##没有授权就用不了 chown##只有root用户可以使用/也可以让sudo授权
[sc@wangyalin-hunan-changsha ~]$ chown root sc.txt
chown: 正在更改"sc.txt" 的所有者: 不允许的操作
[sc@wangyalin-hunan-changsha ~]$ sudo chown sc.txt
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
###配置文件修改:
sc ALL=(ALL) NOPASSWD:ALL
###nopasswd -- 使用sudo的时候不需要使用密码
##普通用户更改文件的属组 sudo chown root sc.txt
##没有在文件上授权这里使用不了的:
配置文件##wangyong ALL=/usr/sbin/userdel,/usr/sbin/useradd
对不起,用户 wangyong 无权以 root 的身份在 wangyalin-hunan-changsha 上执行 /bin/chown root wangyong.txt。
###chown 被授权者 授权文件
chown root sc.txt
#脚本执行方式
查看和修改主机名(相当于永久修改)
##修改Vim /etc/hostname
查看是普通和root
修改只能是root
[root@localhost china]# hostnamectl set-hostname wangaylin
[root@localhost china]# su
[root@wangaylin china]#
#环境变量
环境变量是全局变量会影响全部的变量
Set可以查看环境变量和自定义变量
第一提示符:
其中
Root 用户名
localhost 主机名
[ ] 只是一个符号,用来将主机和用户名的当前位置扩起来,起到一个划定范围的作用
@表示分隔符号
# 是超级管理员的提示符 root用户的
$ 是普通用户的提示符
\$ 会进行判断当你是root用户则为#,普通用户则为$
Cd 命令是可以回到家的目录
Useradd +用户名 创建新的用户
Su - 用户名切换
exit 退出用户
补充知识:
- import 导入 export 导出,输出 --》输出这个变量为全局变量(环境变量) export PATH 父进程里的变量是局部变量,在产生子进程的时候,子进程不能使用 这里还有单双引号的区别: 单引号是直接输出引号里的值,而双引号是可以引用地址的
- Env: 查看当前终端的变量
- Set :可以查看所有的变量(环境和自定义)
- 查看命令的位置
- [root@wangyalin test]# which vim
- /usr/bin/vim
- [root@wangyalin test]# whereis vim
- vim: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
- 查找历史命令:
- History 查找最近的1000行命令
- 可以正在/etc/profile 文件里修改 history size
- 默认值为1000
- !123#执行第123行命令
- ! Find 查找最近的命令(离当前最近的命令)
- 上下方向键
- Head Tail