继上篇文章介绍了工作中常用的一些Linux命令后,本篇主要介绍笔者总结的对用户和权限管理的一些命令。相对而言,对于用户的管理命令,对大多数人的工作来说,好像用到的不是很多,创建用户开始办公后,也不会再去增删用户了。权限管理命令需要掌握一下,可能会遇到需要修改某一个文件读写或者执行权限的情况。
用户管理
<1> 查看当前用户:whoami
<2> 查看登陆用户:who
who -q:可查看当前登录用户的数量
<3> 远程连接:ssh 用户名@ip地址
ssh命令可以远程连接到一台电脑,进行远程操作
例如:ssh ubuntu用户名@192.168.12.232
<4> 添加用户账号: useradd
使用格式: useradd [参数] 新建用户账号
参数:
-d 指定用户登录系统时的主目录
-m 自动建立目录(一般用此参数)
-g 指定组名称
如果不带参数如:useradd meng 则创建的用户没有家目录
<5> 设置或修改密码 passwd
在root超级管理员:
passwd 用户名 修改普通用户的密码
在普通用户下:
passwd 修改当前用户密码
<6> 删除用户 userdel -r 用户名
-r 删除用户,同时删除用户的主目录。不带此参数,只是删除用户而已
<7> su 切换用户
Ubuntu默认没有root账户,sudo -s 进入超级管理员权限
其它版本切换到root用户:
su 或者 su root :切换到root用户
su - 或者 su - root :切换到root用户,同时切换目录到/root
切换普通用户
su 普通用户名 :切换到普通用户
su - 普通用户名 :切换到普通用户,同时切换普通用户所在的目录
来个创建用户的栗子
cd /home //进入home路径
sudo -s //进入超级管理员 root
useradd meng -m //创建用户meng
passwd meng //修改(设置)用户meng的密码
exit
su - meng //切换用户
cat /etc/passwd //查看系统当前用户名
passwd //修改当前用户自己的密码
刚创建的用户,没有超级管理员,在meng用户下,不能 sudo -s
会提示:meng 不在 sudoers 文件中。此事将被报告。
用户组管理
进入root: sudo -s 在超级管理员下
<8> 查看有哪些用户组
方法一:cat /etc/group
方法二:groupmod + 三次tab键 (Ubuntu有效,其它版本未尝试)
<9>添加、删除组账号:groupadd、groupdel
groupadd 组账号名
groupdel 组账号名
<10> 查看用户在哪些组
groups 用户名
<11> 查看用户组下有多少用户
比如查看sudo用户组下的用户
cat /etc/group | grep "sudo"
<12>修改用户所在组: usermod
使用方法:
usermod -g 用户组 用户名
usermod -a -G 用户组 用户名
-g 与 -G 的区别:
-g 用来制定这个用户默认的用户组
-G 一般配合“-a” 来完成向其他组添加
例子:usermod -g sudo meng 修改meng用户的默认用户组为sudo组
<13> 为创建的普通用户添加sudo权限
新创建的用户,默认不能sudo,需要进行一下操作
sudo usermod -a -G adm 用户名
sudo usermod -a -G sudo 用户名
权限管理
<14> 修改文件权限: chmod
chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod u/g/o/a +/-/= rwx filename
u/g/o/a 分别代表用户,所属组其它用户,其它用户,所有用户
+/-/= 分别代表添加,删除,设置权限
rwx 分别代表读,写,执行权限
chmod u+x filename 用户添加执行权限
chomd g=w filename 组内用户设置写权限
chmod o-r filename 其它用户删除读权限
chmod u=x,g=x,o=x filename
chmod a=rw filename 所有用户设置读写权限
chmod u=,g=,o= filename
数字法:“rwx” 这些权限也可以用数字来代替
r 读取权限,数字代号为“4”
w 写入权限,数字代号为“2”
x 执行权限,数字代号为“1”
- 不具任何权限,数字代号为“0”
chmod 761 filename
给用户设置读写执行权限,组内其它用户读写权限,其它执行权限
<15> 修改文件所有者 chown
使用方法: chown 用户名 文件或目录名
<16> 修改文件所属组 chgrp
使用方法:chgrp 用户组名 文件或目录名
好了,到此,用了两篇文章,终于把Linux下的常用命令介绍的差不多了,这是想从事linux开发,或者在Linux环境下进行开发的初级入门吧,先掌握了这些,才能让你以后的工作事半功倍!!!