Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter,终端会提示我们输入新的密码并确认,root密码就确定下来了。
/etc/passwd,用来存放用户信息,每行一条用户信息,每条信息包含7个字段,如:root:x:0:0:root:/root:/bin/bash
用户名
密码,x表示加密,加密后的密码存放在/etc/shadow文件中
UID, 用户标识
GID,组标识
用户全名或本地账户
用户的home目录
用户登录时使用的shell
/etc/shadow,用来存放用户密码,每行一条用户信息,每条信息包含9个字段,如:root:*:18375:0:99999:7:::
用户名
SHA512加密后的密码,!!或*表示没有密码,不能登录
密码最后一次修改时间,表示19700101后多少天,可用date -d "1970-01-01 18375 days" "+%Y-%m-%d"转换成日期
距上次修改密码后的最小修改时间间隔,0表示随时可以修改
修改后密码的有效期,默认99999天
密码过期前的警告天数,默认7天
密码过期后的宽限时间,过期后还能登录,过了宽限时间则禁止登录
账号失效时间,同字段3,账号失效后无论密码是否过期都无法使用
保留字段,目前未被使用
/etc/group,存放用户组信息,每行一条用户组信息,每条信息包含以下4个字段,如:root:x:0:
组名
组密码,x表示加密,加密后的密码存放在/etc/gshadow文件中,组密码主要用来指定组管理员,目前多用sudo命令代替
GID,组标识
组中所有用户,如果用户组是该用户的初始组,则该用户不会写入该字段
sudo //su是subsitute user的缩写,表示使用另一用户身份,sudo表示用另一用户身份执行命令,预设身份是root
useradd username //创建新用户,-m 自动创建home目录,-g 指定用户所在组,不指定则建立一个同名组 , -r 建立系统账号, -s 指定用户登入后所使用的shell
passwd username //设置用户密码
userdel username //删除用户,-r自动删除home目录
groupadd groupname //创建新组
groupdel groupname //删除组
id username //查看用户UID和GID
usermod username //修改用户权限,-g 修改用户主组,-G 修改用户附加组(可通过把普通用户加入到sudo附加组中变成管理员账户),-s 修改登录Shell
who //查看当前登录的用户列表
which //查看命令所在位置,绝大多数可执行文件存放在/bin、/sbin、/usr/bin、/usr/sbin文件夹下
chmod用来修改用户的文件权限(文件权限分别是拥有着,同组,其他),有以下两种用法:
修改(添加+、取消-)特定用户(拥有者u、同组用户g、其他用户o、所有用户a)的特定权限(读r、写w、执行x),如下示例:
chmod o-w filename //取消其他用户的写权限
chmod u+wx filename //添加拥有者的写、执行权限
chmod a+rwx filename //添加所有用户的读、写、执行权限
为所有用户同时指定权限,权限由3位数字标识,每位表示u、g、o用户的权限,4、2、1依次表示w、r、x权限,数字可相加表示组合权限,如下示例:
chmod 777 filename //a都拥有rwx权限
chmod 600 filename //u拥有rwx权限,go不具有任何权限
chmod 421 filename //u拥有r权限,g拥有w权限,o拥有x权限
chown用来修改文件的拥有者和组(所有操作都需要root权限)
将文件 file1.txt 的拥有者设为 test,群体的使用者 testgroup :
chown test:testgroup file1.txt
将当前前目录下的所有文件与子目录的拥有者皆设为 test,群体的使用者 testgroup:
chown -R test:testgroup *
把 /home/test 的关联组设置为 512 (关联组ID),不改变所有者:
chown :512 /home/test
chgrp,与chown命令不同,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员
命令名称:chgrp
英文原意:change file group ownership
执行权限:所有用户
功能描述:改变文件或目录的所属组
语法:chgrp [用户组] [文件或目录]
选项:
-v或--verbose 显示指令执行过程。
-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f或--quiet或--silent 不显示错误信息。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-h或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。