web-dev-qa-db-ja.com

Linux(ubuntu)パーミッションの混乱

次のCMDをご覧ください

[thunder@ip-xxx-xx-xx-xx /]$ id
uid=504(thunder) gid=504(thunder) groups=504(thunder)

[thunder@ip-xxx-xx-xx-xx /]$ grep developers /etc/group
developers:x:505:501,502,503,504

[thunder@ip-xxx-xx-xx-xx /]$ groups
thunder

私の質問は、開発者がgroupsコマンドに表示されない理由です

以下を見ることができます

[thunder@ip-xxx-xx-xx-xx opt]$ ls -l
total 12
drwxr-xr-x 5 root root       4096 Mar  7 06:46 aws
-rwxr-xr-x 1 root root         63 Mar 23 22:37 permissions.sh
drwxrwxr-x 7 root developers 4096 Mar 26 19:30 web

「web」フォルダーには開発者がグループとして含まれていますが、「web」フォルダー内でこれを実行することはできません

[thunder@ip-xxx-xx-xx-xx opt]$ cd web
[thunder@ip-xxx-xx-xx-xx web]$ touch a
touch: cannot touch ‘a’: Permission denied

注:logoutおよびexitコマンドを使用してログアウトしてからログインし直しましたが、それでも成功しませんでした。

1
ThunderRoid

man 5 groupは、各行の4番目のセクションが次のとおりであることを示しています(強調を追加)。

このグループのメンバーであるsernamesのリスト。コンマで区切られています。

このリストに数値のユーザーIDがあると機能しないようです。


次のようなものを使用する必要があると思います

Sudo gpasswd -a $USER developers

または

Sudo usermod $USER -aG developers

実際にdevelopersグループに自分を追加します。

その後、ログアウトして再ログインしてから使用します

id -Gn

グループのリストを取得します。

1
Ravexina