本文主要介绍Linux系统下用户、用户组的基本操作,以及如何更改文件/目录的所属组、所属用户、文件权限。
组操作
- 创建组
groupadd group_name //创建一个组
groupadd -g 800 group_name //创建一个组,并制定组ID为800
- 删除组
groupdel group_name //删除组
- 修改组
groupmod -n group_name_new group_name_old //修改组名
groupmod -g new_id group_name //修改组ID
用户操作
- 创建用户
useradd user_name //增加用户
-u //指定用户ID
-d //指定用户宿主目录
-g //指定用户所属主组
-G //指定用户所属群组
-m //自动创建用户宿主目录(默认)
-M //不自动建立用户的登入目录
-n //取消建立以用户名称为名的群组
-s //指定用户登入后所使用的shell
- 修改用户属性
usermod -u user_name //修改用户ID
usermod -l new_name old_name //修改用户名称
usermod -d /path user_name //修改用户宿主目录
usermod -g group_name user_name //修改用户所属群组
usermod -L user_name //锁定用户,使密码无效
usermod -U user_name //解锁用户
usermod -s user_name //修改用户登入使用的shell
- 删除用户
userdel user_name //删除用户
userdel -r user_name //删除用户及其文件
userdel -f user_name //强制删除用户
文件操作
- 修改文件权限
chmod 755 file_name //修改文件权限为775,读写执行权限,读执行权限,读执行权限
chmod +x file_name //为所有成员添加对文件的执行权限
chmod u+x,g+r,o+x file_name //为拥有者添加执行权限,为所属组成员添加读权限,为其他用户添加执行权限
chmod a+x file_name //为所有成员添加对文件的执行权限
chmod u=rwx,g=rx,o=rx file_name //修改文件权限。文件所有者:读写执行权限;文件所属组成员:读写权限;其他用户:读写权限
chmod -R 775 /path //将目录path及其目录中的所有文件、目录权限改为775
关于文件权限介绍:
利用 llllll 指令可以查看完整的文件属性,其中第一个字段为文件类型与权限信息。
-rw-r--r--. 1 root root 27175 Jul 21 07:15 install.log
drwxr-xr-x 2 root root 4096 Jul 22 13:50 Music
drwxr-xr-x //文件类型与权限信息
第2-4位“rwx”为文件所有者对文件的操作权限,5-7位“r_x”为文件所属组成员对文件的操作权限,8-10位“r_x”为其他成员对文件的操作权限。
其中 rrr 代表读取权限,可用数字4表示; www 代表写入权限,可用数自2表示; xxx 代表执行权限,可用数字1表示; _ 代表没有权限,可用数字0表示。
权限信息还可以用数值表示,比如:可读写权限(4+2=6),可读可执行权限(4+1=5),可写可执行权限(2+1=3)。
- 修改文件所属组
chgrp grp_name_new file_name //更改文件file_name所属组为grp_name_new
- 修改文件拥有者及所属组
chown user01:group01 file_name //将文件file_name的所有者改为user01,所属组改为group01
chown -R user01:group01 /path //将目录path及其目录下的所有文件/目录的所有者改为user01,所属组改为group01
chown user01 file_name //将文件file_name的所有者改为user01