다른 사용자의 폴더 아래에 폴더를 만드는 데 문제가 있습니다 /home/devuser1/pubic_html
. 사용을 자제 sudo
하고 대안을 찾아보려고 합니다 . 이 폴더의 권한은 다음과 같습니다.
drwxr-s--- 2 devuser1 www-data 4096 Apr 28 19:40 public_html
아니면 sudo
접두사를 사용한다고 가정하면 어떤 영향이 있나요? sudo
폴더 생성을 사용하는 것은 나쁜 습관이라는 것을 읽었습니다 . 새 폴더를 만든 후에도 소유권을 관련 사용자로 변경했습니다. 예:
chown -vR devuser1:www-data /home/devuser1/public_html/$vhost
답변1
다음을 사용하여 install
특정 소유자, 그룹 및 모드로 디렉터리를 만들 수 있습니다 .
install -d -o <user> -g <group> -m <mode> <path>
답변2
sudo -u [username] mkdir /home/[username]/public_html/[folder_name]
잘 작동합니다.
내가 아는 한, 동일한 사용자로 로그인하고 public_html
.
당신은 또한 전화할 수 있습니다su -c "mkdir /home/[username]/public_html/[folder_name]" [username]
답변3
이러한 권한이 주어지면 디렉터리 소유자나 수퍼유저만 하위 디렉터리를 만들 수 있습니다.
폴더를 생성하기 위해 추가 권한을 사용하지 않을 수 있는 유일한 방법은 소유권을 자신에게로 변경하고( 사용하여 sudo
) 하위 디렉터리를 생성한 다음 결국 소유권을 소유자에게 반환하는 것입니다. 그러나 이는 나에게 좋은 해결책이 아닌 것 같습니다.
답변4
하나 만들어 보려고 했는데 mkdir -p /srv/postgres/data/mydir
왜냐면
drwxr-xr-x 3 root root 4.0K Apr 7 08:26 srv
주인이 있다root
어느 것도 아니다install -d -o <user> -g <group> -m <mode> <path>
@user2313838
sudo -u postgres mkdir -p /srv/postgres/data/mydir
좋지도 않아@maGz
해결책은 두 명령으로 분할하는 것입니다.
sudo mkdir -p /srv/postgres/data/mydir
sudo chown postgres:postgres /srv/postgres -R