文件权限
- 所有者:
u
- 所属组:
g
- 其他用户:
o
增加权限:
chmod u/g/o +r/w/x
,取消权限:-r/w/x
r、w、x的权限值可表示为4、2、1
用户管理
useradd <username>
passwd <username>
,为新添加的用户设置密码或为已有的用户更改密码上述命令只有
root
才有权限执行
为了避免不可逆的破坏操作系统的操作发生,实际应用中通常不用root
身份登录OS。此时如果想执行类似的受限命令,我们需要在命令前加上sudo
:
123456789101112131415 | [root@hadoop ~]# su hadoop[hadoop@hadoop root]$ useradd tombash: /usr/sbin/useradd: 权限不够[hadoop@hadoop root]$ sudo useradd tomWe trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.[sudo] password for hadoop:hadoop 不在 sudoers 文件中。此事将被报告。 |
---|---|
su [username]
,通过用户名切换到指定用户,若未指定用户名则默认切换到root
上述我们切换到普通用户hadoop
并试图通过sudo
再次执行受限命令,却又被提示hadoop
用户不在sudoers
文件中。
这是因为普通用户要想通过sudo
片刻获得执行某些特权命令必须让root
事先在/etc/sudoers
中添加相关的配置,如配置hadoop
可以在任何位置执行任何命令(这是最大的权限范围,也是root
的):
123456789101112131415161718 | [hadoop@hadoop root]$ su 密码:[root@hadoop ~]# vi /etc/sudoers…## Next comes the main part: which users can run what software on## which machines (the sudoers file can be shared between multiple## systems).## Syntax:#### user MACHINE=COMMANDS#### The COMMANDS section may have other options added to it.#### Allow root to run any commands anywhereroot ALL=(ALL) ALLhadoop ALL=(ALL) ALL #配置hadoop可以在哪些地方执行哪些特权命令… |
---|---|
/etc/sudoers
默认是只读的,可通过:wq!
强制保存。
于是hadoop
就可以执行特权命令了:
1234567891011 | [root@hadoop testvi]# su hadoop[hadoop@hadoop testvi]$ sudo useradd tom[sudo] password for hadoop:[hadoop@hadoop testvi]$ sudo passwd tom更改用户 tom 的密码 。新的 密码:无效的密码: WAY 过短无效的密码: 过于简单重新输入新的 密码:passwd: 所有的身份验证令牌已经成功更新。 |
---|---|
————————————————